Satellite clustering method, ground control device and ground system

CN123019817APending Publication Date: 2026-10-30CHINA SATELLITE NETWORK SYSTEM CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202511633100.2
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-11-07
Publication Date
2026-10-30

AI Technical Summary

Technical Problem

[0004]然而,仅基于卫星之间的连接关系,划分得到的卫星簇,网络性能难以得到保障

Benefits of technology

[0033]本申请实施例,在将卫星星座初步划分为多个初始簇之后,进一步确定如果将该边缘卫星从第一初始簇迁移到第二初始簇,第一初始簇所对应的第一适应度(表征第一初始簇当前的通信质量),以及第二初始簇所对应的第二适应度(表征第二初始簇加入该边缘卫星后的通信质量);通过将第一适应度以及第二适应度进行比对,根据比对结果即可获知将边缘卫星从第一初始簇迁移到第二初始簇之后对通信质量的影响,因此,基于比对结果能够准确判断出在当前的网络状态下是否应该迁移该边缘卫星;通过多次在不同初始簇中进行卫星迁移,得到负载更加均衡,簇结构更加稳定的卫星簇,进而选择出适合负责跨簇协调的簇首卫星,不仅保证了分簇后数据传输效率,也提升了整个卫星网络的通信效率和可靠性。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN123019817A_ABST
    Figure CN123019817A_ABST
Patent Text Reader

Abstract

The embodiment of the application provides a satellite clustering method, a ground control device and a ground system. The method comprises the following steps: determining, for an edge satellite of a first initial cluster in a plurality of initial clusters, a first fitness corresponding to a case that the first initial cluster retains the edge satellite, and a second fitness corresponding to a case that a second initial cluster in the plurality of initial clusters joins the edge satellite; comparing the first fitness and the second fitness, and determining whether to migrate the edge satellite from the first initial cluster to the second initial cluster based on a comparison result; and after a plurality of satellite clusters are obtained through satellite migration, selecting a cluster head satellite corresponding to each satellite cluster from a plurality of satellites based on a betweenness centrality corresponding to each satellite in each satellite cluster. Through multiple satellite migrations in different initial clusters, satellite clusters with more balanced loads and more stable cluster structures are obtained, and the communication efficiency and reliability of the satellite network are improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of communication technology, and in particular to a satellite clustering method, ground control equipment, and ground system. Background Technology

[0002] Satellite clustering is a technique that divides satellites in a constellation into multiple subgroups (satellite clusters). Each satellite cluster consists of a small number of satellites (e.g., dozens to hundreds), and a cluster leader satellite is selected for each cluster. This technique is mainly used in large low-Earth orbit constellations. After satellite clustering, the satellites within a cluster cooperate closely, with the cluster leader satellite responsible for cross-cluster coordination, such as communicating with other cluster leader satellites and with ground stations.

[0003] In related technologies, satellite constellations are divided into multiple satellite clusters based on pre-defined rules and the connectivity between satellites. For example, the division of satellite clusters can be determined based on network topology characteristics such as the physical distance between satellites.

[0004] However, satellite clusters formed solely based on satellite connectivity cannot guarantee network performance. Therefore, a satellite clustering method is needed to overcome these shortcomings. Summary of the Invention

[0005] This application provides a satellite clustering method, ground control equipment, and ground system to achieve reasonable satellite clustering and ensure network performance after clustering.

[0006] In a first aspect, embodiments of this application provide a first satellite clustering method, which includes: For edge satellites in a first initial cluster among multiple initial clusters, a first fitness is determined when the first initial cluster retains the edge satellite, and a second fitness is determined when the edge satellite is added to a second initial cluster among the multiple initial clusters; wherein, the edge satellite is a satellite whose neighboring satellites are in the second initial cluster; the multiple initial clusters are obtained by dividing a satellite constellation; The first fitness and the second fitness are compared, and based on the comparison result, it is determined whether to migrate the edge satellite from the first initial cluster to the second initial cluster; After obtaining multiple satellite clusters through satellite migration, the cluster head satellite corresponding to each satellite cluster is selected from the multiple satellites based on the betweenness centrality of each satellite in each satellite cluster.

[0007] In some optional implementations, after selecting the cluster leader satellite corresponding to each satellite cluster from the plurality of satellites, the method further includes: When at least one triggering condition is met, satellite migration is performed again for multiple first satellite clusters to obtain multiple second satellite clusters, and the cluster head satellites corresponding to each of the multiple second satellite clusters are reselected; wherein, the multiple first satellite clusters are the multiple satellite clusters obtained in the i-th iteration, and the multiple second satellite clusters are the multiple satellite clusters obtained in the (i+1)-th iteration; the triggering conditions include: The time interval between the current moment and the moment when the plurality of first satellite clusters were acquired reaches a preset time interval; At least one satellite in the satellite constellation has malfunctioned; At least one cluster leader satellite experienced a link failure with other satellites; The number of faulty links exceeds the preset number.

[0008] In some optional implementations, comparing the first fitness and the second fitness, and determining whether to migrate the edge satellites from the first initial cluster to the second initial cluster based on the comparison result, includes: If the second fitness is greater than the first fitness, and the increase ratio of the second fitness to the first fitness is greater than a preset ratio, then the edge satellite is migrated from the first initial cluster to the second initial cluster; or, If the second fitness is less than or equal to the first fitness, or if the increase in the second fitness relative to the first fitness is less than or equal to a preset ratio, then the edge satellite will not be migrated from the first initial cluster to the second initial cluster.

[0009] In some optional implementations, when the edge satellite corresponds to multiple second initial clusters, migrating the edge satellite from the first initial cluster to the second initial cluster includes: If the second fitness of one of the plurality of second initial clusters corresponding to a third initial cluster is greater than the first fitness, and the increase ratio of the corresponding second fitness to the first fitness is greater than a preset ratio, then the edge satellite is migrated from the initial cluster to the third initial cluster; or, If the second fitness of multiple fourth initial clusters among the plurality of second initial clusters is greater than the first fitness, and the increase ratio of the corresponding second fitness to the first fitness is greater than a preset ratio, then a fourth initial cluster is selected from the plurality of fourth initial clusters, and the edge satellite is migrated from the first initial cluster to the selected fourth initial cluster.

[0010] In some optional implementations, selecting a fourth initial cluster from the plurality of fourth initial clusters includes: A fourth initial cluster is selected from the fourth initial clusters whose corresponding second fitness is greater than their corresponding third fitness; wherein, the third fitness is the fitness of the corresponding fourth initial cluster before the addition of the edge satellite; or, Choose the fourth initial cluster with the highest second fitness.

[0011] In some optional implementations, based on the betweenness centrality of multiple satellites within each satellite cluster, the cluster head satellite corresponding to each satellite cluster is selected from the multiple satellites, including: For any given satellite cluster, at least one candidate cluster head is selected from the multiple satellites based on their respective betweenness centrality. Based on the node performance values ​​corresponding to each of the at least one candidate cluster head, a cluster head satellite is selected from the at least one candidate cluster head.

[0012] In some optional implementations, at least one candidate cluster head is selected from the plurality of satellites based on the betweenness centrality of each satellite in the satellite cluster, including: The M satellites with the highest betweenness centrality among the plurality of satellites are selected as the candidate cluster heads; or... Among the multiple satellites, the satellite with betweenness centrality greater than a preset threshold is selected as the candidate cluster head.

[0013] In some alternative implementations, the node performance values ​​for each satellite are determined in the following ways: For any given satellite, obtain the node performance parameters of the satellite under multiple node performance indicators; wherein, the multiple node performance indicators include some or all of queue length, connectivity, and energy efficiency; Based on the obtained performance parameters of multiple nodes and their respective weights, the node performance value corresponding to the satellite is obtained.

