Satellite network controller deployment method and apparatus, electronic device, and program product

CN120750400BActive Publication Date: 2026-09-08CHINA TOWER CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202510997059.0
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-07-18
Publication Date
2026-09-08
Estimated Expiration
2045-07-18

AI Technical Summary

Technical Problem

[0006]本发明实施例提供了一种卫星网络控制器的部署方法及装置、电子设备及程序产品,以至少解决相关技术中卫星网络部署控制器时难以有效处理多目标冲突,容易造成网络延迟高的技术问题

Benefits of technology

[0016]In this disclosure, the location data of each satellite node in the target satellite network model can be read, and the network topology and shortest path of each time slice can be calculated. Specifically, a satellite cycle is pre-divided into multiple discrete time slices according to a predetermined time interval, and the network topology at the current moment is recorded within each time slice. An initial controller deployment population is generated based on a population initialization strategy based on betweenness centrality. A population selection operation is performed on the initial controller deployment population based on objective function value constraints until a preset population iteration threshold is reached, resulting in a target solution set. The objective function value includes: the flow establishment time calculated based on the network topology and shortest path of each time slice, and the load variance between controllers. The population selection operation includes: repeatedly performing population individual congestion calculation, population screening, population crossover, and mutation operations. The location of each satellite node deployed by the controller is determined based on the target solution set.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120750400B_ABST
    Figure CN120750400B_ABST
Patent Text Reader

Abstract

The application discloses a satellite network controller deployment method and device, electronic equipment and program product, and relates to the field of satellite networks, wherein the method comprises the following steps: reading position data of each satellite node in a satellite network model, and calculating network topology and the shortest path of each time slice; generating an initial controller deployment population based on a betweenness centrality population initialization strategy; performing a population selection operation on the initial controller deployment population based on a target function value constraint until a preset population iteration number threshold is reached, obtaining a target solution set, and the target function value comprises a flow establishment time length calculated based on the network topology and the shortest path of the time slice and a controller inter-load variance; and determining the positions of the satellite nodes deployed by each controller based on the target solution set. The application solves the technical problem that, in the related art, it is difficult to effectively handle multi-objective conflicts when deploying a controller for a satellite network, and network latency is easily high.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of satellite network technology or other related fields. Specifically, it relates to a method and apparatus for deploying a satellite network controller, as well as electronic equipment and software products. Background Technology

[0002] With the explosive growth of global communication demand and the continuous advancement of communication technology, achieving global coverage using satellite constellations has become a hot topic of common concern in academia and industry. Combining the wide coverage advantage of satellite networks with the high efficiency of terrestrial networks to build a Space-Air-Ground Integrated Network (SAGIN) architecture is expected to provide seamless broadband access services to global users and achieve truly ubiquitous network coverage.

[0003] In current communication systems, satellite networks and terrestrial networks are typically developed and operated independently. Despite widespread attention to satellite networks, effectively integrating these two networks remains a pressing issue. On one hand, the high degree of coupling between software and hardware in traditional satellite network equipment leads to a lack of flexibility in network management and configuration. On the other hand, satellite networks develop independently of terrestrial networks, resulting in significant differences in protocol development, making direct integration with terrestrial network technologies difficult. The introduction of Software Defined Networking (SDN) promises to solve these problems. SDN's core advantages lie in its decoupling of the control plane and data plane, as well as its logically centralized control architecture. This architecture not only significantly simplifies the complexity of network programming and management but also endows the network with greater flexibility and scalability, enabling it to more efficiently respond to the dynamic changes and diverse needs of satellite networks.

[0004] Despite the significant advantages of SDN, its application in satellite network management still faces new technical challenges. To adapt to network scaling, the logically centralized control plane of SDN typically consists of multiple physically distributed controllers, giving rise to the Controller Placement Problem (CPP). This problem mainly involves two aspects: first, determining the number of controllers required for network management and their optimal deployment locations; and second, establishing a reasonable mapping between controllers and switches, i.e., assigning switches to appropriate controllers based on network needs. The controller deployment scheme directly affects the communication latency between switches and controllers, thus significantly impacting network resilience and Quality of Service (QoS). Currently, balancing flow setup time and controller load balancing within a limited timeframe has become a core challenge in static deployment, and traditional methods struggle to effectively handle multi-objective conflicts.

[0005] There is currently no effective solution to the above problems. Summary of the Invention

[0006] This invention provides a method and apparatus for deploying a satellite network controller, as well as an electronic device and program product, to at least solve the technical problem in the related art that it is difficult to effectively handle multi-target conflicts when deploying a satellite network controller, which easily leads to high network latency.

[0007] To achieve the above objectives, according to one aspect of this application, a method for deploying a satellite network controller is provided, comprising: reading the location data of each satellite node in a target satellite network model and calculating the network topology and shortest path for each time slice, wherein a satellite cycle is pre-divided into multiple discrete time slices according to a predetermined time interval, and the network topology structure at the current moment is recorded within the time slice; generating an initial controller deployment population based on a population initialization strategy of betweenness centrality; performing a population selection operation on the initial controller deployment population based on objective function value constraints until a preset population iteration number threshold is reached to obtain a target solution set, wherein the objective function value includes: the flow establishment time and the load variance between controllers calculated based on the network topology and shortest path of the time slice, and the population selection operation includes: repeatedly performing population individual congestion calculation operation, population screening operation, population crossover operation, and mutation operation; and determining the location of the satellite nodes deployed by each controller based on the target solution set.

[0008] Optionally, the step of performing a population selection operation on the initial controller deployment population based on the objective function value constraint until a preset population iteration number threshold is reached to obtain the target solution set includes: Step 1, determining whether the current iteration number has reached the preset population iteration number threshold; Step 2, if the current iteration number has not reached the preset population iteration number threshold, using a target non-dominated sorting algorithm to perform multi-objective sorting on the individuals in the controller deployment population, wherein the multi-objective sorting is determined based on the flow establishment time and the load variance between controllers; Step 3, performing a population individual crowding calculation operation to calculate the crowding degree of each population in the controller deployment population, wherein the crowding degree is used to evaluate the distribution density of the population individuals in the target space; Step 4, performing an individual screening operation to retain the population individuals located at the top of the non-dominated hierarchy in the previous generation controller deployment population; Step 5, performing a population crossover operation to generate a subpopulation; Step 6, performing a population mutation operation to adjust the mutation rate of the controller deployment population based on the current iteration number and the crowding degree of each population individual using a dynamic mutation strategy.

[0009] Step 7: New population generation operation, merge the sub-population with the current population to obtain a new controller deployment population; repeat steps 1 to 7 until the current iteration number reaches the preset population iteration number threshold to obtain the target solution set.

[0010] Optionally, the step of performing a population selection operation on the initial controller deployment population based on objective function value constraints includes: obtaining the average flow establishment time and the average load variance of the controller in the target satellite network in the previous period; performing a weighted calculation on the average flow establishment time and the average load variance of the controller according to a preset weighting coefficient to obtain an objective function value; obtaining the total number of controllers in the target satellite network and the network propagation delay between each switch and the corresponding controller; and constraining the population selection operation on the initial controller deployment population using the objective function value and multiple preset constraints, wherein the multiple preset constraints include: the number of controllers is equal to the total number of controllers, the network propagation delay is less than a predetermined propagation delay threshold, the corresponding deployment relationship between controllers and switches, and each satellite node corresponds to one controller.

[0011] Optionally, the step of obtaining the average flow establishment time and the average controller load variance of the target satellite network in the previous period includes: obtaining the total flow establishment time of the target satellite network in the previous period; calculating the average flow establishment time based on the total flow establishment time, the total number of flows, and the total number of time slots; for any time slot, calculating the controller load caused by the initial flow setup request and the load generated by the intermediate flow setup request in that time slot to obtain the total controller load in that time slot; and calculating the average controller load variance based on the total controller load of each time slot and the total number of controllers.

[0012] According to another aspect of the present invention, a satellite network controller deployment apparatus is also provided, comprising: a location reading unit, configured to read the location data of each satellite node in a target satellite network model and calculate the network topology and shortest path for each time slice, wherein a satellite cycle is pre-divided into multiple discrete time slices according to a predetermined time interval, and the network topology structure at the current moment is recorded in the time slice; a population initialization unit, configured to generate an initial controller deployment population based on a population initialization strategy of betweenness centrality; a population iteration unit, configured to perform a population selection operation on the initial controller deployment population based on objective function value constraints until a preset population iteration number threshold is reached to obtain a target solution set, wherein the objective function value includes: the flow establishment time and the load variance between controllers calculated based on the network topology and shortest path of the time slice, and the population selection operation includes: repeatedly performing population individual congestion calculation operation, population screening operation, population crossover operation, and mutation operation; and a node deployment unit, configured to determine the location of each satellite node deployed by the controller based on the target solution set.

