Time-varying graph based self-organizing network routing and time slot online planning method and system

By adopting a time-varying graph-based online routing and time slot joint planning method for self-organizing networks, the problems of topology changes and low resource utilization caused by node dynamism in self-organizing networks are solved, and service QoS guarantees and computational latency reduction are achieved.

CN120166438BActive Publication Date: 2025-11-11XIDIAN UNIV
View PDF 2 Cites 0 Cited by

Patent Information

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

AI Technical Summary

Technical Problem

Existing technologies struggle to adapt to the unpredictable dynamics of nodes in self-organizing networks, leading to frequent changes in network topology, low resource utilization, high computational latency, and difficulty in guaranteeing service QoS.

Method used

A time-varying graph-based online routing and time slot joint planning method for self-organizing networks is adopted. By constructing a clustered network snapshot graph model, a time slot graph model, and a service time slot graph model, and combining it with the Dijkstra algorithm, the shortest transmission path is calculated to meet service QoS requirements and optimize resource utilization.

Benefits of technology

It enables online scheduling of service resources in large-scale self-organizing networks, ensuring service QoS, improving network resource utilization, and reducing computing latency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120166438B_ABST
    Figure CN120166438B_ABST
Patent Text Reader

Abstract

This invention discloses a method and system for online routing and time slot planning in ad hoc networks based on time-varying graphs, primarily addressing the difficulty of jointly solving routing planning and resource allocation online in existing technologies. The implementation includes: constructing a clustered network snapshot graph model based on the physical nodes in the ad hoc network; constructing a clustered network time slot graph model based on the clustered network snapshot graph model and the number of time slots; adding service release nodes, virtual nodes, and corresponding links to the clustered network time slot graph model according to service requirements, thus constructing a clustered network service time slot graph model; and using Dijkstra's algorithm with added constraints to perform joint routing and time slot planning for services in the clustered network service time slot graph model, providing service transmission paths. This invention can ensure service quality, improve network resource utilization, reduce computational latency, effectively support online planning of service routing and time slots, and can be used in large-scale ad hoc networks after clustering.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention belongs to the field of communication technology, and specifically relates to a method and system for online routing and time slot planning in self-organizing networks, which can be used in large-scale self-organizing networks after clustering. Background Technology

[0002] Self-organizing networks (VORs), due to their ability to operate without fixed infrastructure, are widely used in emergency rescue, disaster recovery, and military communications. In recent years, with the rapid development of communication technology, they also show great promise in emerging fields such as the Internet of Things (IoT), smart cities, and the low-altitude economy. In VORs, nodes are interconnected wirelessly. Routers are responsible for discovering and maintaining the network topology, calculating and securing communication paths between nodes, and providing support for reliable communication. In VORs, the mobility of nodes leads to frequent changes in the network topology, and resources are more limited in wireless networks, which places higher demands on routing algorithms.

[0003] The paper "Research on Data Link Network Planning Algorithm Based on Time-Varying Graphs" proposes a time-deterministic routing algorithm based on time-varying graphs. It first represents nodes within the same cluster as a virtual cluster node, then models the network topology as a time-varying graph model, and finally uses a depth-first search method to find the shortest path between the source and destination nodes. However, this algorithm neglects the communication requirements between nodes within the cluster in its modeling representation. If the source and destination nodes belong to the same cluster, it is difficult to apply. Furthermore, the depth-first search algorithm calculates all paths between the source and destination nodes, rather than directly finding the shortest path.

[0004] Patent document with application number "CN202310052484.3" discloses a "Joint Planning Method for Satellite Network Topology and Routing Based on Time Spread Graph". This method, based on constraints such as service size, link bandwidth, and link switching time, reversely searches for the longest sub-path within the shortest transmission path and performs topology planning by reducing the single transmission size of services on each link. However, this algorithm struggles to adapt to the unpredictable dynamics of self-organizing network nodes, and its computational latency is strongly correlated with node size, resulting in decreased performance as network size increases. Summary of the Invention

[0005] The purpose of this invention is to address the shortcomings of the prior art by providing a method and system for joint online planning of service routing and time slots in ad hoc networks based on time-varying graphs, so as to support online scheduling of service resources in large-scale ad hoc networks, ensure service QoS, and improve network resource utilization.

[0006] The technical approach of this invention is as follows: by using time-varying graph tools, the clustered self-organizing network is compressed and time-slotted, transforming the routing and time-slot joint planning problem into a path search problem in the graph; and by using graph theory algorithms, fast and accurate path search is achieved, supporting online matching of services and resources.

[0007] Based on the above ideas, the technical solution of the present invention includes the following:

[0008] 1. A time-varying graph-based online routing and time-slot joint planning method for self-organizing networks, characterized in that it includes:

[0009] 1) Construct a clustered network snapshot graph model G based on the physical nodes contained in the self-organizing network. (0) :

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

[0011] Where, N (0) E represents the set of nodes after compressed representation of each node in a self-organizing network. (0) For N (0) W is the set of edges between all nodes in the set. (0) For E (0) The set of weight values ​​on each edge in the middle;

[0012] 2) Based on the clustered network snapshot graph model G (0) Given the number of time slots X in a frame, construct a clustered network time slot graph model G:

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

[0014] Where 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 the snapshot graph models, and W is the set of weight values ​​on each edge in E.

[0015] 3) Based on the requirements of service f, add a service release node F to the clustered network time slot graph model. f Virtual node D and its corresponding links are used to construct a clustered network service time slot diagram model G. f :

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

[0017] Where, N f =N∪F N N is the set of all nodes in the clustered network time slot graph model, FN ={F f Let D be the set of newly added nodes, and E be the set of nodes added. f For N f W is the set of edges between all nodes in the set. f Represents set E f The set of weights for each edge in the middle;

[0018] 4) Add constraints to Dijkstra's routing algorithm to calculate the clustered network service time slot graph model G. f Business release node F f The shortest transmission path P to the virtual sink node D.

[0019] Furthermore, a clustered network snapshot graph model G is constructed based on the physical nodes contained in the self-organizing network. (0) Its implementation includes the following:

[0020] 1a) The nodes of the self-organizing network are divided into C clusters using an arbitrary clustering algorithm, and the cluster head node V is retained in each cluster. u And all ordinary member nodes are represented by a single virtual cluster node H. u Characterization;

[0021] 1b) For each cluster u, at the virtual cluster node V u With cluster head node H u Add an edge between them and calculate the weight of the edge [p]. Vu,Hu ,a Vu,Hu ];

[0022] 1c) For any two cluster heads H u and H v If within communication range, then in H u and H v Add an edge between them and calculate the weight of the edge [p]. Hu,Hv ,a Hu,Hv ].

[0023] Furthermore, constraints are added to the Dijkstra routing algorithm to calculate the clustered network service time slot graph model G. f Business release node F f The shortest transmission path P to the virtual sink node D is implemented as follows:

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

[0025] 4b) Label the node that was last added to the permanent set as node. If the node is an auxiliary sink node D, proceed to step 4f); otherwise, proceed to step 4c.

[0026] 4c) For adjacent nodes connected to node node, first determine the neighboring node F. f The path from node to adjacent node is checked to see if the transmission delay in time slot m is less than the time slot length. If the delay is less than the time slot length, then proceed to step 4d).

[0027] 4d) Calculate the value from node F f The distance w from node to its neighboring node tem If w tem The distance from the adjacent node to node F recorded in the distance list is less than f If the distance is known, then update the distance list B and the path list C;

[0028] 4e) Select distance node F from distance list B f Find the nearest node, add it to the permanent set A, remove it from the distance list B, and return to step (4b).

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

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