[0014] In some optional implementations, before determining the first fitness corresponding to when the first initial cluster retains the edge satellites, and the second fitness corresponding to when a second initial cluster joins the edge satellites, the method further includes: Based on the connectivity between satellites in the satellite constellation, the satellite constellation is divided into multiple initial clusters.

[0015] In some optional implementations, the satellite constellation is divided into multiple initial clusters based on the connectivity between satellites in the constellation, including: Randomly select an i-th central satellite from the remaining satellites in the satellite constellation, and use the i-th central satellite and the remaining satellites within N hops as the i-th initial cluster, until there are no remaining satellites in the satellite constellation; The remaining satellites are those that were not assigned to the initial cluster.

[0016] In some alternative implementations, the fitness of each initial cluster is determined in the following ways: For any initial cluster, obtain the cluster performance parameters of the initial cluster under multiple cluster performance indicators; wherein, the multiple cluster performance indicators include some or all of the following: throughput, latency, packet loss rate, link utilization, and communication efficiency. Based on the obtained cluster performance parameters and their corresponding weights, the fitness of the initial cluster is obtained.

[0017] In some alternative implementations, after dividing the satellite constellation into multiple initial clusters, the method further includes: For any initial cluster, an initial cluster head is selected from the multiple satellites based on their respective connectivity.

[0018] Secondly, embodiments of this application provide a first type of satellite clustering device, which includes: The fitness determination module is used to determine, for edge satellites in a first initial cluster among multiple initial clusters, a first fitness corresponding to when the first initial cluster retains the edge satellite, and a second fitness corresponding to when the edge satellite is added to a second initial cluster among the multiple initial clusters; wherein, the edge satellite is a satellite whose neighboring satellites are in the second initial cluster; the multiple initial clusters are obtained by dividing a satellite constellation; The clustering adjustment module is used to compare the first fitness and the second fitness, and determine whether to migrate the edge satellite from the first initial cluster to the second initial cluster based on the comparison result; The cluster head selection module is used to select the cluster head satellite corresponding to each satellite cluster from the multiple satellites after obtaining multiple satellite clusters through satellite migration, based on the betweenness centrality of each satellite in each satellite cluster.

[0019] In some optional implementations, a dynamic clustering module is also included, which, after the cluster head selection module selects the cluster head satellite corresponding to each satellite cluster from the plurality of satellites, is used for: When at least one triggering condition is met, satellite migration is performed again for multiple first satellite clusters to obtain multiple second satellite clusters, and the cluster head satellites corresponding to each of the multiple second satellite clusters are reselected; wherein, the multiple first satellite clusters are the multiple satellite clusters obtained in the i-th iteration, and the multiple second satellite clusters are the multiple satellite clusters obtained in the (i+1)-th iteration; the triggering conditions include: The time interval between the current moment and the moment when the plurality of first satellite clusters were acquired reaches a preset time interval; At least one satellite in the satellite constellation has malfunctioned; At least one cluster leader satellite experienced a link failure with other satellites; The number of faulty links exceeds the preset number.

[0020] In some optional implementations, the clustering adjustment module is specifically used for: If the second fitness is greater than the first fitness, and the increase ratio of the second fitness to the first fitness is greater than a preset ratio, then the edge satellite is migrated from the first initial cluster to the second initial cluster; or, If the second fitness is less than or equal to the first fitness, or if the increase in the second fitness relative to the first fitness is less than or equal to a preset ratio, then the edge satellite will not be migrated from the first initial cluster to the second initial cluster.

[0021] In some optional implementations, when the edge satellite corresponds to multiple second initial clusters, the clustering adjustment module is specifically used for: If the second fitness of one of the plurality of second initial clusters corresponding to a third initial cluster is greater than the first fitness, and the increase ratio of the corresponding second fitness to the first fitness is greater than a preset ratio, then the edge satellite is migrated from the initial cluster to the third initial cluster; or, If the second fitness of multiple fourth initial clusters among the plurality of second initial clusters is greater than the first fitness, and the increase ratio of the corresponding second fitness to the first fitness is greater than a preset ratio, then a fourth initial cluster is selected from the plurality of fourth initial clusters, and the edge satellite is migrated from the first initial cluster to the selected fourth initial cluster.

[0022] In some optional implementations, the clustering adjustment module is specifically used for: A fourth initial cluster is selected from the fourth initial clusters whose corresponding second fitness is greater than their corresponding third fitness; wherein, the third fitness is the fitness of the corresponding fourth initial cluster before the addition of the edge satellite; or, Choose the fourth initial cluster with the highest second fitness.

[0023] In some optional implementations, the cluster head selection module is specifically used for: For any given satellite cluster, at least one candidate cluster head is selected from the multiple satellites based on their respective betweenness centrality. Based on the node performance values ​​corresponding to each of the at least one candidate cluster head, a cluster head satellite is selected from the at least one candidate cluster head.

[0024] In some optional implementations, the cluster head selection module is specifically used for: The M satellites with the highest betweenness centrality among the plurality of satellites are selected as the candidate cluster heads; or... Among the multiple satellites, the satellite with betweenness centrality greater than a preset threshold is selected as the candidate cluster head.

[0025] In some optional implementations, the cluster head selection module is used to determine the node performance values ​​of each satellite in the following ways: For any given satellite, obtain the node performance parameters of the satellite under multiple node performance indicators; wherein, the multiple node performance indicators include some or all of queue length, connectivity, and energy efficiency; Based on the obtained performance parameters of multiple nodes and their respective weights, the node performance value corresponding to the satellite is obtained.

[0026] In some optional implementations, an initial clustering module is also included, for: Before the fitness determination module determines the first fitness corresponding to when the first initial cluster retains the edge satellite, and the second fitness corresponding to when the second initial cluster adds the edge satellite, the satellite constellation is divided into multiple initial clusters based on the connection relationship between satellites in the satellite constellation.

[0027] In some optional implementations, the initial clustering module is specifically used for: Randomly select an i-th central satellite from the remaining satellites in the satellite constellation, and use the i-th central satellite and the remaining satellites within N hops as the i-th initial cluster, until there are no remaining satellites in the satellite constellation; The remaining satellites are those that were not assigned to the initial cluster.

[0028] In some optional implementations, the fitness determination module is specifically used for: For any initial cluster, obtain the cluster performance parameters of the initial cluster under multiple cluster performance indicators; wherein, the multiple cluster performance indicators include some or all of the following: throughput, latency, packet loss rate, link utilization, and communication efficiency. Based on the obtained cluster performance parameters and their corresponding weights, the fitness of the initial cluster is obtained.

[0029] In some optional implementations, the initial clustering module, after dividing the satellite constellation into multiple initial clusters, is further configured to: For any initial cluster, an initial cluster head is selected from the multiple satellites based on their respective connectivity.

[0030] Thirdly, embodiments of this application provide a ground control device, including at least one processor and at least one memory, wherein the memory stores a computer program, and when the program is executed by the processor, the processor performs any of the satellite clustering methods described in the first aspect above.

[0031] Fourthly, embodiments of this application provide a ground system, including the ground control equipment described in the second aspect above and multiple ground stations.

[0032] Fifthly, embodiments of this application provide a computer-readable storage medium storing a computer program executable by a processor, which, when run on the processor, causes the processor to perform any of the satellite clustering methods described in the first aspect above.

[0033] In this embodiment, after initially dividing the satellite constellation into multiple initial clusters, the first fitness (characterizing the current communication quality of the first initial cluster) and the second fitness (characterizing the communication quality after the edge satellite is added to the second initial cluster) of the first initial cluster are further determined if the edge satellite is migrated from the first initial cluster to the second initial cluster. By comparing the first fitness and the second fitness, the impact of migrating the edge satellite from the first initial cluster to the second initial cluster on the communication quality can be determined based on the comparison results. Therefore, based on the comparison results, it is possible to accurately determine whether the edge satellite should be migrated under the current network conditions. By migrating satellites multiple times in different initial clusters, a satellite cluster with a more balanced load and a more stable cluster structure is obtained. Then, a cluster head satellite suitable for cross-cluster coordination is selected, which not only ensures the data transmission efficiency after clustering but also improves the communication efficiency and reliability of the entire satellite network. Attached Figure Description