[0013] According to another aspect of the present invention, a computer-readable storage medium is also provided, the computer-readable storage medium including a stored computer program, wherein, when the computer program is executed, it controls the device where the computer-readable storage medium is located to perform the deployment method of the satellite network controller of any of the above-mentioned methods.

[0014] According to another aspect of the present invention, an electronic device is also provided, including one or more processors and a memory, the memory being used to store one or more programs, wherein when the one or more programs are executed by the one or more processors, the one or more processors cause the one or more processors to implement the deployment method of the satellite network controller described above.

[0015] According to another aspect of the present invention, a computer program product is also provided, including a computer program that, when executed by a processor, implements the steps of the deployment method of the satellite network controller described in any one of the preceding embodiments.

[0016] In this disclosure, the location data of each satellite node in the target satellite network model can be read, and the network topology and shortest path of each time slice can be calculated. Specifically, a satellite cycle is pre-divided into multiple discrete time slices according to a predetermined time interval, and the network topology at the current moment is recorded within each time slice. An initial controller deployment population is generated based on a population initialization strategy based on betweenness centrality. A population selection operation is performed on the initial controller deployment population based on objective function value constraints until a preset population iteration threshold is reached, resulting in a target solution set. The objective function value includes: the flow establishment time calculated based on the network topology and shortest path of each time slice, and the load variance between controllers. The population selection operation includes: repeatedly performing population individual congestion calculation, population screening, population crossover, and mutation operations. The location of each satellite node deployed by the controller is determined based on the target solution set.

[0017] Based on the aforementioned public information, a model considering the dynamic characteristics of satellite networks (including the concept of time slices) is constructed to adapt to the highly dynamic environment of satellite networks. The static deployment problem of the controller is transformed into a multi-objective optimization problem. By comprehensively optimizing the flow establishment time and controller load variance in the network, the optimal controller deployment scheme is found, which can effectively reduce network latency, greatly reduce flow establishment time, and significantly improve network response speed and user service experience. This solves the technical problem in related technologies where it is difficult to effectively handle multi-objective conflicts when deploying controllers in satellite networks, which easily leads to high network latency. Attached Figure Description

[0018] The accompanying drawings, which are included to provide a further understanding of the invention and form part of this application, illustrate exemplary embodiments of the invention and, together with their description, serve to explain the invention and do not constitute an undue limitation thereof. In the drawings:

[0019] Figure 1 A hardware structure block diagram of a computer terminal (or mobile device) for implementing a deployment method of a satellite network controller is shown.

[0020] Figure 2 This is a flowchart of an optional satellite network controller deployment method according to an embodiment of the present invention;

[0021] Figure 3 This is a schematic diagram of an optional distributed satellite SDN according to an embodiment of the present invention;

[0022] Figure 4 This is a flowchart of an optional static deployment method for a software-defined satellite network controller based on an improved population algorithm according to an embodiment of the present invention;

[0023] Figure 5 This is a schematic diagram of an optional non-dominant sorting according to an embodiment of the present invention;

[0024] Figure 6 This is a schematic diagram of an optional congestion level according to an embodiment of the present invention;

[0025] Figure 7 This is a schematic diagram of an optional elite retention strategy according to an embodiment of the present invention;

[0026] Figure 8 This is a schematic diagram of an optional satellite network controller deployment device according to an embodiment of the present invention;

[0027] Figure 9 This is a structural block diagram of an electronic device according to an embodiment of this application. Detailed Implementation

[0028] To enable those skilled in the art to better understand the present invention, the technical solutions of the present invention will be clearly and completely described below with reference to the accompanying drawings of the embodiments of the present invention. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort should fall within the scope of protection of the present invention.

[0029] It should be noted that the terms "first," "second," etc., in the specification, claims, and accompanying drawings of this invention are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such data can be interchanged where appropriate so that the embodiments of the invention described herein can be implemented in orders other than those illustrated or described herein. Furthermore, the terms "comprising" and "having," and any variations thereof, are intended to cover a non-exclusive inclusion; for example, a process, method, system, product, or apparatus that comprises a series of steps or units is not necessarily limited to those steps or units explicitly listed, but may include other steps or units not explicitly listed or inherent to such processes, methods, products, or apparatus.

[0030] To facilitate understanding of the present invention by those skilled in the art, some terms or nouns involved in the various embodiments of the present invention are explained below:

[0031] The LEO satellite network, or Low Earth Orbit Satellite Network, consists of satellites operating in orbits approximately 500 to 2000 kilometers above the Earth's surface. It offers lower latency and higher data transmission rates, making it suitable for high-speed communication needs with global coverage.

[0032] Software-defined networking (SDN) is a new type of network architecture that separates the network's control plane from its data plane. This allows network administrators to dynamically control and manage the network through a software interface, greatly improving network flexibility and efficiency. It is particularly well-suited for handling the dynamic characteristics of LEO satellite networks.

[0033] The Controller Placement Problem (CPP) involves determining the number and location of controllers, as well as the mapping relationship between switches and controllers. In a LEO satellite network environment, this problem becomes more complex due to the dynamic changes in network topology, requiring optimized solutions to ensure low latency and load balancing.

[0034] Quality of Service (QoS) is a metric for measuring network services, encompassing multiple dimensions such as latency, bandwidth, and packet loss rate, ensuring that data transmission meets the needs of specific users. In the satellite network of this invention, guaranteeing QoS is crucial for providing high-quality communication services.

[0035] A time slice (TS) is a series of discrete time periods that divide a satellite network cycle, facilitating the analysis and optimization of network status within each time period. In this invention, time slices are used to capture the network topology in a snapshot-like manner and optimize controller deployment strategies accordingly.

[0036] Flow Setup Time (FST) is the time from the initial request to the start of data flow transmission in the SDN network, including flow table delivery latency in the control plane and packet transmission latency in the data plane. In LEO satellite networks, optimizing FST is crucial for improving network responsiveness and user experience.

[0037] Controller Load Variance (CLV) is a metric that measures the degree of workload balance among controllers in a network. By minimizing CLV, the resource utilization of controllers can be optimized, overload conditions can be avoided, and the stability and efficiency of the network can be ensured.

[0038] Non-Dominated Sorting (NDS) is a key step in multi-objective optimization algorithms. It is used to distinguish the quality levels of solutions and helps the algorithm select non-dominated solutions (i.e., Pareto optimal solutions) to enter the next generation of the population, thus promoting the evolution of the population towards the optimal solution set.

[0039] The Enhanced Non-Dominated Sorting Genetic Algorithm II (ENSGA-II) is an enhanced version of the NSGA-II algorithm. By optimizing genetic operations (such as initialization, crossover, and mutation) and introducing strategies adapted to dynamic environments, such as cooperative mutation for time-varying population diversity, it improves the accuracy and efficiency of solving multi-objective optimization problems, especially in the software-defined LEO satellite network controller deployment problem.

[0040] It should be noted that the satellite network controller deployment method and apparatus in this disclosure can be used in the field of satellite network technology for static deployment of satellite network controllers based on improved population algorithm, and can also be used in any field other than the field of satellite network technology for static deployment of satellite network controllers based on improved population algorithm. This disclosure does not limit the application field of the satellite network controller deployment method and apparatus.

[0041] It should be noted that in this disclosure, customer information is collected and analyzed, and users are provided with corresponding operation entry points to choose whether to agree to or reject the automated decision results; if the user chooses to reject, the process will proceed to the expert decision-making process.

[0042] The following embodiments of the present invention can be applied to various systems / applications / devices deploying satellite network controllers. The present invention is applicable to the field of satellite networks, particularly addressing the static deployment problem of controllers in software-defined LEO satellite networks. For example, in an integrated space-ground network architecture: when constructing a comprehensive communication system combining terrestrial and LEO satellite networks, the present invention, by optimizing controller deployment, can significantly improve the response speed and reliability of these services, achieve effective scheduling and optimization of network resources, and enhance the overall performance of the network.

[0043] This invention can significantly improve the response efficiency and service quality of LEO satellite networks. By optimizing the mapping relationship between controllers and switches, it can reduce network latency, accelerate the flow establishment process, and provide users with a faster communication experience. At the same time, it adopts a multi-objective optimization strategy to reduce the load difference between controllers, avoid excessive concentration of resources on specific nodes, and improve the overall stability and efficiency of the network.

[0044] Furthermore, this invention comprehensively considers flow setup time and controller average load variance, improving the network's adaptability and resilience in the face of highly dynamic topology changes. By balancing network response efficiency with the balance of controller resource allocation, the embodiments of this application can improve the overall performance of LEO satellite networks, achieving more economical and efficient network operation.

[0045] The present invention will now be described in detail with reference to various embodiments.

[0046] Example 1

[0047] According to an embodiment of the present invention, an embodiment of a deployment method for a satellite network controller is provided. It should be noted that the steps shown in the flowchart in the accompanying drawings can be executed in a computer system such as a set of computer-executable instructions. Furthermore, although a logical order is shown in the flowchart, in some cases, the steps shown or described may be executed in a different order than that shown here.