[0031] The clustered network snapshot graph model construction module is used to compress and represent the nodes of the self-organizing network based on the information of each node of the self-organizing network input by the user and the clustering results of the self-organizing network, so as to obtain the clustered network snapshot graph model.

[0032] The clustered network slot graph model construction module is used to build a clustered network slot graph model based on the user-inputted clustered network snapshot graph model and the number of slots in the frame.

[0033] The clustered network service slot diagram model construction module is used to add service release nodes F to the clustered network slot diagram model based on the user-input clustered network slot diagram model, the clustering results of the ad hoc network, and the QoS requirements of service f. f Virtual node D and its corresponding links constitute a clustered network service time slot diagram model;

[0034] The end-to-end shortest path calculation module is used to calculate and output the shortest transmission path P required by the service based on the clustered network service slot diagram model input by the user.

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

[0036] 1. Ensured service QoS.

[0037] This invention is service-oriented because it constructs a clustered network service time slot graph model G. f Through graph algorithms in graph model Gf When calculating the path, the service transmission capacity value on each edge is assigned according to the QoS requirements of the service, so the calculated transmission path meets the service requirements. At the same time, since the service flow can be transmitted on this path, the timing of each node receiving and forwarding the service flow can be precisely controlled, so that the end-to-end latency of the service flow is controlled within the maximum tolerable latency interval of the service, further ensuring the QoS requirements of the service.

[0038] 2. It improved the utilization rate of network resources.

[0039] This invention represents the network topology using time slots, dividing the network into equal intervals based on the number of time slots per frame. When allocating resources for services, it comprehensively considers the QoS requirements of the services and the status of each time slot in the network, accurately matching service resources to different nodes in different time slots on demand. This enables precise matching of services and resources. Compared with non-time slot scheduling or independent scheduling of routes and resources, this invention can effectively reduce resource conflicts and network congestion, and improve the utilization rate of network resources.

[0040] 3. Reduced computation latency and supported online planning of business resources.

[0041] This invention transforms the traditional algebraic programming problem into a path search problem in graph theory using a time-varying graph tool. The link information of interest to the business is represented as additive weights and labeled on the links. The Dijkstra algorithm with added constraints is used to search for the path with the minimum path weight. Compared with the high-complexity algebraic solution method, the algorithm's complexity is only O((n+m)logn), which can effectively reduce computation latency and support online real-time scheduling of the business. Attached Figure Description

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

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

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

[0045] Figure 4 This is a diagram of the clustering network time slot diagram model in Embodiment 1 of the present invention;

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

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

[0048] Figure 7 This is a block diagram of the self-organizing network routing and time slot joint online planning system according to Embodiment 2 of the present invention. Detailed Implementation

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

[0050] like Figure 1 As shown, the implementation scenario of this invention includes 14 drones distributed in a three-dimensional space working collaboratively. The drone nodes form a self-organizing network, and one transmission frame of this network can be divided into 10 subframes of 1ms each. The network is divided into four clusters using a geographic grid-based clustering method. Each cluster has one cluster head node and multiple member nodes. Nodes belonging to the same cluster can communicate via broadcast in a one-hop manner, while nodes belonging to different clusters can only communicate via relay forwarding through the cluster head node. Drone node g needs to transmit the collected information to drone node e as quickly as possible within three time slots at the beginning of each transmission frame, i.e., time slot 1.

[0051] Example 1: Online planning method for routing and time slots in self-organizing networks.

[0052] Reference Figure 2 The implementation steps of this example include the following:

[0053] Step 1: Construct a clustered network snapshot graph model based on the clustered self-organizing network node information.

[0054] This step is mainly aimed at the following: Figure 1 The self-organizing network after clustering shown is constructed by using a compressed representation method to represent each node in the cluster as a "virtual cluster node + cluster head node", as shown in the attached figure. Figure 3 The clustered network snapshot diagram model is shown.

[0055] 1.1) The clustered self-organizing network is compressed and represented in units of clusters, retaining the cluster head node and representing the remaining member nodes as a single virtual cluster node:

[0056] 1.1.1) According to Figure 1 The clustered UAV self-organizing network shown has the following distribution: the first cluster c1 contains one cluster head node H1 and three ordinary member nodes f, g, and h. The cluster head node H1 is retained, and the member nodes f, g, and h are uniformly represented as virtual cluster node V1.

[0057] 1.1.2) According to Figure 1The distribution of the second cluster c2 in the clustered UAV self-organizing network shown is as follows: the cluster head node H2 and the two ordinary member nodes i and j are included. 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 The distribution of the third cluster c3 in the UAV self-organizing network shown is as follows: the cluster head node H3 and the three ordinary member nodes d and c are included. The cluster head node H3 is retained, and the member nodes d, c and e are uniformly represented as virtual cluster node V3.

[0059] 1.1.4) According to Figure 1 The distribution of the fourth cluster c4 in the UAV self-organizing network shown is as follows: the cluster head node H4 and two ordinary member nodes a and b are included. 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 weights to the edge:

[0061] In this step, for any edge (i,j) between node i and node j, the edge weight is calculated using a tuple W. i,j =[p i,j ,a i,j Let ] represent, where p i,j This represents the capability value for using edge (i,j) for service transmission, a i,j This indicates whether the edge can be used. In this embodiment, it is assumed that when the weight value a on edge (i,j) is... i,j When the value of a is 0, it means that edge (i,j) is available; if a i,j A value of 1 indicates that edge (i,j) is unavailable, and 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, h to communicate with the cluster head node H1 is 0.5ms. Denote the weight of this edge (V1,H1) as [0.5,0], i.e., p V1,H1 =0.5 indicates that the latency required to transmit the service from the first virtual cluster node V1 to the first cluster head node H1 using edge (V1,H1) is 0.5ms;

[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. The weight of this edge (V2, H2) is denoted as [0.4, 0], i.e. This indicates that the latency required to transmit the service from the second virtual cluster node V2 to the second cluster head node H2 using edge (V2, H2) is 0.4ms.

[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 delay required for nodes d, c, and e to communicate with the third cluster head node H3 is 0.6 ms. The weight of this edge (V3, H3) is denoted as [0.6, 0], i.e. This indicates that the latency required to transmit the service from the third virtual cluster node V3 to the third cluster head node H3 using edge (V3, H3) is 0.5ms.

[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 delay required for nodes a, b to communicate with the fourth cluster head node H4 is 0.4ms. Denote the weight of this edge (V4, H4) as [0.4, 0], i.e., p V4,H4 =0.4 indicates that the latency required to transmit the service from the fourth virtual cluster node V4 to the fourth cluster head node H4 using edge (V4,H4) is 0.4ms.

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

[0067] Assume that in the network at this time, 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, and 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. The communication delay between the first cluster head node H1 and the second cluster head node H2 is 0.5ms, the communication delay between the first cluster head node H1 and the fourth cluster head node H4 is 0.4ms, the communication delay between the third cluster head node H3 and the second cluster head node H2 is 0.3ms, and the communication delay between the third cluster head node H3 and the fourth cluster head node H4 is 0.5ms. The 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 second 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 denote the weight of the edge as [0.5, 0]. This completes the process based on the attached... Figure 1 The constructed clustered network snapshot graph model, such as Figure 3 As shown.

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

[0073] This example replicates 10 clustered network snapshot graph models based on a frame having 10 subframes. By adding storage edges between adjacent snapshot graph models, a clustered network slot graph model is constructed. The implementation includes the following:

[0074] 2.1) Duplicate the clustered network snapshot model according to the number of subframes in the frame:

[0075] Based on the 5G NR settings, the self-organizing network in this embodiment divides a frame into 10 subframes with a duration of 1ms, and uses the clustered network snapshot graph model G. (0) Copy 10 times, and denote each snapshot model as G. (1) G (2) ... G (10) ;

[0076] 2.2) Based on the clustered network snapshot graph model number, re-label the node numbers within 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 are relabeled as cluster head nodes. and 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 are relabeled as cluster head nodes. and virtual cluster node V1 (2) ,

[0079] Similarly, for the clustered network snapshot graph model G... (1) To G (10) The node numbers of each cluster head node and virtual cluster node within the cluster are relabeled.

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

[0081] 2.3.1) In the clustered network snapshot graph G (1) Clustered network snapshot diagram G (2) Add cluster head nodes sequentially. Pointing to the cluster head node storage edge Cluster head node Pointing to the cluster head node storage edge Cluster head node Pointing to the cluster head node storage edge Cluster head node Pointing to the cluster head node storage edge These four sides;