[0034] To more clearly illustrate the technical solutions in the embodiments of this application, the accompanying drawings used in the description of the embodiments will be briefly introduced below. Obviously, the accompanying drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0035] Figure 1 A system structure diagram provided for an embodiment of this application; Figure 2 A flowchart illustrating the first satellite clustering method provided in this application embodiment; Figure 3 This is a schematic diagram of the initial cluster provided in an embodiment of this application; Figure 4 A schematic diagram of a satellite fault provided in an embodiment of this application; Figure 5 This is a schematic diagram of a link failure provided in an embodiment of this application; Figure 6 A flowchart illustrating the second satellite clustering method provided in this application embodiment; Figure 7 A flowchart illustrating the third satellite clustering method provided in this application embodiment; Figure 8 A flowchart illustrating the fourth satellite clustering method provided in this application embodiment; Figure 9 This is a schematic diagram of the structure of the satellite clustering device provided in the embodiments of this application; Figure 10 This is a schematic diagram of the structure of the ground control equipment provided in the embodiments of this application. Detailed Implementation

[0036] To make the objectives, technical solutions, and advantages of this application clearer, the application will be further described in detail below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, and not all embodiments. Based on the embodiments in this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.

[0037] The terms "first" and "second" are used for descriptive purposes only and should not be construed as indicating or implying relative importance or implicitly specifying the number of technical features indicated. Therefore, a feature defined as "first" or "second" may explicitly or implicitly include one or more of that feature. In the description of this application, unless otherwise stated, "a plurality of" means two or more.

[0038] In the description of this application, it should be noted that, unless otherwise expressly specified and limited, the term "connection" should be interpreted broadly. For example, it can refer to a direct connection, an indirect connection through an intermediate medium, or a connection within two devices. Those skilled in the art can understand the specific meaning of the above term in this application based on the specific circumstances.

[0039] Satellite clustering is a technique that divides satellites in a constellation into multiple subgroups (satellite clusters). Each satellite cluster consists of a small number of satellites (e.g., dozens to hundreds), and a cluster leader satellite is selected for each cluster. This technique is mainly used in large low-Earth orbit constellations. After satellite clustering, the satellites within a cluster cooperate closely, with the cluster leader satellite responsible for cross-cluster coordination, such as communicating with other cluster leader satellites and with ground stations.

[0040] In some related technologies, satellite constellations are divided into multiple satellite clusters based on pre-set rules and the connection relationships between satellites.

[0041] For example, during the initialization phase, the division of satellite clusters is determined based on network topology characteristics such as the physical distance between satellites, thus achieving static clustering.

[0042] For example, in each time slot, satellite clusters are periodically divided based on network topology characteristics such as the physical distance between satellites, thus achieving dynamic clustering.

[0043] However, the network performance of satellite clusters obtained solely based on the connectivity between satellites is difficult to guarantee.

[0044] In view of this, embodiments of this application propose a satellite clustering method, ground control equipment, and ground system to achieve reasonable satellite clustering and ensure network performance after clustering.