[0048] The satellite network controller deployment method embodiment provided in Embodiment 1 of this application can be executed on a mobile terminal, computer terminal, or similar computing device. Figure 1 A hardware block diagram of a computer terminal (or mobile device) for implementing a deployment method of a satellite network controller is shown. Figure 1 As shown, computer terminal 10 (or mobile device) may include one or more ( Figure 1 (Illustrated using 102a, 102b, ..., 102n) Processor 102 (processor 102 may include, but is not limited to, a microprocessor MCU (Microcontroller Unit) or a programmable gate array (FPGA), etc.), memory 104 for storing data, and transmission device 106 for communication functions. In addition, it may include: a display, input / output interface (I / O interface), Universal Serial Bus (USB) port (which may be included as one of the ports of a BUS bus), network interface, power supply, and / or camera. Those skilled in the art will understand that... Figure 1 The structure shown is for illustrative purposes only and does not limit the structure of the aforementioned electronic device. For example, computer terminal 10 may also include... Figure 1 The more or fewer components shown, or having the same Figure 1 The different configurations shown.

[0049] It should be noted that the aforementioned one or more processors 102 and / or other data processing circuits are generally referred to herein as "data processing circuits". These data processing circuits may be embodied, in whole or in part, in software, hardware, firmware, or any other combination thereof. Furthermore, the data processing circuits may be a single, independent processing module, or may be integrated, in whole or in part, into any other element within the computer terminal 10 (or mobile device). As involved in the embodiments of this application, the data processing circuits serve as a processor control mechanism (e.g., selection of a variable resistor termination path connected to an interface).

[0050] The memory 104 can be used to store software programs and modules of application software, such as the program instructions / data storage device corresponding to the deployment method of the satellite network controller in this embodiment. The processor 102 executes various functional applications and data processing by running the software programs and modules stored in the memory 104, thereby realizing the above-mentioned deployment method of the satellite network controller. The memory 104 may include high-speed random access memory, and may also include non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid-state memory. In some instances, the memory 104 may further include memory remotely located relative to the processor 102, and these remote memories can be connected to the computer terminal 10 via a network. Examples of such networks include, but are not limited to, the Internet, corporate intranets, local area networks, mobile communication networks, and combinations thereof.

[0051] The transmission device 106 is used to receive or send data via a network. Specific examples of the network described above may include a wireless network provided by the communication provider of the computer terminal 10. In one example, the transmission device 106 includes a Network Interface Controller (NIC), which can connect to other network devices via a base station to communicate with the Internet. In another example, the transmission device 106 may be a Radio Frequency (RF) module, used for wireless communication with the Internet.

[0052] The display can be, for example, a touchscreen liquid crystal display (LCD), which allows the user to interact with the user interface of the computer terminal 10 (or mobile device).

[0053] Under the aforementioned operating environment, this application provides the following: Figure 2 The deployment method of the satellite network controller is shown. Figure 2 This is a flowchart of an optional satellite network controller deployment method according to an embodiment of the present invention, such as... Figure 2 As shown, the method includes the following steps:

[0054] Step S201: Read the position data of each satellite node in the target satellite network model, and calculate the network topology and shortest path for each time slice. In this step, a satellite cycle is divided into multiple discrete time slices according to a predetermined time interval, and the network topology structure at the current moment is recorded in each time slice.

[0055] In this embodiment, to achieve static deployment of the satellite network controller, it is first necessary to read the position data of each satellite node in the target satellite network model. This fully utilizes the characteristics of satellite networks in dynamic environments to provide accurate physical network topology information for subsequent optimization processes. Specifically, this embodiment divides a satellite cycle into multiple discrete time slices (TS) according to a predetermined time interval. Each time slice records the network topology at that moment, including the positions of all satellite nodes and the status of their inter-satellite links (ISL). This embodiment can capture the dynamic changes of the network in the form of snapshots, providing time-series-based network state information for subsequent controller deployment decisions.

[0056] Subsequently, this embodiment calculates the network topology and shortest path for each time slice. Here, classic graph theory algorithms (such as Dijkstra's algorithm) can be used to calculate the shortest path from any satellite node to other nodes in the network. Considering the dynamic characteristics of the LEO satellite network, this calculation needs to be performed independently in each time slice to reflect the real-time changes in the network topology over time.

[0057] Step S202: Based on the population initialization strategy of betweenness centrality, generate the initial controller deployment population.

[0058] In this embodiment, a hybrid selection strategy based on betweenness centrality is adopted for population initialization to generate the initial controller deployment population. Betweenness centrality is an indicator that measures the importance of nodes in a network; a higher value indicates that the node acts as a "bridge" in all shortest paths of the network more frequently. Since nodes acting as "bridges" have a significant impact on traffic management and network response efficiency in LEO satellite networks, this embodiment selects satellite nodes with high betweenness centrality as candidate locations for controller deployment, aiming to quickly locate the possible optimal solution region in the early stages of the algorithm.

[0059] Optionally, the steps for generating the initial controller deployment population based on the population initialization strategy of betweenness centrality include: obtaining the total number of controllers and the heuristic strength coefficient; and generating the initial controller deployment population using a hybrid selection strategy based on the total number of controllers and the heuristic strength coefficient.

[0060] This embodiment first determines the total number of controllers to be deployed in the LEO satellite network. This number needs to be set according to the network scale and service requirements. Then, this embodiment defines a heuristic strength coefficient to balance the algorithm's preference for high-quality solutions with the need for population diversity. Based on the total number of controllers and the heuristic strength coefficient, this embodiment employs a hybrid selection strategy to generate the initial controller deployment population. Specifically, this embodiment can give a controller number constraint K and a heuristic strength coefficient α∈[0,1], deterministically select the first αK nodes with the highest betweenness centrality, and randomly select the remaining (1-α)K nodes. While ensuring population diversity, this concentrates the initial solution set in the potential optimal region, significantly accelerating the convergence of the genetic algorithm and improving the global search efficiency. The hybrid selection strategy can both accelerate the early exploration process of the algorithm and avoid the population converging to local optima too early, improving the algorithm's global search capability and the quality of the final solution.

[0061] Step S203: Based on the objective function value constraint, perform a population selection operation on the initial controller deployment population until a preset population iteration number threshold is reached to obtain the objective solution set. The objective function value includes: the flow establishment time calculated based on the network topology and shortest path of the time slice and the load variance between controllers. The population selection operation includes: repeatedly performing population individual congestion calculation operation, population screening operation, population crossover operation and mutation operation.

[0062] The objective function value in this embodiment is calculated based on the network topology and shortest path of the time slice. It mainly includes two key indicators: flow establishment time and load variance between controllers. It seeks a controller deployment scheme that can simultaneously optimize network response speed and resource allocation balance.

[0063] Optionally, the step of performing a population selection operation on the initial controller deployment population based on the objective function value constraint until a preset population iteration number threshold is reached to obtain the objective solution set includes: Step 1, determining whether the current iteration number has reached the preset population iteration number threshold; Step 2, if the current iteration number has not reached the preset population iteration number threshold, using a target non-dominated sorting algorithm to perform multi-objective sorting on the individuals in the controller deployment population, wherein the multi-objective sorting is determined based on the flow establishment time and the load variance between controllers; Step 3, performing a population individual crowding calculation operation to calculate the crowding degree of individuals in each population group in the controller deployment population. In the process, crowding is used to assess the distribution density of individuals in the target space; step four involves performing an individual selection operation, retaining individuals from the previous generation of controller deployment population that are at the top of the non-dominant hierarchy; step five involves performing a population crossover operation to generate subpopulations; step six involves performing a population mutation operation, using a dynamic mutation strategy to adjust the mutation rate of the controller deployment population based on the current iteration number and the crowding of individuals in each population; step seven involves a new population generation operation, merging the subpopulations with the current population to obtain a new controller deployment population; steps one through seven are repeated until the current iteration number reaches the preset population iteration number threshold, thus obtaining the target solution set.

[0064] This embodiment first checks whether the current iteration count of the algorithm has reached a preset threshold, which is one of the conditions for algorithm termination. Then, a target non-dominated sorting algorithm is used to perform multi-objective sorting on the individuals in the controller deployment population. If the current iteration count has not reached the preset threshold, this embodiment uses the target non-dominated sorting algorithm to sort the controller deployment individuals in the population based on two optimization objectives: flow establishment time and load variance between controllers. This allows for the identification of individuals that perform non-inferiorly (i.e., Pareto optimal) in the multi-objective space, providing a basis for subsequent population selection and genetic operations. Next, this embodiment calculates the crowding density of individuals in each population group. This indicator reflects the distribution density of individuals in the target space. Crowding density calculation helps to maintain population diversity while conducting effective selection, avoiding excessive concentration of solutions in a small region, thereby improving the algorithm's global search capability and convergence speed.

[0065] This embodiment retains individuals from the previous generation that occupy the top of the non-dominated hierarchy. These individuals perform optimally or nearly optimally in the target space, providing a high-quality solution set for algorithm evolution and facilitating the population's evolution towards the Pareto optimal front. Subsequently, this embodiment generates a new subpopulation through crossover. This step allows the algorithm to exchange genetic information among different individuals, promoting genetic diversity within the population, aiding in the exploration of various possible controller deployment schemes, and accelerating the algorithm's convergence process.

[0066] Furthermore, this embodiment employs a dynamic mutation strategy to adjust the mutation rate of the population based on the current iteration number and individual crowding. This strategy aims to maintain a high mutation rate in the early stages to enhance the population's exploration ability, while reducing the mutation rate in the later stages to promote the population's convergence towards the optimal solution set. In this way, this embodiment can effectively balance the algorithm's exploration and development, avoiding getting trapped in local optima. This embodiment also merges the subpopulations generated through crossover and mutation with the current population, then performs fast non-dominated sorting and crowding selection to finally obtain a new controller deployment population.

[0067] Optionally, the steps of performing population selection operations on the initial controller deployment population based on objective function value constraints include: obtaining the average flow establishment time and average controller load variance of the target satellite network in the previous period; performing weighted calculations on the average flow establishment time and average controller load variance according to preset weighting coefficients to obtain the objective function value; obtaining the total number of controllers in the target satellite network and the network propagation delay between each switch and its corresponding controller; and constraining the population selection operations performed on the initial controller deployment population using the objective function value and multiple preset constraints, wherein the multiple preset constraints include: the number of controllers equals the total number of controllers, the network propagation delay is less than a predetermined propagation delay threshold, the corresponding deployment relationship between controllers and switches, and each satellite node corresponds to one controller.

[0068] In this embodiment, the average flow establishment time and the average load variance of the controller are considered together and weighted by a preset weighting coefficient to obtain the objective function value. This objective function value is also subject to several preset constraints, including: the number of controllers equals the total number of controllers (ensuring that the number of controllers in the solution set strictly conforms to the preset total number of deployments), the network propagation delay is less than a predetermined propagation delay threshold (limiting the propagation delay between switches and controllers to ensure network response speed and efficiency), the corresponding deployment relationship between controllers and switches (defining the mapping rules between switches and controllers to ensure orderly network management), and each satellite node corresponds to one controller (this embodiment ensures that each satellite node is managed by only one controller to avoid resource conflicts and management chaos).

[0069] Optionally, the steps of obtaining the average flow establishment time and the average controller load variance of the target satellite network in the previous period include: obtaining the total flow establishment time of the target satellite network in the previous period; calculating the average flow establishment time based on the total flow establishment time, the total number of flows, and the total number of time slots; for any time slot, calculating the controller load caused by the initial flow setup request and the load generated by the intermediate flow setup request in that time slot to obtain the total controller load in that time slot; and calculating the average controller load variance based on the total controller load of each time slot and the total number of controllers.

[0070] Optionally, the step of obtaining the total flow establishment time of the target satellite network in the previous period includes: obtaining the first transmission delay of the target flow path corresponding to the service flow during the process of completing the initial flow setup request, wherein the initial flow setup request is a service flow message sent by the first satellite node in the target satellite network to the first controller to which the first satellite node belongs when the first satellite node receives the service flow request, the first controller calculates the target flow path for the service flow message and issues a first flow table to the first switch it manages; obtaining the second transmission delay of the target flow path corresponding to the service flow during the process of completing the intermediate flow setup request, wherein the intermediate flow setup request is a service flow message sent by the second switch in the new control domain to the second controller to which it belongs when the target flow path is detected to need to pass through a new control domain managed by a different controller, the second controller issues a second flow table to the second switch it manages after receiving the service flow message; and calculating the total flow establishment time of the data packets of the service flow sent by the first satellite node finally arriving at the target satellite node based on the first transmission delay and the second transmission delay.

[0071] In this embodiment, the first transmission delay is defined as the delay in the process of completing the initial flow setup request for the target flow corresponding to the service flow. The initial flow setup request refers to the process by which the first satellite node (considered a switch) in the target satellite network sends a service flow message to its affiliated first controller when it receives a service flow request. Upon receiving the request, the first controller processes the service flow message, calculates the target flow path, and issues a first flow table to the first switch it manages to guide the forwarding of data packets on the target flow path. The delay in this process, i.e., the first transmission delay, is a key component of the flow establishment time.

[0072] If the target flow path needs to pass through a control domain managed by a different controller (i.e., a new control domain), the second switch in the new control domain will detect this and send a service flow message to its affiliated second controller, triggering an intermediate flow setup request. Upon receiving the message, the second controller will issue a second flow table to the second switches it manages to update the flow settings, ensuring that data packets can successfully pass through the new control domain. The second transmission delay is the latency in this process, which also affects the total flow establishment time.

[0073] Based on the first transmission delay and the second transmission delay, this embodiment calculates the total flow establishment time for the service flow data packets sent by the first satellite node to finally reach the target satellite node. This calculation comprehensively considers the delay of the control plane (controller processing time and flow table issuance time) and the delay of the data plane (data packet transmission time), providing a comprehensive reference for evaluating network performance.

[0074] Optionally, the step of adjusting the mutation rate of the controller deployment population using a dynamic mutation strategy based on the current iteration number and the crowding degree of individuals in each population group includes: obtaining the average crowding degree of the first generation population, the first weight parameter corresponding to the time decay term, and the second weight parameter corresponding to the population diversity feedback term; calculating the average crowding degree of the current generation population based on the crowding degree of individuals in each population group; and adjusting the mutation rate of the controller deployment population in the current generation using a time-varying-population diversity coordinated mutation strategy based on the average crowding degree of the first generation population, the average crowding degree of the current generation population, the first weight parameter corresponding to the time decay term, and the second weight parameter corresponding to the population diversity feedback term.

[0075] This embodiment first obtains the average crowding level of the initial population, the weight parameters corresponding to the time decay term, and the weight parameters corresponding to the population diversity feedback term. The average crowding level reflects the distribution density of the initial population in the target space, while the two weight parameters are used to adjust the contribution of time decay and population diversity feedback in the mutation strategy, respectively. Then, this embodiment calculates the average crowding level of the current generation population based on the crowding levels of individuals in each population group. This average level reflects the distribution of the population in the current iteration state, which helps to dynamically adjust the mutation strategy to maintain the population's healthy diversity and search capability.

[0076] This embodiment employs a cooperative mutation strategy to adjust the mutation rate of the controller-deployed population in the current generation, based on the average crowding level of the initial population, the average crowding level of the current population, the weight parameters of the time decay term, and the weight parameters of the population diversity feedback term. In the early stages of algorithm iteration, the mutation rate is high to promote extensive exploration of the search space; however, as the number of iterations increases, the mutation rate gradually decreases, shifting towards more refined development of the current solution set. Simultaneously, the mutation intensity is dynamically adjusted through the population diversity feedback mechanism to ensure the population maintains appropriate diversity and prevents the algorithm from prematurely stagnating and converging.

[0077] Step S204: Determine the location of the satellite nodes deployed by each controller based on the target solution set.

[0078] It should be noted that the target solution set is the result of algorithm optimization, which includes a set of configuration schemes that are considered optimal or near-optimal in the multi-objective space. These schemes can better balance the flow establishment time and the load variance between the controller, reflecting a good trade-off between network response efficiency and resource allocation balance.

[0079] This embodiment first parses the target solution set to extract key information about controller deployment. Each solution represents a possible configuration for controller deployment, including information on whether a controller is deployed on each satellite node and the mapping relationship between the controller and the switch. The optimal or compromise solution is selected from the target solution set. Based on the deployment status indicated in this solution, this embodiment determines on which satellite nodes the controller should be deployed.

[0080] When faced with multiple non-dominated solutions, this embodiment can select the most suitable deployment scheme through trade-off decision analysis, taking into account the relative importance of different objectives and actual network requirements. For example, weighting coefficients can be set to balance the importance of flow setup time and load variance between the controller.

[0081] Through the above steps, the location data of each satellite node in the target satellite network model can be read, and the network topology and shortest path of each time slice can be calculated. Specifically, a satellite cycle is pre-divided into multiple discrete time slices according to a predetermined time interval, and the network topology at the current moment is recorded within each time slice. An initial controller deployment population is generated based on a population initialization strategy based on betweenness centrality. Population selection operations are performed on the initial controller deployment population based on objective function value constraints until a preset population iteration threshold is reached, yielding the target solution set. The objective function value includes: the flow establishment time calculated based on the network topology and shortest path of each time slice, and the load variance between controllers. The population selection operations include: repeatedly performing population individual congestion calculation, population screening, population crossover, and mutation operations. The location of each satellite node deployed by the controller is determined based on the target solution set. In this embodiment, a model considering the dynamic characteristics of satellite networks (including the concept of time slices) is constructed to adapt to the highly dynamic environment of satellite networks. The static deployment problem of the controller is transformed into a multi-objective optimization problem. By comprehensively optimizing the flow establishment time and controller load variance in the network, the optimal controller deployment scheme is found, which can effectively reduce network latency, greatly reduce flow establishment time, and significantly improve network response speed and user service experience. This solves the technical problem in related technologies that it is difficult to effectively handle multi-objective conflicts when deploying controllers in satellite networks, which easily leads to high network latency.

[0082] The following describes in detail another optional implementation method.

[0083] To address the controller load imbalance problem caused by the highly dynamic topology and uneven spatiotemporal distribution of service traffic in LEO satellite networks, this invention proposes a method for static deployment of controllers based on an improved population algorithm (such as NSGA-II).

[0084] The basic implementation process of the static deployment method for controllers based on an improved population algorithm mentioned in this invention is as follows:

[0085] I. Software-defined LEO satellite network model.

[0086] In the LEO constellation, all satellites are organized into multiple orbital planes. Assuming the constellation contains P orbital planes, with S satellites deployed in each plane, the total number of satellites can be represented as N = P × S. Inter-satellite links can be established between satellite nodes within the same orbital plane or between adjacent orbital planes, referred to as intra-orbit ISLs and inter-orbit ISLs, respectively. Due to the high Doppler shift, links between satellites orbiting in opposite directions have poor stability and short duration. Therefore, in this LEO satellite network model, inter-orbit ISLs only exist between satellites orbiting in the same direction.

[0087] Because satellites are constantly moving in their orbits, their positions change in real time, resulting in a constantly evolving topology of the entire satellite network. This dynamic change poses significant challenges to network management and optimization, especially for tasks such as path planning and load balancing, where traditional static analysis methods are often inapplicable. To effectively address the difficulties posed by this dynamic change in problem-solving, this embodiment introduces the concept of "time slices" into the LEO satellite network model. By dividing a satellite cycle T into several discrete time slices, denoted as r, according to certain time intervals, the network topology at the current moment is recorded within each time slice, thus obtaining the set of time slices R. This allows for snapshot-style analysis and optimization of the network state, thereby achieving a relatively stable controller deployment strategy in a dynamic environment.

[0088] To describe the dynamic network topology of constellations, this implementation defines a time-varying undirected graph G. r (V,E), where V={v1,v2,...,v n Let} represent the set of satellite nodes, and E represent the set of ISLs, to represent the network topology under time slice r. In this model, all satellite nodes can deploy controllers and all have the function of switches. The controllers communicate with the switches using in-band control (i.e., using existing network links for communication instead of laying additional control links). Define an N-dimensional vector x = (x1, x2, ..., xn) consisting of 0s and 1s. N ), indicating the location of the satellite nodes deployed by the controller:

[0089]

[0090] Define matrix U to represent the mapping relationship between the controller and the switch:

[0091]

[0092] Where the subscript i indicates that at node v i Controller c deployed at location i The subscript j indicates that at node v j Switches deployed at the location j .

[0093] II. Flow establishment time model.

[0094] Figure 3 This is a schematic diagram of an optional distributed satellite SDN according to an embodiment of the present invention, such as... Figure 3 As shown, this includes satellite nodes s1 to s6, and controllers c1 and c2. A new service flow is generated between the blocks corresponding to data layer satellite nodes s1 and s6. When node s1 (corresponding to the first satellite node mentioned above) detects the arrival of a new service flow and finds no matching flow table entry, it sends a packet-in message (corresponding to the service flow message mentioned above) to its parent controller c1 (corresponding to the first controller mentioned above) as an Initial Flow Setup Request. After receiving the message, controller c1 calculates the optimal flow path for the service flow (e.g., ...). Figure 3 In the flow path, s1→s3→s5→s6 is used, and the corresponding flow table is issued to the switches (s1 and s3) managed by it. When the flow path needs to pass through control domains managed by different controllers (such as s5 and s6 in the flow path being managed by c2), the first switch in the new control domain (such as c2) will issue the corresponding flow table. Figure 3 (s5) will send a signal to its parent controller (such as...) Figure 3 In step c2), a PACKET_IN message is sent as an intermediate flow setup request. Upon receiving the message, the controller distributes the corresponding flow tables to the switches it manages in the flow path. If there are still cross-domain parts in the subsequent flow path, this process will continue until the data packet arrives at the destination node to complete the entire flow establishment process.