[0082] 2.3.2) In the clustered network snapshot diagram G (2) Clustered network snapshot diagram G (3) Add cluster head nodes sequentially. Pointing to the cluster head node storage edge Cluster head node Pointing to the cluster head node storage edge Cluster head node Pointing to the cluster head node storage edge Cluster head node Pointing to the cluster head node storage edge These four sides;

[0083] And so on, sequentially taking snapshots of the adjacent cluster network G. (m) With G (m+1) Add G between the same cluster head nodes (m) Pointing to G (m+1) The storage edge. Thus, the process is complete according to... Figure 3 Constructing a clustered network time-slot graph model, such as Figure 4 As shown.

[0084] Step 3: Modify the clustered network time slot diagram model according to business requirements and construct the clustered network service time slot diagram model.

[0085] The clustered network time slot graph model only depicts the network state of each time slot and does not consider the characterization of service requirements. Therefore, this step adds service release nodes, service aggregation nodes, and corresponding edges to the clustered network time slot graph model based on the service arrival time slot and the maximum tolerable delay interval. This constructs a clustered network service time slot graph model for services, providing support for the joint allocation of routes and time slots for services. Its implementation includes the following:

[0086] 3.1) Based on the network clustering results, the services are reconstructed and characterized:

[0087] Since UAV node g needs to transmit the collected information to UAV node e within 3 time slots at the beginning of each transmission frame when 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 business flow is re-represented as f1={g,e,V1,V3,1,3}.

[0089] 3.2) Add a service release node F to the clustered network time slot graph model. f And business virtual hub node D;

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

[0091] Add node F released by the business f Pointing to cluster head node V1 (1) Business release edge (F) f V1 (1) );

[0092] Add node F released by the business f Pointing to cluster head node V1 (2) Business release edge (F) f V1 (2) );

[0093] Add node F released by the business f Pointing to cluster head node V1 (3) Business release edge (F) f V1 (3) );

[0094] 3.4) Calculate the edge weights of each service release edge. in Indicates the use of edge (F) f Vs (m) The latency value of the transmission service. Indicates whether an edge is available; in this example, it is assumed that when... Time represents edge (F) f V s (m) Available. Time represents edge (F) f V s (m) Unavailable;

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

[0096] 3.4.1) For the first business release edge (F) f V1 (1) Weights Since the service arrives in time slot 1, node V1 (1) Since it belongs to the first time slot, the latency value for transmitting services using this edge is... and use This indicates that the edge is available, therefore edge (F) is used. f V1 (1) The weight of ) is denoted as [0,0];

[0097] 3.4.2) For the second business release edge (F) f V1 (2) Weights Since the service arrives in time slot 1, node V1 (2) It belongs to the second time slot, therefore the latency value of transmitting services using this side is... and use This indicates that the edge is available, therefore edge (F) is used. f V1 (2) The weight of ) is denoted as [1,0];

[0098] 3.4.3) Regarding the third business release edge (F) f V1 (3) Weights Since the service arrives in time slot 1, node V1 (3) It belongs to the third time slot, therefore the latency value of transmitting services using this side is... and use This indicates that the edge is available, therefore edge (F) is used. f V1 (3) The weight of ) is denoted as [3,0];

[0099] 3.5) Add a service aggregation edge to the time slot graph model of the clustered network:

[0100] Added by node V3(1) Business aggregation edge pointing to node D (V3) (1) ,D);

[0101] Added by node V3 (2) Business aggregation edge pointing to node D (V3) (2) ,D);

[0102] Added by node V3 (3) Business aggregation edge pointing to node D (V3) (3) ,D);

[0103] 3.6) Aggregate the first business edge (V3) (1) D), the second business convergence edge (V3) (2) D) and the third business convergence edge (V3) (3) D) The weights on these three service convergence edges are all marked as [0,0], indicating that there is no transmission delay when using this edge to transmit services, and the edge can be used;

[0104] Thus, the work according to the appendix is ​​now complete. Figure 4 The clustered network time slot diagram model and service f1 shown are used to construct a clustered network service time slot diagram model, as follows: Figure 5 As shown.

[0105] Step 4: Add conditions to Dijkstra's algorithm to improve it.

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

[0107] This example uses time-slotted representation of the network topology and constructs a clustered network service time-slot graph model based on service QoS requirements. This leads to the shortest path involving cross-time-slot transmission; that is, after the source node sends a service in the current time slot, the destination node may not receive the service for several time slots. Therefore, cross-time-slot transmission constraints need to be added to the traditional Dijkstra's algorithm to ensure that the transmission delay of the desired path within each time slot is no greater than the length of the current time slot. The implementation includes the following:

[0108] Before determining whether the distance list needs to be updated for the adjacent node node' connected to node node, first determine whether the source node F released from the business needs to be updated. fThe path from node to adjacent node' is used to calculate the transmission delay in time slot m where node node is located, and the magnitude of this delay is compared with the size of the current time slot m.

[0109] If the delay value is greater than the current time slot m, then skip the adjacent node node′ and do not check 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 necessary to determine 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 Dijkstra's algorithm with added constraints, in Figure 5 The clustered network service slot diagram model shown calculates the transmission paths required for the service.

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

[0114] Reference Figure 6 The specific implementation of this step includes the following:

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

[0116] Create a permanent set A:

[0117] Create a distance list B, and initially set the distance from each node to the service release node F. f The distance is infinite, as shown in Table 1:

[0118] Table 1 Distance List B

[0119]

[0120] Create a path list C, initially setting the previous hop information of each node to empty, as shown in Table 2:

[0121] Table 2 Path List C

[0122]

[0123] 5.2) Release the service node F f Adding to the permanent set A results in set A1: A1 = {F}f};

[0124] 5.3) Release node F using business functions f For the index, search for its neighboring nodes and update the information of the corresponding neighboring nodes in the distance list and path list:

[0125] 5.3a) Service release node F f The first adjacent node is the virtual cluster node V1 (1) Using edge (F) f V1 (1) The value of ) =0 and The value is 0, therefore the virtual cluster node V1 (1) To business release node F f The distance value is This value is less than the virtual cluster node V1 recorded in distance list B. (1) To business release node F f The distance is updated in the distance list B for virtual cluster node V1. (1) The distance values ​​are used to obtain distance list B1, and the updated results are shown in Table 3:

[0126] Table 3 Distance List B1

[0127]

[0128] Update virtual cluster node V1 in path list C (1) The path list C1 is obtained from the information of the previous hop node, and the results are shown in Table 4:

[0129] Table 4 Path List C1

[0130]