[0045] See Figure 1 As shown, this embodiment provides a communication system, which includes ground control equipment and multiple ground stations ( Figure 1 Taking three ground stations as an example (in practice, more or fewer ground stations can be set up) and multiple satellites in the satellite constellation, the satellites realize data interaction with ground control equipment through the ground stations.

[0046] Ground control equipment, based on the connectivity between satellites in the satellite constellation, divides the constellation into multiple initial clusters; it then performs satellite migration on the edge satellites within these initial clusters to obtain multiple satellite clusters (…). Figure 1 Taking satellite cluster 1, satellite cluster 2, and satellite cluster 3 as examples, and selecting the head satellite corresponding to each satellite cluster. The head satellite forms the slave controller on the satellite.

[0047] Ground control equipment is responsible for the unified management and scheduling of all cluster head satellites. Each cluster head satellite further manages and controls other satellites within its corresponding cluster (cluster member nodes), forming a hierarchical control system.

[0048] The technical solution of this application and how it solves the above-mentioned technical problems will be described in detail below with reference to the accompanying drawings and specific embodiments. The following specific embodiments can be combined with each other, and the same or similar concepts or processes may not be described again in some embodiments.

[0049] Figure 2 This is a flowchart illustrating the first satellite clustering method provided in this application embodiment, applied to ground control equipment, such as... Figure 2 As shown, it includes the following steps: Step S201: For edge satellites in the first initial cluster among multiple initial clusters, determine the first fitness corresponding to when the first initial cluster retains the edge satellite, and the second fitness corresponding to when the second initial cluster among multiple initial clusters adds the edge satellite; wherein, the edge satellite is a satellite whose neighboring satellite is in the second initial cluster; the multiple initial clusters are obtained by dividing the satellite constellation.

[0050] Since multiple initial clusters are obtained from the initial partitioning of a satellite constellation, the load distribution among these initial clusters may not be optimal. In particular, satellites located at the cluster edges (i.e., edge satellites) may benefit from being assigned to adjacent initial clusters for better communication quality. Here, edge satellites refer to those with neighboring satellites in other initial clusters.

[0051] During implementation, some initial clusters may be overloaded, resulting in poor network performance and low communication efficiency, while their neighboring initial clusters may have better network performance. Therefore, dividing initial clusters solely based on satellite connectivity may not lead to the efficient utilization of network resources.

[0052] Based on this, this embodiment determines the second initial cluster where the neighboring satellites of an edge satellite located at the edge of the first initial cluster belong. Furthermore, it determines the first fitness of the first initial cluster when the edge satellite is retained, and the second fitness of the second initial cluster if the edge satellite is migrated from the first initial cluster to the second initial cluster. The fitness here reflects the overall communication quality within the cluster.

[0053] In some alternative implementations, the fitness of each initial cluster can be determined in, but is not limited to, the following ways: For any initial cluster, obtain the cluster performance parameters of the initial cluster under multiple cluster performance indicators; wherein, the multiple cluster performance indicators include some or all of the following: throughput, latency, packet loss rate, link utilization, and communication efficiency. Based on the obtained cluster performance parameters and their corresponding weights, the fitness of the initial cluster is obtained.

[0054] During implementation, multiple cluster performance indicators can be set to obtain the cluster performance parameters of the initial cluster under each cluster performance indicator, such as throughput reflecting the number of transmissions of the entire initial cluster, latency reflecting the communication delay of the entire initial cluster, packet loss rate reflecting the data loss of the entire initial cluster, link utilization reflecting the communication load of the entire initial cluster, and communication efficiency reflecting the network quality of the entire initial cluster.

[0055] The fitness of the initial cluster is calculated based on the cluster performance parameters of the initial cluster under multiple cluster performance metrics, and the weights corresponding to each of the multiple cluster performance metrics.

[0056] For example, the fitness F of the initial cluster i i = Among them, w j f is the weight corresponding to the performance index of the j-th cluster. ij Let be the cluster performance parameter of the initial cluster i under the j-th cluster performance index, and n be the total number of cluster performance indices.

[0057] Step S202: Compare the first fitness and the second fitness, and determine whether to migrate the edge satellite from the first initial cluster to the second initial cluster based on the comparison result.

[0058] Since the first fitness reflects the communication quality of the first initial cluster retaining the aforementioned edge satellites, and the second fitness reflects the communication quality of the second initial cluster adding the aforementioned edge satellites, in this embodiment, in order to make reasonable use of network resources and make the load more balanced, the first fitness and the second fitness are compared. Based on the comparison results, the impact of migrating the edge satellites from the first initial cluster to the second initial cluster on the communication quality can be known. Therefore, based on the comparison results, it is possible to accurately determine whether the edge satellites should be migrated under the current network conditions.

[0059] Step S203: After obtaining multiple satellite clusters through satellite migration, select the cluster head satellite corresponding to each satellite cluster from the multiple satellites based on the betweenness centrality of each satellite in each satellite cluster.

[0060] It is understandable that the aforementioned first initial cluster does not refer to a specific initial cluster. Any initial cluster with edge satellites can be used as the first initial cluster to determine whether migration is necessary. In other words, through multiple iterative derivations, it can be determined whether each edge satellite needs to be migrated.

[0061] Furthermore, as the migration process progresses, satellites that were not originally on the cluster edge may become edge satellites. (See also...) Figure 3 As shown, satellite B3 in the initial cluster 1 was not originally an edge satellite, but satellite B4 migrated to the initial cluster 4, and satellite B3 became an edge satellite.

[0062] This embodiment does not specify the stopping conditions for iteration (satellite migration), such as: the number of iterations exceeds the preset number, the migration conditions are no longer met between different initial clusters, or the difference between the maximum fitness and minimum fitness of the initial cluster is less than the preset difference, etc.

[0063] By migrating satellites through different initial clusters using an evolutionary game approach, a satellite cluster with a more balanced load and a more stable cluster structure can be obtained.

[0064] In practice, after obtaining multiple satellite clusters, the betweenness centrality, a metric for cluster centrality, is determined. Then, based on the betweenness centrality of each satellite in the cluster, a suitable cluster head satellite is selected to be responsible for cross-cluster coordination.

[0065] For example, the betweenness centrality BC of satellite j j =n st,j / g st ; where n st,j g is the number of satellites j in the initial cluster whose shortest path passes through it. st This represents the total number of shortest paths in the initial cluster.

[0066] The above scheme, after initially dividing the satellite constellation into multiple initial clusters, further determines the first fitness (characterizing the current communication quality of the first initial cluster) and the second fitness (characterizing the communication quality after the edge satellite is added to the second initial cluster) of the first initial cluster if the edge satellite is migrated from the first initial cluster to the second initial cluster. By comparing the first fitness and the second fitness, the impact of migrating the edge satellite from the first initial cluster to the second initial cluster on the communication quality can be determined based on the comparison results. Therefore, based on the comparison results, it is possible to accurately determine whether the edge satellite should be migrated under the current network conditions. By migrating satellites multiple times in different initial clusters, satellite clusters with more balanced load and more stable cluster structure are obtained. Then, a cluster head satellite suitable for cross-cluster coordination is selected, which not only ensures the data transmission efficiency after clustering but also improves the communication efficiency and reliability of the entire satellite network.

[0067] In some alternative implementations, after step S203 described above, the following steps may also be performed: When at least one triggering condition is met, satellite migration is performed again for multiple first satellite clusters to obtain multiple second satellite clusters, and the cluster head satellites corresponding to each of the multiple second satellite clusters are reselected; wherein, the multiple first satellite clusters are the multiple satellite clusters obtained in the i-th iteration, and the multiple second satellite clusters are the multiple satellite clusters obtained in the (i+1)-th iteration; the triggering conditions include: The time interval between the current moment and the moment when the multiple first satellite clusters were obtained (the previous clustering moment) reaches a preset time interval; At least one satellite in the satellite constellation has malfunctioned; At least one cluster leader satellite experienced a link failure with other satellites; The number of faulty links exceeds the preset number.

[0068] In other words, after the initial satellite clustering in this embodiment, the satellite clusters will be dynamically adjusted based on factors such as time and faults. The triggering conditions are explained below: If the time interval between the current moment and the previous clustering moment reaches the preset time interval, it means that the satellite cluster has been maintained for a long time. Due to the dynamic changes of the satellite-to-ground link and the inter-satellite link, the network status and the performance of the cluster may have changed. In order to ensure communication efficiency, clustering can be performed every preset time interval.

[0069] The specific value of the above preset time interval can be set according to the actual application scenario, such as setting it to 1 second when the network status is unstable, and setting it to 5 seconds or longer when the network status is stable.

[0070] During implementation, ground control equipment determines whether a satellite or link has malfunctioned by receiving and reading link status messages sent by the satellite.

[0071] See Figure 4 As shown, when satellite 1 malfunctions, the links between satellite 1 and all its neighboring satellites (satellites 2-5) are lost. Satellite 1 cannot send any link status messages, but all its neighboring satellites will send link status messages describing the link failure between themselves and satellite 1. The ground control equipment can only receive link status messages from satellites 2-5 and cannot receive link status messages from satellite 1. Therefore, the fault type is determined to be a satellite 1 malfunction. Satellite malfunctions have a significant impact on data transmission; therefore, any satellite malfunction can trigger clustering.

[0072] See Figure 5 As shown, when the link between Satellite 1 and Satellite 2 fails, the link between Satellite 1 and Satellite 2 is disconnected. Both Satellite 1 and Satellite 2 will generate link status messages describing the failure of the link between Satellite 1 and Satellite 2. The ground control equipment receives the link status messages from Satellite 1 and Satellite 2 and determines the fault type as a failure of the link between Satellite 1 and Satellite 2. Link failures have a relatively small impact on the transmission process and do not require triggering clustering every time a link failure occurs. However, there are some special link failure scenarios. For example, when the link between the cluster leader satellite and other satellites fails, or when the number of failed links is large, data transmission will be affected. Therefore, the failure of the link between the cluster leader satellite and other satellites, and the number of failed links exceeding a preset number, can be used as triggering conditions for clustering.

[0073] By re-clustering when a link or satellite fails, the impact of link or satellite failures on network connectivity and data transmission stability is reduced, thus improving network robustness.

[0074] In some alternative implementations, in addition to the re-clustering mechanism described above, a new cluster leader satellite can also be elected. For example, when the performance of the cluster leader satellite degrades, a new cluster leader satellite can be elected to achieve high efficiency in data aggregation and transmission; when the number of faulty links does not exceed a preset number, although re-clustering will not be triggered, a new cluster leader satellite can be elected to adapt to the new connection relationships within the cluster.

[0075] Figure 6 This is a flowchart illustrating the second satellite clustering method provided in the embodiments of this application, as shown below. Figure 6 As shown, it includes the following steps: Step S601: Based on the connection relationship between satellites in the satellite constellation, the satellite constellation is divided into multiple initial clusters.

[0076] For example, ground control equipment can discover the network topology to obtain the connection relationships between all satellites in the satellite constellation, that is, the entire network topology.

[0077] Based on the connectivity between satellites, the satellite constellation is initially divided into several initial clusters.

[0078] Step S602: For the edge satellites of the first initial cluster among the plurality of initial clusters, determine the first fitness corresponding to when the first initial cluster retains the edge satellites, and the second fitness corresponding to when the second initial cluster among the plurality of initial clusters adds the edge satellites.

[0079] Step S603: Compare the first fitness and the second fitness, and determine whether to migrate the edge satellite from the first initial cluster to the second initial cluster based on the comparison result.

[0080] Step S604: After obtaining multiple satellite clusters through satellite migration, select the cluster head satellite corresponding to each satellite cluster from the multiple satellites based on the betweenness centrality of each satellite in each satellite cluster.

[0081] The specific implementation of steps S602 to S604 can be found in other embodiments, and will not be repeated here.

[0082] In some alternative implementations, step S601 can be implemented in, but is not limited to, the following ways: Randomly select an i-th central satellite from the remaining satellites in the satellite constellation, and use the i-th central satellite and the remaining satellites within N hops as the i-th initial cluster, until there are no remaining satellites in the satellite constellation.

[0083] The remaining satellites are those that were not assigned to the initial cluster.

[0084] As mentioned above Figure 3For example, before clustering, all satellites in the satellite constellation are remaining satellites. Satellite B2 is randomly selected as the first central satellite, and satellite B2 and the remaining satellites within its two hops (including satellites A1, A2, A3, B1, B3, B4, C1, C2, C3, and D2) are used as the first initial cluster (initial cluster 1). E2 was randomly selected as the second central satellite from the remaining satellites other than the initial cluster 1. Satellite E2 and the remaining satellites within its two hops (including satellites D1, D3, E1, E3, and E4) were selected as the second initial cluster (initial cluster 2). D5 was randomly selected as the third central satellite from the remaining satellites excluding the initial cluster 1 and the initial cluster 2. Satellite D5 and the remaining satellites within its two hops (including satellites B5, C4, C5, C6, D4, D6, E5, and E6) were selected as the third initial cluster (initial cluster 3). A5 was randomly selected as the fourth central satellite from the remaining satellites excluding initial cluster 1, initial cluster 2 and initial cluster 3. Satellite A5 and the remaining satellites within its two hops (including satellites A4, A6 and B6) were selected as the fourth initial cluster (initial cluster 4).

[0085] The above example uses N=2 as an example. In practice, the specific value of N can be set according to the actual application scenario.

[0086] In some optional implementations, after step S601 above, the following steps may also be performed: For any initial cluster, an initial cluster head is selected from the multiple satellites based on their respective connectivity.

[0087] Since some satellites need to send messages to ground stations after the initial clustering, but a stable satellite cluster has not yet been formed and no cluster leader satellite has been selected, a temporary initial cluster leader can be elected first.

[0088] For example, the satellite with the highest connectivity in an initial cluster can be used as the initial cluster head, where connectivity is the number of other satellites directly connected to a satellite.

[0089] Figure 7 A flowchart illustrating the third satellite clustering method provided in this application embodiment is shown below. Figure 7 As shown, it includes the following steps: Step S701: For the edge satellites of the first initial cluster among the multiple initial clusters, determine the first fitness corresponding to when the first initial cluster retains the edge satellites, and the second fitness corresponding to when the second initial cluster among the multiple initial clusters adds the edge satellites.

[0090] The specific implementation of step S701 can be found in other embodiments, and will not be repeated here.

[0091] Step S702: If the second fitness is greater than the first fitness, and the increase ratio of the second fitness to the first fitness is greater than a preset ratio, then the edge satellite is migrated from the first initial cluster to the second initial cluster; otherwise, the edge satellite is not migrated from the first initial cluster to the second initial cluster.

[0092] In implementation, to achieve a more balanced load across clusters and a more stable cluster structure, this embodiment compares the first fitness of the edge satellites retained in the first initial cluster with the second fitness of the edge satellites added to the second initial cluster. If the second fitness is greater than the first fitness, it indicates that the communication quality of the second initial cluster with the edge satellites added is better than that of the first initial cluster with the edge satellites retained. If the increase in the second fitness relative to the first fitness is greater than a preset ratio, it indicates a significant improvement in overall communication quality. Based on this, this embodiment migrates the edge satellites from the first initial cluster to the second initial cluster only after satisfying the above two conditions; if both conditions cannot be satisfied simultaneously, the edge satellites remain in the first initial cluster.

[0093] For example, increase the ratio A = (F a2 -F a1 ) / F a2 Alternatively, increase the ratio A = (F) a2 -F a1 ) / F a1 Among them, F a1 For first fitness, F a2 This is the second fitness level.