[0095] Flow setup time is defined as the total delay from the first switch node in the flow path sending the initial flow setup request to the completion of service flow packet forwarding. Figure 3 The network topology shown represents the total latency from when node s1 sends a PACKET_IN message to controller c1 until the service data packet sent by node s1 finally arrives at node s6. The entire process includes two main parts: the flow table distribution latency in the control plane and the data packet transmission latency in the data plane. Under time slice r, the flow establishment time of service flow f can be expressed as:

[0096]

[0097] Where, d r,i,jf represents the propagation delay between node i and node j in time slice r. src and f dst Let p represent the source node and destination node of the business flow f, respectively, and let C represent the set of controllers. f,r δ represents the set of switches along the path f of the service flow. s,f Indicates whether the controller is the source node of the business flow f:

[0098]

[0099] μ s,c This indicates the mapping relationship between the controller and the switch:

[0100]

[0101] Γ c,s,s′ Indicate whether switch s and its upstream switch s′ both belong to controller c:

[0102]

[0103] Total flow establishment time is:

[0104]

[0105] The average flow setup time is:

[0106]

[0107] Where |F| represents the total number of streams and |R| represents the total number of time slices.

[0108] III. Controller Load Model.

[0109] When a service flow f crosses different control domains, the first switch in the new control domain will send a PACKET_IN message to the corresponding controller. Then, under time slice r, controller c... j The load is:

[0110]

[0111] The first half quantifies the controller load caused by the initial stream setup request, while the second half specifically evaluates the load generated by intermediate stream setup requests. Across all time slices, controller c... j The total load is:

[0112]

[0113] If there are currently K controllers deployed, then the load variance is:

[0114]

[0115] in,

[0116] IV. Static Deployment Problem Model.

[0117] To address the challenge of selecting K optimal satellite nodes within a single satellite cycle T and statically deploying controllers on these nodes, two main optimization objectives are focused on: first, minimizing flow setup time to improve network response efficiency and quality of service; and second, reducing load variance among controllers to achieve load balancing and enhance network stability and reliability. Achieving these two objectives is crucial for improving the overall performance of the satellite network.

[0118] According to formula (13), f1 represents the average flow establishment time within one period:

[0119]

[0120] According to formula (14), f2 represents the average load variance of the controller over one period:

[0121]

[0122] The optimization objective is:

[0123] minαf1+(1-α)f2 (15)

[0124] Where α∈[0,1] is the weighting coefficient, reflecting the trade-off between latency performance and load balancing.

[0125] Consider constraints from different dimensions. First, constraint formula (16) ensures that the total number of controllers deployed in the network is exactly K:

[0126]

[0127] Constraint (17) ensures that only node v i The controller c is deployed at the location. i At that time, switch v j Fang Keyou c i control:

[0128]

[0129] Constraint (18) ensures that each satellite node v j It is controlled by exactly one controller:

[0130]

[0131] Constraint (19) ensures that under any time slice r, any switch v jIts corresponding controller c i The propagation delay between them is less than a given threshold:

[0132]

[0133] Based on the above objectives and constraints, the static deployment problem of the controller, which aims to minimize the flow setup time and controller load variance, can be formulated as a multi-objective optimization problem:

[0134] find x

[0135]

[0136]

[0137] V. Multi-controller deployment algorithm based on improved NSGA-II.

[0138] (1) Heuristic population initialization based on betweenness centrality.

[0139] Traditional genetic algorithms typically use random initialization to generate the initial population. However, this method may generate a large number of low-quality solutions, negatively impacting the algorithm's convergence speed and ultimately affecting the quality of the final solution. Therefore, to improve algorithm performance, the random initialization strategy needs to be appropriately modified. This implementation introduces a heuristic initialization method based on betweenness centrality. Betweenness centrality, a key concept in network analysis, quantifies the frequency of a node's occurrence in all shortest paths of a network. It characterizes the role a node plays as a "bridge" in the network; specifically, the higher the betweenness centrality value of a node, the more crucial its role as a "mediator" or "hub" in the network. The betweenness centrality C of node v... B (v) can be calculated using the following formula (21):

[0140]

[0141] Where, σ st σ represents the total number of shortest paths from node s to node t. st (v) represents the number of paths that actually pass through node v in these shortest paths, and V represents the set of all nodes in the network.