[0131] 5.3b) Service Release Node F f The second adjacent node is the virtual cluster node V1. (2) Using edge (F) f V1 (2) The value of ) =1 and The value is 0, therefore the virtual cluster node V1 (2) To business release node F f The distance value is This value is less than the distance to virtual cluster node V1 recorded in list B1. (2) To business release node F f The distance is updated in the distance list B1 for virtual cluster node V1. (2) The distance values ​​are used to obtain distance list B2, and the updated results are shown in Table 5:

[0132] Table 5 Distance List B2

[0133]

[0134] Update virtual cluster node V1 in path list C1 (2) The path list C2 is obtained from the information of the previous hop node, and the results are shown in Table 6:

[0135] Table 6 Path List C2

[0136]

[0137] 5.3c) Service Release Node F f The third adjacent node is virtual cluster V1 (3) Using edge (F) f V1 (3) The value of ) 2 and The value is 0, therefore the virtual cluster node V1 (3) To business release node F f The distance value is This value is less than the distance to virtual cluster node V1 recorded in list B2. (3) To business release node F f The distance is updated in the distance list B2 for virtual cluster node V1. (3) The distance values ​​are used to obtain distance list B3, and the updated results are shown in Table 7:

[0138] Table 7 Distance List B3

[0139]

[0140] Update virtual cluster node V1 in path list C2 (3) The path list C3 is obtained from the information of the previous hop node, and the results are shown in Table 8:

[0141] Table 8 Path List C3

[0142]

[0143] 5.4) At this time, the distance from the service release node F in list B3 is... f The nearest node is virtual cluster node V1. (1) Virtual cluster node V1 (1) Adding to permanent set A1 results in permanent set A2: A2 = {F} f V1 (1)}, and remove virtual cluster node V1 from distance list B3. (1) The distance list B4 is obtained, as shown in Table 9;

[0144] Table 9 Distance List B4

[0145]

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

[0147] 5.5a) Virtual Cluster Node V1 (1) The first adjacent node is the cluster head node. Use edges The value of It is 0.5 and The value is 0, therefore the cluster head node To business release node F f The distance value is =0.5, which is less than the distance to the cluster head node recorded in list B4. To business release node F f The distance is calculated, therefore the cluster head node in distance list B4 is updated. The distance values ​​are used to obtain distance list B5. The updated results are shown in Table 10:

[0148] Table 10 Distance List B5

[0149]

[0150] Update cluster head node H1 in path list C3 (1) The path list C4 is obtained from the information of the previous hop node, and the results are shown in Table 11:

[0151] Table 11 Path List C4

[0152]

[0153] 5.6) At this time, the distance from the service release node F in list B5 is... f The nearest node is the cluster head node. cluster head node Adding to permanent set A2 results in permanent set A3: Remove the cluster head node from distance list B5. The distance list B6 is obtained, as shown in Table 12;

[0154] Table 12 Distance List B6

[0155]

[0156] 5.7) Using cluster head nodes For the index, search for its neighboring nodes and update the information of the corresponding neighboring nodes in the distance list and path list:

[0157] 5.7a) Cluster Head Node The first adjacent node is the cluster head. Use edges The value of It is 0.5 and The value is 0, therefore the cluster head node To business release node F f The distance value is This value is less than the distance to the cluster head node recorded in list B. To business release node F f The distance is calculated, therefore the cluster head node in distance list B6 is updated. The distance value is obtained from distance list B7, and the updated results are shown in Table 13:

[0158] Table 13 Distance List B7

[0159]

[0160] Update the cluster head node in path list C4 The path list C5 is obtained from the information of the previous hop node, and the results are shown in Table 14:

[0161] Table 14 Path List C5

[0162]

[0163] 5.7b) Cluster Head Node The second adjacent node is the cluster head node. Use edges The value of It is 0.4 and The value is 0, therefore the cluster head node To business release node F f The distance value is =0.9, this value is less than the distance to the cluster head node recorded in list B. To business release node F f The distance is calculated, therefore the cluster head node in distance list B7 is updated. The distance values ​​are used to obtain distance list B8, and the updated results are shown in Table 15:

[0164] Table 15 Distance List B8

[0165]

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

[0167] Table 16 Path List C6

[0168]

[0169] 5.7c) Cluster head node The third adjacent node is the cluster head node. From the cluster head node To the cluster head node A time slot has been crossed, therefore the cluster head node To business release node F f The distance value is the length of time slot 1, which is less than the cluster head node recorded in distance list B8. To business release node F f The distance is calculated, therefore the cluster head node in distance list B8 is updated. The distance values ​​are used to obtain distance list B9, and the updated results are shown in Table 17:

[0170] Table 17 Distance List B9

[0171]

[0172] Update the cluster head node in path list C6 The path list C7 is obtained from the information of the previous hop node, and the results are shown in Table 18:

[0173] Table 18 Path List C7

[0174]

[0175] 5.8) At this time, the distance from the service release node F in list B9 is... f The nearest node is the cluster head node. cluster head node Adding to permanent set A3 results in permanent set A4: Remove the cluster head node from distance list B9. Get the distance list B 10 As shown in Table 19:

[0176] Table 19 Distance List B 10

[0177]

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

[0179] 5.9a) Cluster Head Node The first adjacent node is the cluster head node. Use edges The value of It is 0.5 and The value is 0, therefore the cluster head node To business release node F f The distance value is This value is greater than the length of time slot 1, therefore for the cluster head node No action will be taken.

[0180] 5.9b) Cluster Head Node The second adjacent node is the cluster head node. From the cluster head node To the cluster head node A time slot has been crossed, therefore the cluster head node To business release node F f The distance value is the length of time slot 1, which is less than the distance in distance list B. 10 Cluster head node recorded in To business release node F f The distance is calculated, therefore the distance list B is updated. 10 Middle cluster head node The distance value is used to obtain the distance list B. 11 The updated results are shown in Table 20:

[0181] Table 20 Distance List B 11

[0182]

[0183] Update the cluster head node in path list C7 The path list C8 is obtained from the information of the previous hop node, and the results are shown in Table 21:

[0184] Table 21 Path List C8

[0185]

[0186] 5.10) At this point, the distance from list B is... 11 Mid-range service release node F f The nearest node is virtual cluster node V1. (2) Virtual cluster node V1 (2) Adding to permanent set A4 results in permanent set A5: and from distance list B 11 Delete virtual cluster node V1 (2) Get the distance list B 12 As shown in Table 22:

[0187] Table 22 Distance List B 12

[0188]

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

[0190] 5.11a) Virtual cluster node V1 (2) The first adjacent node is the cluster head node. Use edges The value of It is 0.5 and The value is 0, therefore the cluster head node To business release node F f The distance value is This value is greater than the distance list B. 12 The cluster head node recorded at this time To business release node F f The distance, therefore not for distance list B 12 Update the path list C8.

[0191] 5.12) At this point, the distance from list B is... 12 Mid-range service release node F f The nearest node is the cluster head node. cluster head node Adding to permanent set A5 results in permanent set A6: and from distance list B 12 Delete Get the distance list B 13 As shown in Table 23:

[0192] Table 23 Distance List B 13

[0193]

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

[0195] 5.13a) Cluster Head Node The first adjacent node is the cluster head node. Use edges The value of It is 0.5 and The value is 0, therefore the cluster head node To business release node F f The distance value is This value is less than the distance list B. 13 Cluster head node recorded in To business release node F f The distance is such that the path propagates for 0.5 times in time slot 2, which is less than the length of time slot 2. Therefore, the distance list B is updated. 13 Middle cluster head node The distance value is used to obtain the distance list B. 14 The updated results are shown in Table 24:

[0196] Table 24 Distance List B 14