[0094] Step S703: After obtaining multiple satellite clusters through satellite migration, select the cluster head satellite corresponding to each satellite cluster from the multiple satellites based on the betweenness centrality of each satellite in each satellite cluster.

[0095] The specific implementation of step S703 can be found in other embodiments, and will not be repeated here.

[0096] In some alternative implementations, when an edge satellite corresponds to multiple second initial clusters, the edge satellite can be migrated in, but is not limited to, the following ways: If the second fitness of one of the plurality of second initial clusters corresponding to a third initial cluster is greater than the first fitness, and the increase ratio of the corresponding second fitness to the first fitness is greater than a preset ratio, then the edge satellite is migrated from the initial cluster to the third initial cluster; or, If the second fitness of multiple fourth initial clusters among the plurality of second initial clusters is greater than the first fitness, and the increase ratio of the corresponding second fitness to the first fitness is greater than a preset ratio, then a fourth initial cluster is selected from the plurality of fourth initial clusters, and the edge satellite is migrated from the first initial cluster to the selected fourth initial cluster.

[0097] In practice, if there are multiple second initial clusters for edge satellites, but only one of these second initial clusters (referred to as the third initial cluster) satisfies that the corresponding second fitness is greater than the first fitness, and the increase ratio of the corresponding second fitness to the first fitness is greater than the preset ratio, then the edge satellites are directly migrated to the third initial cluster.

[0098] If there are multiple second initial clusters corresponding to edge satellites, and multiple initial clusters (denoted as fourth initial clusters) among these second initial clusters satisfy that the corresponding second fitness is greater than the first fitness, and the increase ratio of the corresponding second fitness to the first fitness is greater than a preset ratio, then a fourth initial cluster needs to be selected from these to be added to the edge satellite.

[0099] In some alternative implementations, a fourth initial cluster is selected, which can be achieved, but is not limited to, in the following ways: A fourth initial cluster is selected from the fourth initial clusters whose corresponding second fitness is greater than their corresponding third fitness; wherein, the third fitness is the fitness of the corresponding fourth initial cluster before the addition of the edge satellite; or, Choose the fourth initial cluster with the highest second fitness.

[0100] In practice, since the first fitness and the second fitness are horizontal comparisons between different clusters, by comparing the fitness of the fourth initial cluster before and after the addition of edge satellites, a fourth initial cluster with a higher fitness than before the addition of edge satellites is selected. This ensures that adding edge satellites to the fourth initial cluster improves the communication quality of the fourth initial cluster itself.

[0101] Alternatively, you can directly select the fourth initial cluster with the highest fitness, which will add edge satellites to the fourth initial cluster with the best communication quality.

[0102] Figure 8 A flowchart illustrating the fourth satellite clustering method provided in this application embodiment is shown below. Figure 8 As shown, it includes the following steps: Step S801: For the edge satellites of the first initial cluster among the multiple initial clusters, determine the first fitness corresponding to when the first initial cluster retains the edge satellites, and the second fitness corresponding to when the second initial cluster among the multiple initial clusters adds the edge satellites.

[0103] Step S802: Compare the first fitness and the second fitness, and determine whether to migrate the edge satellite from the first initial cluster to the second initial cluster based on the comparison result.

[0104] The specific implementation of steps S801 to S802 can be found in other embodiments, and will not be repeated here.

[0105] Step S803: After obtaining multiple satellite clusters through satellite migration, for any satellite cluster, select at least one candidate cluster head from the multiple satellites based on the betweenness centrality of each satellite in the cluster.

[0106] Because the cluster leader satellite is responsible for coordinating and managing the communication and data transmission of other satellites within the cluster, and for performing functions such as node management, resource allocation, and routing, while satellite resources and bandwidth are limited, the cluster leader satellite not only needs to possess cluster centrality to facilitate the management of other satellites, but also needs to have strong network performance to achieve efficient and stable data transmission.

[0107] Based on this, this embodiment first selects candidate cluster heads with higher betweenness centrality based on betweenness centrality; then, it selects cluster head satellites from the candidate cluster heads based on the node performance values ​​of the candidate cluster heads.

[0108] The specific implementation of betweenness centrality can be found in the above embodiments, and will not be repeated here.

[0109] In some alternative implementations, candidate cluster heads can be selected in, but not limited to, the following ways: The M satellites with the highest betweenness centrality among the plurality of satellites are selected as the candidate cluster heads; or... Among the multiple satellites, the satellite with betweenness centrality greater than a preset threshold is selected as the candidate cluster head.