[0142] This method employs a hybrid selection strategy to generate the initial population P0: given the controller number constraint K and the heuristic strength coefficient α∈[0,1], the top αK nodes with the highest betweenness centrality are deterministically selected, and the remaining (1-α)K nodes are randomly selected. While ensuring population diversity, the initial solution set is concentrated in the potential optimal region, which significantly accelerates the convergence of the genetic algorithm and improves the global search efficiency.

[0143] (2) Time-varying-population diversity co-variation.

[0144] In population dynamics algorithms, crossover and mutation are two fundamental components of genetic operations, working together to influence the evolutionary process of the population. Crossover generates new offspring by combining the genes of two parent individuals, exchanging parts of the chromosomes of the two parents with a certain probability, thus creating genetic diversity. Mutation, on the other hand, randomly alters the genes of some offspring individuals with a lower probability, introducing new genetic variations to prevent the algorithm from getting trapped in local optima and to maintain population diversity.

[0145] Traditional NSGA-II typically employs a fixed mutation rate, but this approach may not be suitable for the search requirements at all stages. Different mutation rates may be needed to maintain population diversity and convergence speed at different stages of the algorithm. Therefore, this implementation introduces a time-varying, population diversity-coordinated mutation strategy, with the mutation rate at generation g... for

[0146]

[0147] Where, p α and p β G represents the weights of the time decay term and the population diversity feedback term, respectively. max This represents the maximum number of generations in the evolution. This represents the average crowding level of the g-th generation, used to characterize the population diversity of that generation. This represents the average crowding level of the first generation population.

[0148] In the early stages of algorithm iteration, a higher mutation rate enhances global search capabilities, helping the algorithm escape local optima and broadly explore different controller location combinations in satellite network deployment. In the later stages, the mutation rate decays with each generation, shifting towards a more refined local search for stable convergence. Simultaneously, a diversity feedback term dynamically adjusts the mutation intensity by monitoring population distribution, preventing the population from stagnating due to diversity loss. This approach more effectively balances the algorithm's exploratory and developmental capabilities.

[0149] Figure 4 This is a flowchart of an optional static deployment method for a software-defined satellite network controller based on an improved population algorithm according to an embodiment of the present invention, such as... Figure 4 As shown, the specific steps include:

[0150] Step 1: Read satellite network location data and pre-calculate the network topology and shortest path for each time slice.

[0151] Step 2: Pre-generate the ground user service flow matrix.

[0152] Step 3: Generate the initial population based on betweenness centrality heuristic.

[0153] Step 4: Determine if the maximum number of iterations has been reached. If it has, output the Pareto optimal set and determine the required deployment scheme by compromise. If it has not been reached, proceed to Step 5.

[0154] Step 5: Calculate the objective function value, including flow establishment time and controller load variance.

[0155] Step 6: Perform fast non-dominated sorting, crowding calculation, and elite retention strategy selection on the current population.

[0156] Figure 5 This is a schematic diagram of an optional non-dominated sorting according to an embodiment of the present invention, such as... Figure 5 As shown, for the fast non-dominated sorting algorithm, individuals in the population are hierarchically divided according to the dual objective evaluation criteria of flow establishment time and load variance between controllers to form a non-dominated sort. Figure 5 The paper demonstrates how to hierarchically divide the population individuals (such as the Pareto front) based on two objective functions: flow establishment time (FST) and controller load variance (CLV), forming a non-dominated ranking for distinguishing the superiority or inferiority of the population.

[0157] Figure 6 This is a schematic diagram of an optional congestion level according to an embodiment of the present invention, such as... Figure 6 As shown, it can calculate the crowding distance value of each individual based on the density of objective function values ​​around each individual, in order to assess the relative rarity of an individual in the population. For example... Figure 6 As shown, by calculating the density (crowding distance) of the objective function values ​​around an individual, the sparsity of the solution distribution in the objective space is evaluated, ensuring that the algorithm preserves diversity.

[0158] Figure 7 This is a schematic diagram of an optional elite retention strategy according to an embodiment of the present invention, such as... Figure 7 As shown, by using non-dominated sorting and crowding calculation, individuals at the top of the non-dominated hierarchy in the previous generation are directly retained in the next generation, thus ensuring the inheritance of superior genetic information. Figure 7 In this process, the best individuals at the top of the non-dominant hierarchy in the previous generation are directly preserved to the next generation to maintain high-quality genetic information.

[0159] Step 7: Population crossover, time-varying and population diversity co-dynamic variation, to obtain subpopulations.

[0160] Step 8: After merging the subpopulation with the current population, perform a fast non-dominated sort to obtain a new population.

[0161] Step 9: Return to Step 4 to make a judgment.

[0162] During controller deployment, it is necessary to balance latency performance and load balancing. The following sections provide illustrative examples of each.

[0163] Furthermore, embodiments of the present invention can realize controller deployment decisions for software-defined LEO satellite networks through a simulation system. The complete simulation process mainly consists of the following steps: First, dynamic simulation is performed on the target satellite constellation, and the three-dimensional position coordinate data of each satellite at different times are collected by time slicing; then, the satellite position information generated by the simulation is exported to a table for structured storage according to the time series; next, the spatiotemporal data in the table is read and parsed, and converted into a set of timestamp-satellite node spatiotemporal coordinates; on this basis, a dynamic network topology model is constructed through a database—for each time slice, a corresponding graph structure network is generated according to the inter-satellite link connection rules between satellites; after inputting the constructed network topology and algorithm parameters, the optimal controller deployment scheme is output, and the results are analyzed.

[0164] Compared with existing methods, the embodiments of the present invention can significantly improve the convergence speed and solution quality of the algorithm, significantly reduce the flow establishment time, and efficiently balance the network response efficiency and the balance of controller resource allocation.

[0165] The following is a detailed description with reference to another embodiment.

[0166] Example 2

[0167] The satellite network controller deployment device provided in this embodiment includes multiple implementation units, each of which corresponds to a specific implementation step in Embodiment 1 above. The specific implementation method and beneficial effects can be referred to the aforementioned method embodiment, and will not be repeated here.

[0168] Figure 8 This is a schematic diagram of an optional satellite network controller deployment device according to an embodiment of the present invention, such as... Figure 8 As shown, the deployment device of the satellite network controller may include: a location reading unit 81, a population initialization unit 82, a population iteration unit 83, and a node deployment unit 84.

[0169] The location reading unit 81 is used to read the location data of each satellite node in the target satellite network model and calculate the network topology and shortest path of each time slice. In this case, a satellite cycle is divided into multiple discrete time slices according to a predetermined time interval, and the network topology structure at the current moment is recorded in the time slice.

[0170] Population initialization unit 82 is used to generate an initial controller deployment population based on a population initialization strategy of betweenness centrality.

[0171] Population iteration unit 83 is used to perform population selection operations on the initial controller deployment population based on objective function value constraints until a preset population iteration number threshold is reached to obtain the objective solution set. The objective function value includes: the flow establishment time calculated based on the network topology and shortest path of the time slice and the load variance between controllers. The population selection operation includes: repeatedly performing population individual congestion calculation operation, population screening operation, population crossover operation and mutation operation.

[0172] The node deployment unit 84 is used to determine the location of the satellite nodes deployed by each controller based on the target solution set.

[0173] The aforementioned satellite network controller deployment device can read the position data of each satellite node in the target satellite network model through the position reading unit 81, and calculate the network topology and shortest path for each time slice. Specifically, a satellite cycle is pre-divided into multiple discrete time slices according to a predetermined time interval. The network topology structure at the current moment is recorded within each time slice. An initial controller deployment population is generated through the population initialization unit 82 based on a population initialization strategy using betweenness centrality. A population selection operation is performed on the initial controller deployment population by the population iteration unit 83 based on objective function value constraints until a preset population iteration threshold is reached, yielding the target solution set. The objective function value includes: the flow establishment time calculated based on the network topology and shortest path of the time slice, and the load variance between controllers. The population selection operation includes: repeatedly performing population individual congestion calculation, population screening, population crossover, and mutation operations. The node deployment unit 84 determines the position of the satellite nodes deployed by each controller based on the target solution set. In this embodiment, a model considering the dynamic characteristics of satellite networks (including the concept of time slices) is constructed to adapt to the highly dynamic environment of satellite networks. The static deployment problem of the controller is transformed into a multi-objective optimization problem. By comprehensively optimizing the flow establishment time and controller load variance in the network, the optimal controller deployment scheme is found, which can effectively reduce network latency, greatly reduce flow establishment time, and significantly improve network response speed and user service experience. This solves the technical problem in related technologies that it is difficult to effectively handle multi-objective conflicts when deploying controllers in satellite networks, which easily leads to high network latency.