[0197]

[0198] Update the cluster head node in path list C8 The path list C9 is obtained from the information of the previous hop node, and the results are shown in Table 25:

[0199] Table 25 Path List C9

[0200]

[0201] 5.13b) Cluster Head Node The second adjacent node is the cluster head node. Use edges The value of It is 0.4 and The value is 0, therefore the cluster head node To business release node F f The distance value is This value is greater than the distance list B. 14 Cluster head node recorded in To business release node F f The distance, therefore for the cluster head node No action will be taken.

[0202] 5.13c) Cluster head node The third adjacent node is the cluster head node. From the cluster head node To the cluster head node A time slot has been crossed, therefore the cluster head node To business release node F f The distance value is the sum of the lengths of time slot 1 and time slot 2, which is less than the distance in distance list B. 14 Cluster head node recorded in To business release node F fThe distance is calculated, therefore the distance list B is updated. 14 Middle cluster head node The distance value is used to obtain the distance list B. 15 The updated results are shown in Table 26:

[0203] Table 26 Distance List B 15

[0204]

[0205] Update the cluster head node in path list C9 The path list C is obtained from the previous hop node information. 10 The results are shown in Table 27:

[0206] Table 27 Path List C 10

[0207]

[0208] 5.14) At this point, the distance from list B is... 15 Mid-range service release node F f The nearest node is the cluster head node. cluster head node Adding to permanent set A6 results in permanent set A7: and from distance list B 15 Delete Get the distance list B 16 As shown in Table 28:

[0209] Table 28 Distance List B 16

[0210]

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

[0212] 5.15a) Release node F by the service f To the cluster head node The required latency is 1, which is equal to the length of time slot 1, so the cluster head node is no longer searched. By connecting adjacent nodes through transmission edges, only the cluster head node is determined. Cluster head nodes connected by storage edges From the cluster head node To business release node F f The distance value is the length of slot 1, which is less than the distance in list B. 16 Cluster head node recorded in To business release node Ff The distance is calculated, therefore the distance list B is updated. 16 Middle cluster head node The distance value is used to obtain the distance list B. 17 The updated results are shown in Table 29:

[0213] Table 29 Distance List B 17

[0214]

[0215] Update path list C 10 Middle node cluster head The path list C is obtained from the previous hop node information. 11 The results are shown in Table 30:

[0216] Table 30 Path List C 11

[0217]

[0218] 5.16) At this point, the distance from list B is... 17 Mid-range service release node F f The nearest node is the cluster head node. cluster head node Adding to permanent set A7 results in permanent set A8: and from distance list B 17 Deleting cluster head node Get the distance list B 18 As shown in Table 31:

[0219] Table 31 Distance List B 18

[0220]

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

[0222] 5.17a) Cluster Head Node The first adjacent node is the cluster head node. Use edges The value of It is 0.5 and The value is 0, therefore the cluster head node To business release node F f The distance value is This value is less than the distance list B. 18 Cluster head node recorded in To business release node F f The distance is such that the path propagates for 0.5 times in time slot 2, which is less than the length of time slot 2. Therefore, the distance list B is updated. 18 Middle cluster head node The distance value is used to obtain the distance list B. 19 The updated results are shown in Table 32:

[0223] Table 32 Distance List B 19

[0224]

[0225] Update path list C 11 Middle cluster head node The path list C is obtained from the previous hop node information. 12 The results are shown in Table 33:

[0226] Table 33 Path List C 12

[0227]

[0228] 5.17b) Cluster Head Node The first adjacent node is the cluster head node. From the cluster head node To the cluster head node The cluster head node has crossed time slot 2. To business release node F f The distance value is the sum of the lengths of time slot 1 and time slot 2, which is less than the distance in distance list B. 19 Cluster head node recorded in To business release node F f The distance is calculated, therefore the distance list B is updated. 19 Middle cluster head node The distance value is used to obtain the distance list B. 20 The updated results are shown in Table 34:

[0229] Table 34 Distance List B 20

[0230]

[0231] Update path list C 12 Middle cluster head node The path list C is obtained from the previous hop node information. 13 The results are shown in Table 35:

[0232] Table 35 Path List C 13

[0233]

[0234] 5.18) At this point, the distance from list B is... 20 Mid-range service release node F f The nearest node is the cluster head node. cluster head node Adding to permanent set A8 results in permanent set A9: and from distance list B 20 Deleting cluster head node Get the distance list B 21 As shown in Table 36:

[0235] Table 36 Distance List B 21

[0236]

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

[0238] 5.19a) Cluster Head Node The first adjacent node is a virtual cluster. Use edges The value of It is 0.4 and The value is 0, therefore the cluster head node To business release node F f The distance value is This value is less than the distance list B. 20 Virtual cluster nodes recorded in To business release node F f The distance is such that the path propagates for 0.9 times in time slot 2, which is less than the length of time slot 2. Therefore, the distance list B is updated. 21 virtual cluster nodes The distance value is used to obtain the distance list B. 22 The updated results are shown in Table 37:

[0239] Table 37 Distance List B 22

[0240]

[0241] Update path list C 13 Middle cluster head node The path list C is obtained from the previous hop node information. 14 The results are shown in Table 38:

[0242] Table 38 Path List C 14

[0243]

[0244] 5.19b) Cluster Head Node The second adjacent node is the cluster head node. From the cluster head node To the cluster head node The cluster head node has crossed time slot 2. To business release node F f The distance value is the sum of the lengths of time slot 1 and time slot 2, which is less than the distance in distance list B. 22 Cluster head node recorded in To business release node F f The distance is calculated, therefore the distance list B is updated. 22 Middle cluster head node The distance value is used to obtain the distance list B. 23 The updated results are shown in Table 39:

[0245] Table 39 Distance List B 23

[0246]

[0247] Update path list C 14 Middle cluster head node The path list C is obtained from the previous hop node information. 15 The results are shown in Table 40:

[0248] Table 40 Path List C 15

[0249]

[0250] 5.20) Distance list B 23 Mid-range service release node F f The nearest node Adding to permanent set A9 results in permanent set A. 10 : and from distance list B 23 Deleting cluster head node Get 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 For the index, search for its neighboring nodes and update the information of the corresponding neighboring nodes in the distance list and path list:

[0254] 5.21a) Cluster Head Node The first adjacent node is a virtual cluster node. Use edges The value of It is 0.6 and The value is 0, therefore the virtual cluster node To business release node F f The distance value is This value is less than the distance list B. 24 Virtual cluster nodes recorded in To business release node F f The distance is 1.1, but the path propagates for 1.1 times in time slot 2, which is greater than the length of time slot 2, so this node is not processed.

[0255] 5.21b) Cluster Head Node The second adjacent node is the cluster head node. From the cluster head node To the cluster head node The cluster head node has crossed time slot 2. To business release node F f The distance value is the sum of the lengths of time slot 1 and time slot 2, which is less than the distance in distance list B. 24 Cluster head node recorded in To business release node F f The distance is calculated, therefore the distance list B is updated. 24 Middle cluster head node The distance value is used to obtain the distance list B. 25 The updated results are shown in Table 42:

[0256] Table 42 Distance List B 25

[0257]

[0258] Update path list C 15 Middle cluster head node The path list C is obtained from the previous hop node information. 16 The results are shown in Table 43:

[0259] Table 43 Path List C 16

[0260]

[0261] 5.22) Distance list B 24Mid-range service release node F f The nearest node Add to permanent set A 10 The permanent set A is obtained from it. 11 : and from distance list B 25 Delete virtual cluster node Get the distance list B 26 As shown in Table 44:

[0262] Table 44 Distance List B 26

[0263]

[0264] 5.23) Virtual Cluster Nodes Since there are no adjacent nodes, the permanent set continues to be updated. At this point, the distance to list B is... 26 Mid-range service release node F f The nearest node is virtual cluster node V1. (3) Virtual cluster node V1 (3) Add to permanent set A 11 The permanent set A is obtained from it. 12 : and from distance list B 26 Delete virtual cluster node V1 (3) Get the distance list B 27 As shown in Table 45:

[0265] Table 45 Distance List B 27

[0266]

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

[0268] 5.24a) Virtual cluster node V1 (3) The first adjacent node is the cluster head node. Use edges The value of It is 0.5 and The value is 0, therefore the cluster head node To business release node F f The distance value is This value is greater than the distance list B. 27 Cluster head node recorded in To business release node F f Therefore, this node is not processed due to its distance.

[0269] 5.25) Distance list B 27 Mid-range service release node F f The nearest node Add to permanent set A 12 The permanent set A is obtained from it. 13 : and from distance list B 27 Delete cluster head node H1 (3) Get the distance list B 28 As shown in Table 46:

[0270] Table 46 Distance List B 28

[0271]

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

[0273] 5.26a) Cluster Head Node The first adjacent node is the cluster head node. Use edges The value of It is 0.5 and The value is 0, therefore the cluster head node To business release node F f The distance value is This value is greater than the distance list B. 28 Cluster head node recorded in To business release node F f The distance is such that no processing is required;

[0274] 5.26b) Cluster Head Node The second adjacent node is the cluster head node. Use edges The value of It is 0.4 and The value is 0, therefore the cluster head node To business release node F f The distance value is This value is greater than the distance list B. 28 Cluster head node recorded in To business release node F f The distance is such that no processing is required.

[0275] 5.26c) Cluster head node The third adjacent node is the cluster head node. From the cluster head node To the cluster head node Since time slot 3 has been crossed, the cluster head node... To business 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 in distance list B. 28 Cluster head node recorded in To business release node F f The distance is calculated, therefore the distance list B is updated. 28 Middle cluster head node The distance value is used to obtain the distance list B. 29 The updated results are shown in Table 47:

[0276] Table 47 Distance List B 29

[0277]

[0278] Update path list C 16 Middle cluster head node The path list C is obtained from the previous hop node information. 17 The results are shown in Table 48:

[0279] Table 48 Path List C 17

[0280]

[0281] 5.27) Distance list B 29 Mid-range service release node F f The nearest node Add to permanent set A 13 The permanent set A is obtained from it. 14 : and from distance list B 29 Deleting cluster head node Get the distance list B 30 As shown in Table 49:

[0282] Table 49 Distance List B 30

[0283]

[0284] 5.28) with cluster head node For the index, search for its neighboring nodes and update the information of the corresponding neighboring nodes in the distance list and path list:

[0285] 5.28a) Cluster Head Node The first adjacent node is a virtual cluster node. Use edges The value of It is 0.4 and The value is 0, therefore the virtual cluster node To business release node F f The distance value is This value is less than the distance list B. 30 Virtual cluster nodes recorded in To business release node F f The distance is such that the path propagates for 0.4 times in time slot 3, which is less than the length of time slot 3. Therefore, the distance list B is updated. 30 virtual cluster nodes The distance value is used to obtain the distance list B. 31 The updated results are shown in Table 50:

[0286] Table 50 Distance List B 31

[0287]

[0288] Update path list C 17 midpoint The path list C is obtained from the previous hop node information. 18 The results are shown in Table 51:

[0289] Table 51 Path List C 18

[0290]

[0291] 5.28b) Cluster Head Node The second adjacent node is the cluster head node. Use edges The value of It is 0.3 and The value is 0, therefore the cluster head node To business release node F f The distance value is This value is greater than the distance list B. 31 Cluster head node recorded in To business release node F f The distance is such that no processing is required.

[0292] 5.28c) Cluster head node The third adjacent node is the cluster head node. From the cluster head node To the cluster head node The cluster head node has crossed time slot 3. To business 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 in distance list B. 31Cluster head node recorded in To business release node F f The distance is calculated, therefore the distance list B is updated. 31 Middle cluster head node The distance value is used to obtain the distance list B. 32 The updated results are shown in Table 52:

[0293] Table 52 Distance List B 32

[0294]

[0295] Update path list C 18 Middle cluster head node The path list C is obtained from the previous hop node information. 19 The results are shown in Table 53:

[0296] Table 53 Path List C 19

[0297]

[0298] 5.29) Distance list B 32 Mid-range service release node F f The nearest node Add to permanent set A 14 The permanent set A is obtained from it. 15 : and from distance list B 32 Deleting cluster head node Get the distance list B 33 As shown in Table 54:

[0299] Table 54 Distance List B 33

[0300]

[0301] 5.30) with cluster head node For the index, search for its neighboring nodes and update the information of the corresponding neighboring nodes in the distance list and path list:

[0302] 5.30a) Cluster Head Node The first adjacent node is a virtual cluster node. Use edges The value of It is 0.6 and The value is 0, therefore the virtual cluster node To business release node F f The distance value is =2.6, this value is less than the distance to list B. 33Virtual cluster nodes recorded in To business release node F f The distance is such that the path propagates for 0.6 times in time slot 3, which is less than the length of time slot 3. Therefore, the distance list B is updated. 33 virtual cluster nodes The distance value is used to obtain the distance list B. 34 The updated results are shown in Table 55:

[0303] Table 55 Distance List B 34

[0304]

[0305] Update path list C 19 Middle node The path list C is obtained from the previous hop node information. 20 The results are 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 Since time slot 3 has been crossed, the cluster head node... To business 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 in distance list B. 34 Cluster head node recorded in To business release node F f The distance is calculated, therefore the distance list B is updated. 34 Middle cluster head node The distance value is used to obtain the distance list B. 35 The updated results are shown in Table 57:

[0309] Table 57 Distance List B 35

[0310]

[0311] Update path list C 20 Middle cluster head node The path list C is obtained from the previous hop node information. 21 The results are shown in Table 58:

[0312] Table 58 Path List C 21

[0313]

[0314] 5.31) Distance list B 35 Mid-distance node F f The nearest node Add to permanent set A 15 The permanent set A is obtained from it. 16 : and from distance list B 35 Deleting cluster head node Get the distance list B 36 As shown in Table 59:

[0315] Table 59 Distance List B 36

[0316]

[0317] 5.32) with cluster head node For the index, search for its neighboring nodes and update the information of the corresponding neighboring nodes in the distance list and path list:

[0318] 5.32a) Cluster Head Node The first adjacent node is a virtual cluster node. Use edges The value of It is 0.4 and The value is 0, therefore the cluster head node To business release node F f The distance value is This value is less than the distance list B. 36 Virtual cluster nodes recorded in To business release node F f The distance is such that the path propagates for 0.4 times in time slot 3, which is less than the length of time slot 3. Therefore, the distance list B is updated. 36 virtual cluster nodes The distance value is used to obtain the distance list B. 37 The updated results are shown in Table 60:

[0319] Table 60 Distance List B 37

[0320]

[0321] Update path list C 21 virtual cluster nodes The path list C is obtained from the previous hop node information. 22 The results are as follows:

[0322] Table 61 Path List C 22

[0323]

[0324] 5.32b) Cluster Head Node The third adjacent node is the cluster head node. From the cluster head node To the cluster head node Since time slot 3 has been crossed, the cluster head node... To business 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 in distance list B. 37 Cluster head node recorded in To business release node F f The distance is calculated, therefore the distance list B is updated. 37 Middle cluster head node The distance value is used to obtain the distance list B. 38 The updated results are shown in Table 62:

[0325] Table 62 Distance List B 38

[0326]

[0327] Update path list C 22 Middle cluster head node The path list C is obtained from the previous hop node information. 23 The results are shown in Table 63:

[0328] Table 63 Path List C 23

[0329]

[0330] 5.33) Distance list B 38 Mid-distance node F f The nearest node Add to permanent set A 16 The permanent set A is obtained from it. 17 : and from distance list B 38 Delete virtual cluster node Get the distance list B 39 As shown in Table 64:

[0331] Table 64 Distance List B 39

[0332]

[0333] 5.34) Virtual cluster nodes Since there are no adjacent nodes, the permanent set continues to be updated. At this point, the distance to list B is... 39 Mid-range service release node F f The nearest virtual cluster node is Virtual cluster nodes Add to permanent set A 17 The permanent set A is obtained from it. 18 : and from distance list B 39 Delete virtual cluster node Get the distance list B 40 As shown in Table 65:

[0334] Table 65 Distance List B 40

[0335]

[0336] 5.35) node Since there are no adjacent nodes, the permanent set continues to be updated. At this point, the distance to list B is... 40 Mid-range service release node F f The nearest node is a virtual cluster node. Virtual cluster nodes Add to permanent set A 18 The permanent set A is obtained from it. 19 : and from distance list B 40 Remove virtual cluster node V3 (3) Get the distance list B 41 As shown in Table 66:

[0337] Table 66 Distance List B 41

[0338]

[0339] 5.36) with nodes For the index, search for its neighboring nodes and update the information of the corresponding neighboring nodes in the distance list and path list:

[0340] 5.36a) Node The first adjacent node is the business convergence node D, using edges. The value of =0 and The value is 0, therefore the distance from service aggregation node D to service release node F is 0. f The distance value is 2.6, which is less than the distance in list B. 41 From the business aggregation node D to the business release node F, the records are kept in the middle. fThe distance is such that the path propagates for 0.6 times in time slot 3, which is less than the length of time slot 3. Therefore, the distance list B is updated. 41 The distance value of the central business aggregation node D is used to obtain the distance list B. 42 The updated results are shown in Table 67:

[0341] Table 67 Distance List B 42

[0342]

[0343] Update path list C 23 The path list C is obtained by finding the previous hop node of node D. 24 The results are shown in Table 68:

[0344] Table 68 Path List C 24

[0345]

[0346] 5.37) Distance list B 42 Mid-distance node F f The most recent node D is added to the permanent set A. 19 The permanent set A is obtained from it. 20 : and from distance list B 42 Deleting the business aggregation node D yields the distance list B. 43 As shown in Table 69:

[0347] Table 69 Distance List B 43

[0348]

[0349] 5.38) At this point, a new permanent set A is added. 20 The node is the virtual sink node D, and the pathfinding process ends;

[0350] 5.39) According to distance list C 24 Tracing back to the business release node F f Transmission path to service aggregation node D:

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

[0352] 5.40) Delete the service release node F from path p′ f Together with the business convergence node D, we obtain the desired path p:

[0353] Example 2: Online System for Joint Planning of Routing and Time Slots in Self-Organizing Networks

[0354] Reference Figure 7 This example includes: a clustered network snapshot graph model construction module 1, a clustered network time slot graph model construction module 2, a clustered network service time slot graph model construction module 3, and an end-to-end shortest path calculation module 4. The clustered network service time slot graph model construction module 3 includes: a service representation submodule 31, a service release representation submodule 32, and a service convergence representation submodule 33. The end-to-end shortest path calculation module 4 includes: an end-to-end shortest path algorithm submodule 41 and a path generation submodule 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 subframe partitioning information and service information input by the user, the clustering network snapshot diagram model construction module 1 obtains the clustering network snapshot diagram model by compressing and representing 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, and outputs the clustering network snapshot diagram model to the clustering network time slot diagram model construction module 2.

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

[0357] The service representation submodule 31 in the clustered network service slot diagram model construction module obtains the virtual cluster node information of the cluster where the source node of service flow f belongs and the virtual cluster node information of the cluster where the destination node belongs, based on the clustering results of the ad hoc network input by the user and the QoS requirements of service f. It then reconstructs the representation of service f based on the two virtual cluster node information and inputs the reconstructed service f into the service release representation submodule 32. The service release representation submodule 32, based on the clustered network slot diagram model output by the clustered network slot diagram model construction module 2 and the service f output by the service representation submodule 31, adds a service release node F to the clustered network slot diagram model according to the QoS requirements of service f. f The service release edge is calculated, and the weight value on the service release edge is calculated. The result generated by the program is output to the service aggregation representation submodule 33. The service aggregation representation submodule 33, based on the result output by the service release representation submodule 32 and the service f output by the service representation submodule 31, adds a virtual sink node D and a service aggregation edge in the result output by the service release representation submodule 32 according to the QoS requirements of service f, and assigns the weight value on the service aggregation edge to obtain the clustered network service slot diagram model, and outputs the model to the end-to-end shortest path calculation module 4.

[0358] The path generation submodule 42 in the end-to-end shortest path calculation module 4 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 by calling the end-to-end shortest path algorithm submodule 41, and outputs the shortest transmission path, and then ends the system operation.

[0359] The above description is merely two specific examples of the present invention and does not constitute any limitation on the present invention. Obviously, those skilled in the art, after understanding the content and principles of the present invention, may make various modifications and changes in form and details without departing from the principles and structure of the present invention. However, these modifications and changes based on the ideas 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 this invention are only for the purpose of clearly describing the embodiments of this invention and facilitating understanding, and their order is not limited.

Claims

1. A method for joint online planning of routing and time slots in self-organizing networks 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) } Where, N (0) E represents the set of nodes after compressed representation of each node in a self-organizing network. (0) For N (0) W is the set of edges between all nodes in the set. (0) For E (0) The set of weight values ​​on each edge in the middle; 2) Based on the clustered network snapshot graph model G (0) Given the number of time slots X in a frame, construct a clustered network time slot graph model G: G = {N, E, W} Where 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 the snapshot graph models, and W is the set of weight values ​​on each edge in E. 3) Based on the requirements of service f, add a service release node F to the clustered network time slot graph model. f Virtual node D and its corresponding links are used to construct a clustered network service time slot diagram model G. f : G f ={N f ,E f ,W f } Where, N f =N∪F N N is the set of all nodes in the clustered network time slot graph model, F N ={F f Let D be the set of newly added nodes, and E be the set of nodes added. f For N f W is the set of edges between all nodes in the set. f Represents set E f The set of weights for each edge in the middle; 4) Add constraints to Dijkstra's routing algorithm to calculate the clustered network service time slot graph model G. f Business 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 contained in the self-organizing network. (0) Its implementation includes the following: 1a) The nodes of the self-organizing network are divided into C clusters using an arbitrary clustering algorithm. Each cluster contains a cluster head node and multiple ordinary member nodes. All ordinary member nodes in each cluster u are represented by a virtual cluster node V. u Characterization, cluster head node is represented by H u Characterization yields the virtual node set V. (0) ={V1,V2,...,V C } and the set of cluster head nodes H (0) ={H1,H2,...,H C Let N be the set of all nodes. (0) =V (0) ∪H (0) ; 1b) For each cluster u, in V u With H u Add an edge between them, and denote the resulting edge as . Calculate the weights on the edges The obtained weights are denoted as in Indicates the use of edges (V) u H u The capability value for performing service 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 area: If within communication range, then in H u and H v Add an edge between them, and denote the resulting edge as . Calculate edge weights The obtained weights are denoted as in Indicates the use of edge (H) u H V The capability value for performing service transmission. Represents the edge (H) u H V Is it usable? If not within the communication range, then not at node H. u With H u Add edges between them; 1d) The edge set obtained from step 1b) and the edge set obtained in step 1c). Get the set Based on the weight set W1 obtained in step 1b) (0) and the weight set obtained in step 1c). Get the set 1e) Take the N obtained in step 1a) (0) E obtained in step 1d) (0) and W (0) By combining the data, we obtain 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), based on the clustered network snapshot graph model G... (0) Given the number of time slots X in the frame, construct a clustered network time slot graph model G, the implementation of which includes the following: 2a) Snapshot graph model G of clustered network (0) The frames are copied according to the number of time slots X, and the copied clustered network snapshot graph model is denoted as G. (1) To G (X) ; 2b) For any snapshot model G (m) The virtual node V corresponding to any cluster u in the array u and cluster head node H u Re-mark it as a node and nodes We obtain the set of virtual nodes V and the set of cluster head nodes H: 2c) Based on the virtual node set V and 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 between the same cluster head nodes (m) Pointing to G (m+1) Storage edges; the clustered network snapshot graph model G (1) To G (X) Let the set of edges within the X clustered network snapshot graph models and the edges between the clustered network snapshot graph models be E = {(i,j)|i,j∈N}, and let the weights on the edges be W = {[p i,j ,a i,j ]|i,j∈N}; 2e) Combine N obtained in step 2c), E and W obtained in step 2d) to obtain the clustered network time slot graph model G = {N, E, W}.