[0110] For example, when the network performance requirements of the cluster head satellite are high, the first method can be adopted to select a certain number of candidate cluster heads to ensure the number of alternatives when selecting based on node performance values. When the centrality requirement for the cluster head satellite is high, the second method can be adopted. Only satellites with betweenness centrality greater than a preset threshold can be used as candidate cluster heads. This ensures that the betweenness centrality of the final cluster head satellite will be greater than the preset threshold.

[0111] Step S804: Select a cluster head satellite from the at least one candidate cluster head based on the node performance values ​​corresponding to each of the at least one candidate cluster head.

[0112] For example, the candidate cluster head with the highest node performance value can be selected as the cluster head satellite.

[0113] In some alternative implementations, the node performance values ​​of each satellite can be determined in, but are not limited to, the following ways: For any given satellite, obtain the node performance parameters of the satellite under multiple node performance indicators; wherein, the multiple node performance indicators include some or all of queue length, connectivity, and energy efficiency; Based on the obtained performance parameters of multiple nodes and their respective weights, the node performance value corresponding to the satellite is obtained.

[0114] During implementation, multiple node performance indicators can be set to obtain the node performance parameters of the satellite under each node performance indicator, such as queue length reflecting the satellite load, connectivity reflecting the satellite's connectivity within the cluster, and energy efficiency reflecting the effectiveness of energy.

[0115] The node performance value of the satellite is calculated based on the node performance parameters of the satellite under multiple node performance indicators and the weights of each node performance indicator.

[0116] For example, the node performance value G of satellite k k = Among them, W l g represents the weight corresponding to the performance metric of the l-th node. kl Let be the node performance parameter of satellite k at the l-th node energy index, and m be the total number of node performance indices.

[0117] like Figure 9 As shown, this application embodiment provides a satellite clustering device 900, which includes: The fitness determination module 901 is used to determine, for edge satellites of the first initial cluster among the plurality of initial clusters, a first fitness corresponding to when the first initial cluster retains the edge satellite, and a second fitness corresponding to when the edge satellite is added to the second initial cluster among the plurality of initial clusters; wherein, the edge satellite is a satellite whose neighboring satellite is in the second initial cluster; Clustering adjustment module 902 is used to compare the first fitness and the second fitness, and determine whether to migrate the edge satellite from the first initial cluster to the second initial cluster based on the comparison result; The cluster head selection module 903 is used to select the cluster head satellite corresponding to each satellite cluster from the multiple satellites after obtaining multiple satellite clusters through satellite migration, based on the betweenness centrality of each satellite in each satellite cluster.

[0118] In some optional implementations, a dynamic clustering module 904 is also included, which, after the cluster head selection module 903 selects the cluster head satellite corresponding to each satellite cluster from the plurality of satellites, is used to: When at least one triggering condition is met, satellite migration is performed again for multiple first satellite clusters to obtain multiple second satellite clusters, and the cluster head satellites corresponding to each of the multiple second satellite clusters are reselected; wherein, the multiple first satellite clusters are the multiple satellite clusters obtained in the i-th iteration, and the multiple second satellite clusters are the multiple satellite clusters obtained in the (i+1)-th iteration; the triggering conditions include: The time interval between the current moment and the moment when the plurality of first satellite clusters were acquired reaches a preset time interval; At least one satellite in the satellite constellation has malfunctioned; At least one cluster leader satellite experienced a link failure with other satellites; The number of faulty links exceeds the preset number.

[0119] In some optional implementations, the clustering adjustment module 902 is specifically used for: If the second fitness is greater than the first fitness, and the increase ratio of the second fitness to the first fitness is greater than a preset ratio, then the edge satellite is migrated from the first initial cluster to the second initial cluster; or, If the second fitness is less than or equal to the first fitness, or if the increase in the second fitness relative to the first fitness is less than or equal to a preset ratio, then the edge satellite will not be migrated from the first initial cluster to the second initial cluster.

[0120] In some optional implementations, when the edge satellite corresponds to multiple second initial clusters, the clustering adjustment module 902 is specifically used for: If the second fitness of one of the plurality of second initial clusters corresponding to a third initial cluster is greater than the first fitness, and the increase ratio of the corresponding second fitness to the first fitness is greater than a preset ratio, then the edge satellite is migrated from the initial cluster to the third initial cluster; or, If the second fitness of multiple fourth initial clusters among the plurality of second initial clusters is greater than the first fitness, and the increase ratio of the corresponding second fitness to the first fitness is greater than a preset ratio, then a fourth initial cluster is selected from the plurality of fourth initial clusters, and the edge satellite is migrated from the first initial cluster to the selected fourth initial cluster.

[0121] In some optional implementations, the clustering adjustment module 902 is specifically used for: A fourth initial cluster is selected from the fourth initial clusters whose corresponding second fitness is greater than their corresponding third fitness; wherein, the third fitness is the fitness of the corresponding fourth initial cluster before the addition of the edge satellite; or, Choose the fourth initial cluster with the highest second fitness.

[0122] In some optional implementations, the cluster head selection module 903 is specifically used for: For any given satellite cluster, at least one candidate cluster head is selected from the multiple satellites based on their respective betweenness centrality. Based on the node performance values ​​corresponding to each of the at least one candidate cluster head, a cluster head satellite is selected from the at least one candidate cluster head.

[0123] In some optional implementations, the cluster head selection module 903 is specifically used for: The M satellites with the highest betweenness centrality among the plurality of satellites are selected as the candidate cluster heads; or... Among the multiple satellites, the satellite with betweenness centrality greater than a preset threshold is selected as the candidate cluster head.

[0124] In some optional implementations, the cluster head selection module 903 is used to determine the node performance values ​​of each satellite in the following manner: For any given satellite, obtain the node performance parameters of the satellite under multiple node performance indicators; wherein, the multiple node performance indicators include some or all of queue length, connectivity, and energy efficiency; Based on the obtained performance parameters of multiple nodes and their respective weights, the node performance value corresponding to the satellite is obtained.

[0125] In some optional implementations, an initial clustering module 905 is also included, for: Before the fitness determination module 901 determines the first fitness corresponding to when the first initial cluster retains the edge satellite in the first initial cluster among the multiple initial clusters, and the second fitness corresponding to when the second initial cluster among the multiple initial clusters adds the edge satellite, the satellite constellation is divided into multiple initial clusters based on the connection relationship between satellites in the satellite constellation.

[0126] In some optional implementations, the initial clustering module 905 is specifically used for: Randomly select an i-th central satellite from the remaining satellites in the satellite constellation, and use the i-th central satellite and the remaining satellites within N hops as the i-th initial cluster, until there are no remaining satellites in the satellite constellation; The remaining satellites are those that were not assigned to the initial cluster.

[0127] In some optional implementations, the fitness determination module 901 is specifically used for: For any initial cluster, obtain the cluster performance parameters of the initial cluster under multiple cluster performance indicators; wherein, the multiple cluster performance indicators include some or all of the following: throughput, latency, packet loss rate, link utilization, and communication efficiency. Based on the obtained cluster performance parameters and their corresponding weights, the fitness of the initial cluster is obtained.

[0128] In some optional implementations, the initial clustering module 905, after dividing the satellite constellation into multiple initial clusters, is further configured to: For any initial cluster, an initial cluster head is selected from the multiple satellites based on their respective connectivity.

[0129] Since this device is the same as the device in the method of this application embodiment, and the principle of the device in solving the problem is similar to that of the method, the implementation of the device can be referred to the implementation of the method, and the repeated parts will not be described again.

[0130] Based on the same technical concept, this application also provides a ground control device 1000, such as... Figure 10 As shown, it includes at least one processor 1001 and a memory 1002 connected to at least one processor. In this embodiment, the specific connection medium between the processor 1001 and the memory 1002 is not limited. Figure 10 Taking the connection between processor 1001 and memory 1002 via bus 1003 as an example. The bus can be divided into address bus, data bus, control bus, etc. For ease of illustration, Figure 10 The bus is represented by a single thick line, but this does not mean that there is only one bus or one type of bus.