[0174] Optionally, the population iteration unit includes: an iteration count judgment module, used to execute step one, determining whether the current iteration count has reached a preset population iteration count threshold; an individual sorting module, used to execute step two, where, if the current iteration count has not reached the preset population iteration count threshold, a target non-dominated sorting algorithm is used to perform multi-objective sorting of individuals in the controller deployment population, wherein the multi-objective sorting is determined based on the flow establishment time and the load variance between controllers; a congestion calculation module, used in step three, to perform a population individual congestion calculation operation, calculating the congestion of individuals in various populations in the controller deployment population, wherein the congestion is used to evaluate the distribution density of population individuals in the target space; and an individual screening module. The first module performs step four, which involves individual selection to retain individuals at the top of the non-dominant hierarchy in the previous generation of the controller deployment population. The second module performs step five, which involves population crossover to generate subpopulations. The third module performs step six, which involves population mutation to adjust the mutation rate of the controller deployment population based on the current iteration number and the crowding of individuals in each population using a dynamic mutation strategy. The fourth module performs step seven, which involves generating a new population by merging the subpopulations with the current population to obtain a new controller deployment population. The fifth module performs step seven, which involves repeating steps one through seven until the current iteration number reaches a preset population iteration threshold to obtain the target solution set.

[0175] Optionally, the population iteration unit includes: a parameter acquisition module, used to acquire the average flow establishment time and the average load variance of the controller in the target satellite network in the previous period; a first weighted calculation module, used to perform weighted calculation on the average flow establishment time and the average load variance of the controller according to preset weighting coefficients to obtain the objective function value; a total number of controllers acquisition module, used to acquire the total number of controllers in the target satellite network and the network propagation delay between each switch and the corresponding controller; and a selection constraint module, used to constrain the population selection operation performed by the initial controller deployment population using the objective function value and multiple preset constraints, wherein the multiple preset constraints include: the number of controllers is equal to the total number of controllers, the network propagation delay is less than a predetermined propagation delay threshold, the corresponding deployment relationship between controllers and switches, and each satellite node corresponds to one controller.

[0176] Optionally, the parameter acquisition module includes: a total flow establishment duration acquisition submodule, used to acquire the total flow establishment duration of the target satellite network in the previous period; an average flow establishment duration calculation submodule, used to calculate the average flow establishment duration based on the total flow establishment duration, the total number of flows, and the total number of time slots; a controller load calculation submodule, used to calculate, for any time slot, the controller load caused by the initial flow setting request and the load generated by the intermediate flow setting request in that time slot, to obtain the total controller load in that time slot; and a controller average load variance calculation submodule, used to calculate the controller average load variance based on the total controller load and the total number of controllers in each time slot.

[0177] Optionally, the total flow establishment time acquisition submodule includes: a first transmission delay acquisition submodule, used to acquire the first transmission delay of the target flow path corresponding to the service flow during the process of completing the initial flow setting request, wherein the initial flow setting request is a service flow message sent by the first satellite node in the target satellite network to the first controller to which the first satellite node belongs when the first satellite node receives the service flow request, and the first controller calculates the target flow path for the service flow message and issues a first flow table to the first switch it manages; a second transmission delay acquisition submodule, used to acquire the second transmission delay of the target flow path corresponding to the service flow during the process of completing the intermediate flow setting request, wherein the intermediate flow setting request is a service flow message sent by the second switch in the new control domain to the second controller to which it belongs when the target flow path is detected to need to pass through a new control domain managed by a different controller, and the second controller issues a second flow table to the second switch it manages after receiving the service flow message; and a total flow establishment time acquisition submodule, used to calculate the total flow establishment time of the data packets of the service flow sent by the first satellite node finally arriving at the target satellite node based on the first transmission delay and the second transmission delay.

[0178] Optionally, the mutation module includes: a weight parameter acquisition submodule, used to acquire the average crowding level of the first generation population, the first weight parameter corresponding to the time decay term, and the second weight parameter corresponding to the population diversity feedback term; an average crowding level calculation submodule, used to calculate the average crowding level of the current generation population based on the crowding level of individuals in each population; and a mutation rate adjustment submodule, used to adjust the mutation rate of the controller-deployed population in the current generation based on the average crowding level of the first generation population, the average crowding level of the current generation population, the first weight parameter corresponding to the time decay term, and the second weight parameter corresponding to the population diversity feedback term, using a time-varying-population diversity coordinated mutation strategy.

[0179] Optionally, the population initialization unit includes: an intensity coefficient acquisition module for acquiring the total number of controllers and the heuristic intensity coefficient; and a population initialization module for generating an initial controller deployment population based on the total number of controllers and the heuristic intensity coefficient using a hybrid selection strategy.

[0180] The deployment device of the aforementioned satellite network controller may also include a processor and a memory. The aforementioned location reading unit 81, population initialization unit 82, population iteration unit 83, node deployment unit 84, etc., are all stored in the memory as program units, and the processor executes the aforementioned program units stored in the memory to realize the corresponding functions.

[0181] The aforementioned processor contains a kernel, which retrieves the corresponding program units from memory. One or more kernels can be configured, and the static deployment of a satellite network controller based on an improved population algorithm can be achieved by adjusting kernel parameters.

[0182] The aforementioned memory may include non-permanent memory in computer-readable media, such as random access memory (RAM) and / or non-volatile memory, such as read-only memory (ROM) or flash RAM, and the memory includes at least one memory chip.

[0183] Example 3