4. The method according to claim 1, characterized in that, Step 3) involves adding a service release node F to the clustered network time slot graph model based on the requirements of service f. f Virtual node D and its corresponding links are used to construct a clustered network service time slot diagram model G. f Its implementation includes the following: 3a) Based on the clustering results of the self-organizing network, classify the services f={s,r,t} f ,m f } is re-characterized as f = {s, r, V} s V r ,t f ,m f }, where s represents the source node of the business flow, r represents the destination node of the business flow, and V s V is the virtual cluster node corresponding to the cluster where the service flow source node s is located. r For the virtual cluster node corresponding to the cluster where the destination node r of the business flow is located, t f Indicates the arrival time slot of the service flow, m f Indicates the maximum tolerable delay interval for the service flow; 3b) Set up service release node F f Together with the virtual sink node D, we obtain the new node set N. add ={F f ,D}; 3c) Add a service release node F to the clustered network service time slot graph model G. f and virtual sink node D; 3d) For snapshot images to node V in s (m) Add a slave node F f Pointing to node V s (m) The business release edge is obtained by obtaining the set of business release edges. 3e) Calculate the set of edges released by the business f1 The weights of the edges released by each business in the middle: 3f) Obtain the set of business release edge weights based on step 3e): 3g) for snapshot images to Nodes in Add slave node The business convergence edge pointing to node D yields the set of business convergence edges. 3h) is the set of business aggregation edges E f2 Weights of each edge Assign a value; 3i) Obtain the set of business convergence edge weights based on step 3h): 3j) The new node set N obtained from 3b) add Together with the original node set N, we obtain the node set of the clustered network service time slot graph model: N f =N∪N add ; 3k) Based on the business release edge set E obtained in step 3d) f1 Step 3g) yields the set of business aggregation edges E. f2 Together with the original edge set E, we obtain the edge set E of the clustered network service time slot graph model. f =E∪E f1 ∪E f2 ; 3l) Based on the business release edge weight set W obtained in step 3f), f1 The set of business convergence edge weights W obtained in step 3i) f2 Together with the original weight set W, we obtain the weight set Wclustered network service time slot graph model. 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 The weight set W obtained in step 3l) f By combining the data, we obtain the clustered network service time slot diagram model G. f ={N f E f W f } 5. The method according to claim 4, characterized in that, Step 3e) describes the computational service release edge set E f1 Weight of each business release edge The calculation formula is as follows: T i Let i be the length of the i-th time slot; This indicates that the edge is definitely usable.

6. The method according to claim 4, characterized in that, Step 3h) refers to the business aggregation edge set E. f2 Weights of each edge The assignment is performed as follows: make Indicates the use of edges Transmission services do not require latency; make Representing an edge It will definitely work.

7. The method according to claim 1, characterized in that, Step 4) involves adding constraints to the Dijkstra routing algorithm to calculate the clustered network service time slot graph model G. f Business 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 for which the shortest path has been determined. Initially, release node F from the business. f Add to the collection; Set up a distance list B to record the distances from each node to the service release node F. f The distance from each node to F initially. f The distance between nodes is infinite; Set up a path list C to record the information of the previous hop node of each node in the path search process. Initially, the information of the previous hop node of each node is empty. 4b) Label the node that was last added to the permanent set as node. If the node is an auxiliary sink node D, proceed to step 4f); otherwise, proceed to step 4c. 4c) For each adjacent node node' connected to node node, first determine the relationship between node F and node F. f The path from node to adjacent node' is used to calculate the transmission delay in time slot m where node node is located, and the magnitude of this delay is compared with the size of the current time slot m. If the delay value is greater than the current time slot m, then no action is taken on the adjacent node node′; If the delay value is less than the current time slot m, then proceed to step 4d). 4d) Calculate the value from node F f The distance w from node node to its neighbor node' tem Read the distance from node' recorded in list B to node F. f distance w B Comparison w tem with w B Size; If w tem Less than w B Then the distance from node' in list B to node F is calculated. f The distance value is updated to w tem And in the path list C, mark node_node as the previous hop node of the adjacent node_node', and execute step 4e); If w tem Greater than w B If so, skip this step; 4e) Select distance node F from distance list B f Find the nearest node, add the node to the permanent set A, remove the node from the distance list B, and return to step (4b); 4f) Starting from auxiliary sink node D, trace back to business release node F according to path list C. f Create an end-to-end path to virtual sink node D, and then delete node F in that path. f By finding node D, we can obtain the desired end-to-end weighted shortest path P.

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

9. The system according to claim 8, characterized in that, The clustered network service 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 and the virtual cluster node information of the cluster where the destination node of service flow f is located, based on the clustering results of the ad hoc network input by the user and the QoS requirements of service f, and to reconstruct and characterize service f based on the two virtual cluster node information obtained. The service release characterization submodule is used to add service release nodes F in the clustered network time slot graph model based on the user-input clustered network time slot graph model and the service f output by the service characterization submodule, taking into account the QoS requirements of service f. f The module and the service release edge are processed, and the weight value on the service release edge is calculated. After the module and the service aggregation representation submodule are run in sequence, the clustered network service slot diagram model is obtained. The service aggregation representation submodule is used to add virtual sink node D and service aggregation edge to the clustered network time slot graph model based on the user-input clustered network time slot graph model and the service f output by the service representation submodule, and to assign weights to the service aggregation edge according to the QoS requirements of service f. After this module and the service release representation submodule run in sequence, the clustered network service time slot graph model is obtained.

10. The system according to claim 8, characterized in that, The end-to-end shortest path calculation module includes: The end-to-end shortest path algorithm submodule is used to add cross-timeslot transmission constraints and program termination constraints to the Dijkstra algorithm, so as to obtain an end-to-end shortest path algorithm that can be applied to the timeslot graph model of clustered network services. The path generation submodule is used to calculate and output the shortest transmission path P required by the service by calling the end-to-end shortest path algorithm submodule, based on the clustered network service slot diagram 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