[0131] The processor 1001 serves as the control center of the ground control equipment. It connects to various parts of the ground control equipment via various interfaces and lines, and performs data processing by running or executing instructions stored in the memory 1002 and retrieving data stored in the memory 1002. Optionally, the processor 1001 may include one or more processing units. The processor 1001 may integrate an application processor and a modem processor. The application processor primarily handles the operating system, user interface, and applications, while the modem processor primarily handles issuing instructions. It is understood that the modem processor may not be integrated into the processor 1001. In some embodiments, the processor 1001 and the memory 1002 may be implemented on the same chip; in other embodiments, they may be implemented on separate chips.

[0132] Processor 1001 can be a general-purpose processor, such as a CPU, digital signal processor, application-specific integrated circuit (ASIC), field-programmable gate array or other programmable logic device, discrete gate or transistor logic device, or discrete hardware component, capable of implementing or executing the methods, steps, and logic block diagrams disclosed in the embodiments of this application. The general-purpose processor can be a microprocessor or any conventional processor. The steps of the methods disclosed in the satellite clustering method embodiments can be directly manifested as being executed by a hardware processor, or executed by a combination of hardware and software modules within the processor.

[0133] Memory 1002, as a non-volatile computer-readable storage medium, can be used to store non-volatile software programs, non-volatile computer-executable programs, and modules. Memory 1002 may include at least one type of storage medium, such as flash memory, hard disk, multimedia card, card-type memory, random access memory (RAM), static random access memory (SRAM), programmable read-only memory (PROM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), magnetic memory, magnetic disk, optical disk, etc. Memory 1002 can be any other medium capable of carrying or storing desired program code in the form of instructions or data structures that can be accessed by a computer, but is not limited thereto. In the embodiments of this application, memory 1002 can also be a circuit or any other device capable of implementing storage functions for storing program instructions and / or data.

[0134] In this embodiment, the memory 1002 stores a computer program, which, when executed by the processor 1001, causes the processor 1001 to perform the following: For edge satellites in a first initial cluster among multiple initial clusters, a first fitness is determined when the first initial cluster retains the edge satellite, and a second fitness is determined when the edge satellite is added to a second initial cluster among the multiple initial clusters; wherein, the edge satellite is a satellite whose neighboring satellites are in the second initial cluster; the multiple initial clusters are obtained by dividing a satellite constellation; The first fitness and the second fitness are compared, and based on the comparison result, it is determined whether to migrate the edge satellite from the first initial cluster to the second initial cluster; After obtaining multiple satellite clusters through satellite migration, the cluster head satellite corresponding to each satellite cluster is selected from the multiple satellites based on the betweenness centrality of each satellite in each satellite cluster.

[0135] In some alternative implementations, after selecting the cluster head satellite corresponding to each satellite cluster from the plurality of satellites, the processor 1001 further performs: When at least one triggering condition is met, satellite migration is performed again for multiple first satellite clusters to obtain multiple second satellite clusters, and the cluster head satellites corresponding to each of the multiple second satellite clusters are reselected; wherein, the multiple first satellite clusters are the multiple satellite clusters obtained in the i-th iteration, and the multiple second satellite clusters are the multiple satellite clusters obtained in the (i+1)-th iteration; the triggering conditions include: The time interval between the current moment and the moment when the plurality of first satellite clusters were acquired reaches a preset time interval; At least one satellite in the satellite constellation has malfunctioned; At least one cluster leader satellite experienced a link failure with other satellites; The number of faulty links exceeds the preset number.

[0136] In some optional implementations, processor 1001 specifically performs: If the second fitness is greater than the first fitness, and the increase ratio of the second fitness to the first fitness is greater than a preset ratio, then the edge satellite is migrated from the first initial cluster to the second initial cluster; or, If the second fitness is less than or equal to the first fitness, or if the increase in the second fitness relative to the first fitness is less than or equal to a preset ratio, then the edge satellite will not be migrated from the first initial cluster to the second initial cluster.

[0137] In some optional implementations, when the edge satellites correspond to multiple second initial clusters, the processor 1001 specifically executes: If the second fitness of one of the plurality of second initial clusters corresponding to a third initial cluster is greater than the first fitness, and the increase ratio of the corresponding second fitness to the first fitness is greater than a preset ratio, then the edge satellite is migrated from the initial cluster to the third initial cluster; or, If the second fitness of multiple fourth initial clusters among the plurality of second initial clusters is greater than the first fitness, and the increase ratio of the corresponding second fitness to the first fitness is greater than a preset ratio, then a fourth initial cluster is selected from the plurality of fourth initial clusters, and the edge satellite is migrated from the first initial cluster to the selected fourth initial cluster.

[0138] In some optional implementations, processor 1001 specifically performs: A fourth initial cluster is selected from the fourth initial clusters whose corresponding second fitness is greater than their corresponding third fitness; wherein, the third fitness is the fitness of the corresponding fourth initial cluster before the addition of the edge satellite; or, Choose the fourth initial cluster with the highest second fitness.

[0139] In some optional implementations, processor 1001 specifically performs: For any given satellite cluster, at least one candidate cluster head is selected from the multiple satellites based on their respective betweenness centrality. Based on the node performance values ​​corresponding to each of the at least one candidate cluster head, a cluster head satellite is selected from the at least one candidate cluster head.

[0140] In some optional implementations, processor 1001 specifically performs: The M satellites with the highest betweenness centrality among the plurality of satellites are selected as the candidate cluster heads; or... Among the multiple satellites, the satellite with betweenness centrality greater than a preset threshold is selected as the candidate cluster head.

[0141] In some optional implementations, processor 1001 specifically performs: For any given satellite, obtain the node performance parameters of the satellite under multiple node performance indicators; wherein, the multiple node performance indicators include some or all of queue length, connectivity, and energy efficiency; Based on the obtained performance parameters of multiple nodes and their respective weights, the node performance value corresponding to the satellite is obtained.

[0142] In some alternative implementations, before determining a first fitness corresponding to when the first initial cluster retains the edge satellites, and a second fitness corresponding to when a second initial cluster joins the edge satellites, the processor 1001 further performs: Based on the connectivity between satellites in the satellite constellation, the satellite constellation is divided into multiple initial clusters.

[0143] In some optional implementations, processor 1001 specifically performs: Randomly select an i-th central satellite from the remaining satellites in the satellite constellation, and use the i-th central satellite and the remaining satellites within N hops as the i-th initial cluster, until there are no remaining satellites in the satellite constellation; The remaining satellites are those that were not assigned to the initial cluster.

[0144] In some optional implementations, processor 1001 specifically performs: For any initial cluster, obtain the cluster performance parameters of the initial cluster under multiple cluster performance indicators; wherein, the multiple cluster performance indicators include some or all of the following: throughput, latency, packet loss rate, link utilization, and communication efficiency. Based on the obtained cluster performance parameters and their corresponding weights, the fitness of the initial cluster is obtained.

[0145] In some alternative implementations, after dividing the satellite constellation into multiple initial clusters, the processor 1001 further performs: For any initial cluster, an initial cluster head is selected from the multiple satellites based on their respective connectivity.

[0146] Since the ground control device is the same as the ground control device in the method of this application embodiment, and the principle of the ground control device in solving the problem is similar to that of the method, the implementation of the ground control device can refer to the implementation of the method, and the repeated parts will not be described again.

[0147] Based on the same technical concept, embodiments of this application also provide a ground system, including the aforementioned ground control equipment and multiple ground stations. The implementation of the ground control equipment can be found in the implementation of the method; details that are repeated will not be repeated here.

[0148] Based on the same technical concept, embodiments of this application also provide a computer-readable storage medium storing a computer program executable by a processor, which, when run on the processor, causes the processor to perform the steps of the above-described satellite clustering method.