[0184] Embodiments of this application may provide an electronic device. Figure 9 This is a structural block diagram of an electronic device according to an embodiment of this application. Figure 9 As shown, the electronic device may include: one or more ( Figure 9 Only one of the following is shown: processor 902, memory 904, memory controller, and peripheral interface, wherein the peripheral interface is connected to the radio frequency module, audio module, and display.

[0185] The memory can be used to store software programs and modules, such as the program instructions / modules corresponding to the satellite network controller deployment method and apparatus in this application embodiment. The processor executes various functional applications and data processing by running the software programs and modules stored in the memory, thereby realizing the aforementioned satellite network controller deployment method. The memory may include high-speed random access memory, and may also include non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid-state memory. In some instances, the memory may further include memory remotely located relative to the processor, and these remote memories can be connected to the terminal via a network. Examples of such networks include, but are not limited to, the Internet, corporate intranets, local area networks, mobile communication networks, and combinations thereof.

[0186] The processor can access information and applications stored in memory via a transmission device to execute the following steps: Read the location data of each satellite node in the target satellite network model and calculate the network topology and shortest path for each time slice. A satellite cycle is pre-divided into multiple discrete time slices according to a predetermined time interval, and the network topology at the current moment is recorded within each time slice. Generate an initial controller deployment population based on a population initialization strategy using betweenness centrality. Perform population selection operations on the initial controller deployment population based on objective function value constraints until a preset population iteration threshold is reached to obtain the target solution set. The objective function value includes: the flow establishment time calculated based on the network topology and shortest path of each time slice, and the load variance between controllers. The population selection operations include: repeatedly performing population individual congestion calculation, population screening, population crossover, and mutation operations. Determine the location of each satellite node deployed by the controller based on the target solution set.

[0187] Those skilled in the art will understand that Figure 9 The structure shown is for illustrative purposes only. Electronic devices can also be smartphones, tablets, handheld computers, mobile internet devices (MIDs), PADs, and other terminal devices. Figure 9 This does not limit the structure of the aforementioned electronic device. For example, electronic devices may also include components that are more... Figure 9 The more or fewer components shown (such as network interfaces, display devices, etc.), or having the same Figure 9 The different configurations shown.

[0188] Those skilled in the art will understand that all or part of the steps in the deployment methods of various satellite network controllers in the above embodiments can be implemented by a program instructing the hardware related to the terminal device. The program can be stored in a computer-readable storage medium, which may include: flash drive, read-only memory (ROM), random access memory (RAM), disk or optical disk, etc.

[0189] Example 4

[0190] Embodiments of this application also provide a storage medium. Optionally, in this embodiment, the storage medium can be used to store the program code executed by the deployment method of the satellite network controller provided in Embodiment 1.

[0191] According to another aspect of the present invention, a computer-readable storage medium is also provided, the computer-readable storage medium including a stored computer program, wherein, when the computer program is running, it controls the device where the computer-readable storage medium is located to execute the deployment method of the satellite network controller of any one of the above embodiments.

[0192] Optionally, in this embodiment, the storage medium may be located in any computer terminal in a group of computer terminals in a computer network, or in any mobile terminal in a group of mobile terminals.

[0193] This application also provides a computer program product, including a computer program that, when executed by a processor, implements the steps of the satellite network controller deployment method described in various embodiments of this application.

[0194] This application also provides a computer program product, including a non-volatile computer-readable storage medium storing a computer program that, when executed by a processor, implements the steps of the deployment method of the satellite network controller described in various embodiments of this application.

[0195] The sequence numbers of the above embodiments of the present invention are for descriptive purposes only and do not represent the superiority or inferiority of the embodiments.

[0196] In the above embodiments of the present invention, the descriptions of each embodiment have different focuses. For parts not described in detail in a certain embodiment, please refer to the relevant descriptions of other embodiments.

[0197] In the several embodiments provided in this application, it should be understood that the disclosed technical content can be implemented in other ways. The device embodiments described above are merely illustrative; for example, the division of units can be a logical functional division, and in actual implementation, there may be other division methods. For instance, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the displayed or discussed mutual coupling, direct coupling, or communication connection may be through some interfaces; the indirect coupling or communication connection between units or modules may be electrical or other forms.

[0198] The unit described as a separate component may or may not be physically separate. The component shown as a unit may or may not be a physical unit, that is, it may be located in one place or it may be distributed across multiple units.

[0199] Furthermore, the functional units in the various embodiments of the present invention can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit.

[0200] If the integrated unit is implemented as a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present invention, in essence, or the part that contributes to the prior art, or all or part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of the present invention. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, read-only memory (ROM), random access memory (RAM), portable hard drives, magnetic disks, or optical disks.

[0201] The above description is only a preferred embodiment of the present invention. It should be noted that for those skilled in the art, several improvements and modifications can be made without departing from the principle of the present invention, and these improvements and modifications should also be considered within the scope of protection of the present invention.

Claims

1. A method for deploying a satellite network controller, characterized in that, include: The location data of each satellite node in the target satellite network model are read, and the network topology and shortest path of each time slice are calculated. In this process, a satellite cycle is divided into multiple discrete time slices according to a predetermined time interval. The network topology structure at the current moment is recorded in each time slice. The network topology structure includes the location of all satellite nodes and the inter-satellite link status between each satellite node. In each time slice, the Dijkstra algorithm is used independently to calculate the shortest path from any satellite node to other satellite nodes in the network. A population initialization strategy based on betweenness centrality is used to generate an initial controller deployment population, including: obtaining the total number of controllers. and heuristic intensity coefficient ,in, The value range is 0 to 1; based on the total number of controllers and the heuristic strength coefficient, a hybrid selection strategy is adopted to generate the initial controller deployment population, wherein the hybrid selection strategy includes: deterministic selection before The highest betweenness centrality node, the remainder Each node is randomly selected; The initial controller deployment population is subjected to a population selection operation based on the objective function value constraint until a preset population iteration threshold is reached to obtain the target solution set. The objective function value includes: the flow establishment time calculated based on the network topology and shortest path of the time slice, and the load variance between controllers. The population selection operation includes: repeatedly performing population individual crowding calculation, population screening, population crossover, and population mutation. When performing the population mutation operation, the following steps are taken: obtaining the average crowding of the initial population, a first weight parameter corresponding to the time decay term, and a second weight parameter corresponding to the population diversity feedback term; calculating the average crowding of the current generation population based on the crowding of each individual population; and adjusting the mutation rate of the controller deployment population in the current generation using a time-varying-population diversity coordinated mutation strategy based on the average crowding of the initial population, the average crowding of the current generation population, the first weight parameter corresponding to the time decay term, and the second weight parameter corresponding to the population diversity feedback term. The location of the satellite nodes deployed by each controller is determined based on the target solution set.

2. The deployment method of the satellite network controller according to claim 1, characterized in that, The steps of performing population selection operations on the initial controller deployment population based on objective function value constraints until a preset population iteration threshold is reached to obtain the target solution set include: Step 1: Determine whether the current iteration count has reached the preset population iteration count threshold; Step 2: If the current iteration number has not reached the preset population iteration number threshold, a target non-dominated sorting algorithm is used to perform multi-objective sorting on the individuals in the controller deployment population. The multi-objective sorting is determined based on the flow establishment time and the load variance between controllers. Step 3: Perform population crowding calculation operation to calculate the crowding of individuals in the controller deployment population, wherein the crowding is used to assess the distribution density of the population individuals in the target space; Step 4: Perform individual screening to retain individuals from the previous generation controller deployment population that are at the top of the non-dominant hierarchy. Step 5: Perform population crossover to generate subpopulations; Step 6: Perform population mutation operation. Based on the current iteration number and the crowding of individuals in various populations, use a dynamic mutation strategy to adjust the mutation rate of the population deployed by the controller. Step 7: New population generation operation, which merges the subpopulation with the current population to obtain a new controller deployment population; Repeat steps one through seven until the current iteration count reaches the preset population iteration count threshold to obtain the target solution set.

3. The deployment method of the satellite network controller according to claim 2, characterized in that, The steps of performing population selection operations on the initial controller deployment population based on objective function value constraints include: Obtain the average flow establishment time and the average controller load variance of the target satellite network in the previous period; The objective function value is obtained by weighting the average flow establishment time and the average load variance of the controller according to the preset weighting coefficients. Obtain the total number of controllers in the target satellite network, and the network propagation delay between each switch and its corresponding controller; The population selection operation performed by the initial controller deployment population is constrained by the objective function value and multiple preset constraints. The multiple preset constraints include: the number of controllers is equal to the total number of controllers, the network propagation delay is less than a predetermined propagation delay threshold, the corresponding deployment relationship between controllers and switches, and one controller for each satellite node.

4. The deployment method of the satellite network controller according to claim 3, characterized in that, The steps for obtaining the average flow establishment time and the average controller load variance of the target satellite network in the previous period include: Obtain the total flow establishment time of the target satellite network in the previous cycle; The average stream establishment time is calculated based on the total stream establishment time, the total number of streams, and the total number of time slices. For any time slice, calculate the controller load caused by the initial stream setup request and the load caused by the intermediate stream setup request in that time slice to obtain the total controller load in that time slice; The average load variance of the controllers is calculated based on the total controller load and the total number of controllers in each time slice.

5. The deployment method of the satellite network controller according to claim 4, characterized in that, The steps for obtaining the total flow establishment time of the target satellite network in the previous period include: The first transmission delay of the target flow path corresponding to the service flow during the process of completing the initial flow setting request is obtained. The initial flow setting request is a service flow message sent by the first satellite node in the target satellite network to the first controller to which the first satellite node belongs when the first satellite node receives the service flow request. The first controller calculates the target flow path for the service flow message and issues a first flow table to the first switch it manages. The second transmission delay of the target flow path corresponding to the service flow during the intermediate flow setting request process is obtained. The intermediate flow setting request is a service flow message sent by the second switch in the new control domain to its own second controller when the target flow path needs to pass through a new control domain managed by different controllers. After receiving the service flow message, the second controller issues a second flow table to the second switch it manages. Based on the first transmission delay and the second transmission delay, calculate the total flow establishment time for the data packets of the service flow sent by the first satellite node to finally reach the target satellite node.

6. A deployment device for a satellite network controller, characterized in that, include: The location reading unit is used to read the location data of each satellite node in the target satellite network model and calculate the network topology and shortest path for each time slice. In this unit, a satellite cycle is divided into multiple discrete time slices according to a predetermined time interval. The network topology structure at the current moment is recorded in each time slice. The network topology structure includes the location of all satellite nodes and the inter-satellite link status between each satellite node. In each time slice, the Dijkstra algorithm is used independently to calculate the shortest path from any satellite node to other satellite nodes in the network. The population initialization unit is used to generate an initial controller deployment population based on a population initialization strategy of betweenness centrality, including: obtaining the total number of controllers. and heuristic intensity coefficient ,in, The value range is 0 to 1; based on the total number of controllers and the heuristic strength coefficient, a hybrid selection strategy is adopted to generate the initial controller deployment population, wherein the hybrid selection strategy includes: deterministic selection before The highest betweenness centrality node, the remainder Each node is randomly selected; A population iteration unit is used to perform a population selection operation on the initial controller deployment population based on objective function value constraints until a preset population iteration number threshold is reached to obtain the target solution set. The objective function value includes: flow establishment time calculated based on the network topology and shortest path of the time slice, and the load variance between controllers. The population selection operation includes: repeatedly performing population individual crowding calculation, population screening, population crossover, and population mutation. When performing the population mutation operation, it includes: obtaining the average crowding of the initial population, a first weight parameter corresponding to the time decay term, and a second weight parameter corresponding to the population diversity feedback term; calculating the average crowding of the current generation population based on the crowding of each individual population; and adjusting the mutation rate of the controller deployment population in the current generation using a time-varying-population diversity coordinated mutation strategy based on the average crowding of the initial population, the average crowding of the current generation population, the first weight parameter corresponding to the time decay term, and the second weight parameter corresponding to the population diversity feedback term. The node deployment unit is used to determine the location of the satellite nodes deployed by each controller based on the target solution set.

7. An electronic device, characterized in that, It includes one or more processors and a memory for storing one or more programs, wherein when the one or more programs are executed by the one or more processors, the one or more processors cause the one or more processors to implement the deployment method of the satellite network controller according to any one of claims 1 to 5.

8. A computer program product, comprising a computer program, characterized in that, When the computer program is executed by the processor, it implements the steps of the deployment method of the satellite network controller according to any one of claims 1 to 5.

Citation Information

Patent Citations

  • Satellite network SDN multi-controller deployment method and system

    CN115242295A