[0149] In some alternative implementations, various aspects of the satellite clustering method provided in this application can also be implemented as a program product containing computer-executable instructions. When the program product is run on a computer device, the computer-executable instructions are used to cause the computer device to perform the steps of the satellite clustering method according to the various exemplary embodiments of this application described above.

[0150] Those skilled in the art will understand that embodiments of this application can be provided as methods, systems, or computer program products. Therefore, this application can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, this application can take the form of a computer program product embodied on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.

[0151] This application is described with reference to flowchart illustrations and / or block diagrams of the method, satellite (system), and computer program product according to this application. It should be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing device to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing device, generate instructions for implementing the flowchart... Figure 1 One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.

[0152] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means, which are implemented in a process Figure 1 One or more processes and / or boxes Figure 1 The function specified in one or more boxes.

[0153] These computer program instructions may also be loaded onto a computer or other programmable data processing equipment to cause a series of operational steps to be performed on the computer or other programmable equipment to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable equipment for implementing the process. Figure 1 One or more processes and / or boxes Figure 1 The steps of the function specified in one or more boxes.

[0154] Although preferred embodiments of this application have been described, those skilled in the art, upon learning the basic inventive concept, can make other changes and modifications to these embodiments. Therefore, the appended claims are intended to be interpreted as including the preferred embodiments as well as all changes and modifications falling within the scope of this application.

[0155] Obviously, those skilled in the art can make various modifications and variations to this application without departing from the spirit and scope of this application. Therefore, if such modifications and variations fall within the scope of the claims of this application and their equivalents, this application also intends to include such modifications and variations.

Claims

1. A satellite clustering method, characterized in that, The method includes: For edge satellites in a first initial cluster among multiple initial clusters, a first fitness is determined when the first initial cluster retains the edge satellite, and a second fitness is determined when the edge satellite is added to a second initial cluster among the multiple initial clusters; wherein, the edge satellite is a satellite whose neighboring satellites are in the second initial cluster; the multiple initial clusters are obtained by dividing a satellite constellation; The first fitness and the second fitness are compared, and based on the comparison result, it is determined whether to migrate the edge satellite from the first initial cluster to the second initial cluster; After obtaining multiple satellite clusters through satellite migration, the cluster head satellite corresponding to each satellite cluster is selected from the multiple satellites based on the betweenness centrality of each satellite in each satellite cluster.

2. The method as described in claim 1, characterized in that, After selecting the cluster leader satellite corresponding to each satellite cluster from the plurality of satellites, the process further includes: When at least one triggering condition is met, satellite migration is performed again for multiple first satellite clusters to obtain multiple second satellite clusters, and the cluster head satellites corresponding to each of the multiple second satellite clusters are reselected; wherein, the multiple first satellite clusters are the multiple satellite clusters obtained in the i-th iteration, and the multiple second satellite clusters are the multiple satellite clusters obtained in the (i+1)-th iteration; the triggering conditions include: The time interval between the current moment and the moment when the plurality of first satellite clusters were acquired reaches a preset time interval; At least one satellite in the satellite constellation has malfunctioned; At least one cluster leader satellite experienced a link failure with other satellites; The number of faulty links exceeds the preset number.

3. The method as described in claim 1, characterized in that, Comparing the first fitness and the second fitness, and determining whether to migrate the edge satellites from the first initial cluster to the second initial cluster based on the comparison result, includes: If the second fitness is greater than the first fitness, and the increase ratio of the second fitness to the first fitness is greater than a preset ratio, then the edge satellite is migrated from the first initial cluster to the second initial cluster; or, If the second fitness is less than or equal to the first fitness, or if the increase in the second fitness relative to the first fitness is less than or equal to a preset ratio, then the edge satellite will not be migrated from the first initial cluster to the second initial cluster.

4. The method as described in claim 3, characterized in that, When the edge satellite corresponds to multiple second initial clusters, migrating the edge satellite from the first initial cluster to the second initial cluster includes: If the second fitness of one of the plurality of second initial clusters corresponding to a third initial cluster is greater than the first fitness, and the increase ratio of the corresponding second fitness to the first fitness is greater than a preset ratio, then the edge satellite is migrated from the initial cluster to the third initial cluster; or, If the second fitness of multiple fourth initial clusters among the plurality of second initial clusters is greater than the first fitness, and the increase ratio of the corresponding second fitness to the first fitness is greater than a preset ratio, then a fourth initial cluster is selected from the plurality of fourth initial clusters, and the edge satellite is migrated from the first initial cluster to the selected fourth initial cluster.

5. The method as described in claim 4, characterized in that, Selecting a fourth initial cluster from the plurality of fourth initial clusters includes: A fourth initial cluster is selected from the fourth initial clusters whose corresponding second fitness is greater than their corresponding third fitness; wherein, the third fitness is the fitness of the corresponding fourth initial cluster before the addition of the edge satellite; or, Choose the fourth initial cluster with the highest second fitness.

6. The method according to any one of claims 1 to 5, characterized in that, Based on the betweenness centrality of multiple satellites within each satellite cluster, the cluster head satellite corresponding to each satellite cluster is selected from the multiple satellites, including: For any given satellite cluster, at least one candidate cluster head is selected from the multiple satellites based on their respective betweenness centrality. Based on the node performance values ​​corresponding to each of the at least one candidate cluster head, a cluster head satellite is selected from the at least one candidate cluster head.

7. The method as described in claim 6, characterized in that, Based on the betweenness centrality of each satellite in the satellite cluster, at least one candidate cluster head is selected from the multiple satellites, including: The M satellites with the highest betweenness centrality among the plurality of satellites are selected as the candidate cluster heads; or... Among the multiple satellites, the satellite with betweenness centrality greater than a preset threshold is selected as the candidate cluster head.

8. The method as described in claim 6, characterized in that, The node performance values ​​for each satellite are determined using the following method: For any given satellite, obtain the node performance parameters of the satellite under multiple node performance indicators; wherein, the multiple node performance indicators include some or all of queue length, connectivity, and energy efficiency; Based on the obtained performance parameters of multiple nodes and their respective weights, the node performance value corresponding to the satellite is obtained.

9. The method according to any one of claims 1 to 5, characterized in that, Before determining the first fitness corresponding to when the first initial cluster retains the edge satellites in a plurality of initial clusters, and the second fitness corresponding to when a second initial cluster joins the edge satellites in a plurality of initial clusters, the method further includes: Based on the connectivity between satellites in the satellite constellation, the satellite constellation is divided into multiple initial clusters.

10. The method as described in claim 9, characterized in that, Based on the connectivity between satellites in the satellite constellation, the satellite constellation is divided into multiple initial clusters, including: Randomly select an i-th central satellite from the remaining satellites in the satellite constellation, and use the i-th central satellite and the remaining satellites within N hops as the i-th initial cluster, until there are no remaining satellites in the satellite constellation; The remaining satellites are those that were not assigned to the initial cluster.

11. The method according to any one of claims 1 to 5, characterized in that, The fitness of each initial cluster is determined in the following way: For any initial cluster, obtain the cluster performance parameters of the initial cluster under multiple cluster performance indicators; wherein, the multiple cluster performance indicators include some or all of the following: throughput, latency, packet loss rate, link utilization, and communication efficiency. Based on the obtained cluster performance parameters and their corresponding weights, the fitness of the initial cluster is obtained.

12. The method as described in claim 9, characterized in that, After dividing the satellite constellation into multiple initial clusters, the process also includes: For any initial cluster, an initial cluster head is selected from the multiple satellites based on their respective connectivity.

13. A ground control device, characterized in that, It includes at least one processor and at least one memory, wherein the memory stores a computer program that, when executed by the processor, causes the processor to perform the method as described in any one of claims 1 to 12.

14. A ground system, characterized in that, It includes the ground control equipment as described in claim 13, and multiple ground stations.