Satellite network load balancing method, first satellite, second satellite and storage medium
By dynamically updating the link generation value and routing table in the satellite communication system, the problem of routing oscillation in the load balancing scheme of satellite network is solved, and more efficient data transmission and resource utilization are achieved.
Patent Information
- Application Number
- CN202311233546.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2023-09-21
- Publication Date
- 2025-03-21
AI Technical Summary
In satellite communication systems, a node-based satellite network load balancing scheme may cause traffic in the system to be repeatedly concentrated in different nodes with feedback and self-adjustment of congestion messages, causing routing oscillation.
A satellite network load balancing method is proposed, which determines the current load ratio of each port through the first satellite in the satellite group, and updates the link generation value when the load threshold reaches, generates a first routing table, and sends it to the second satellite to achieve load balancing.
By dynamically updating the link generation value and routing table, the duplicate transmission of data packets in congested areas is reduced, routing oscillation is reduced, and data transmission efficiency and resource utilization of satellite networks are improved.
Smart Images

Figure CN119675731A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of communication technology, and in particular to a satellite network load balancing method, a first satellite, a second satellite and a storage medium. Background Art
[0002] In satellite communication systems, in node-based satellite network load balancing solutions, congested nodes usually proactively report Busy State Advertisement (BSA) messages to notify other satellites. After receiving the messages, adjacent nodes will reduce the probability of sending to the congested nodes. However, this solution may cause the traffic in the system to be repeatedly concentrated on different nodes with the feedback and self-adjustment of congestion messages, causing routing oscillations. Summary of the invention
[0003] In a first aspect, an embodiment of the present application provides a satellite network load balancing system, wherein the method is executed by a first satellite in a satellite group, the satellite group includes a first satellite and a plurality of second satellites, and the method includes:
[0004] Determining a current load ratio of each port in the satellite group;
[0005] When the current load ratio of at least one port is greater than or equal to the load threshold, based on the current load ratio of the at least one port, updating the first link cost value of the at least one port to obtain an updated second link cost value of the at least one port;
[0006] Determine a first routing table in the satellite group according to the second link cost value of the at least one port and the first link cost values of the remaining ports in the satellite group;
[0007] The first routing table is sent to each of the second satellites respectively.
[0008] Optionally, determining a current load ratio of each port in the satellite group includes:
[0009] Determine a current load ratio of each port in the first satellite based on the size of each data packet in the queue list of each port of the first satellite and the rate of each port;
[0010] Message interaction is performed with each second satellite in the satellite group to obtain a current load ratio of each port in each second satellite.
[0011] Optionally, the performing message interaction with each second satellite in the satellite group includes:
[0012] determining a size of the satellite constellation;
[0013] Determining a message interaction time interval according to the size of the satellite group;
[0014] Periodically interacting with each second satellite in the satellite group at the message interaction time interval.
[0015] Optionally, determining the message interaction time interval according to the size of the satellite group includes:
[0016] Determine the maximum longitudinal transmission delay and the maximum lateral transmission delay of the satellite;
[0017] Determine the length of round-trip time of information between the first satellite and the edge second satellite in the satellite group according to the size of the satellite group, the maximum longitudinal transmission delay and the maximum horizontal transmission delay;
[0018] Any time length that is greater than the information round trip time length is determined as the message interaction time interval.
[0019] Optionally, updating the first link cost value of the at least one port based on the current load ratio of the at least one port includes:
[0020] Acquire a first link cost value of the at least one port from a link cost table;
[0021] Determining a current cost magnification factor of the at least one port based on a current load ratio of the at least one port, a preset cost multiplier, and the load threshold;
[0022] Based on the current cost amplification factor of the at least one port, the first link cost value of the at least one port is amplified to obtain a second link cost value of the at least one port.
[0023] Optionally, determining the first routing table in the satellite group according to the second link cost value of the at least one port and the first link cost values of the remaining ports in the satellite group includes:
[0024] The first routing table is determined based on selecting a path with the smallest link cost value from each link in the satellite group.
[0025] Optionally, after sending the first routing table to each of the second satellites respectively, the method further includes:
[0026] Determining a first target port based on the first routing table according to a target satellite of the data packet to be transmitted;
[0027] In the case where the first target port is queued, determining the second target port from other ports of the first satellite based on the priority of each port in the second routing table sent by the gateway;
[0028] In a case where no queue occurs at the second target port, the data packet is sent to the target satellite via the second target port.
[0029] Optionally, after determining the second target port from other ports of the first satellite, the method further includes:
[0030] In the case that the second target port is queued, the data packet is added to the queue list of the first target port.
[0031] Optionally, sending the first routing table to each of the second satellites respectively includes:
[0032] determining a target second satellite included in the first routing table;
[0033] The first routing table is sent to the target second satellite.
[0034] Optionally, a first distance between the first satellite and a center point of an area covered by the satellite group is less than or equal to a second distance between each of the second satellites and the center point.
[0035] A second aspect of the present application provides a satellite network load balancing method, the method being executed by a second satellite in a satellite group, the satellite group including a first satellite and a plurality of second satellites, the method comprising:
[0036] Determining a current load ratio of each port in the second satellite;
[0037] Sending the current load ratio of each of the ports to the first satellite;
[0038] A first routing table within the satellite group sent by the first satellite is received.
[0039] Optionally, determining a current load ratio of each port in the second satellite includes:
[0040] Determining the size of each data packet in the queue list of each port in the second satellite and the rate of each of the ports;
[0041] Based on the size of each data packet and the rate of each port, the current load ratio of each port in the second satellite is determined.
[0042] Optionally, after receiving the first routing table in the satellite group sent by the first satellite, the method further includes:
[0043] Determining a first target port based on the first routing table according to a target satellite of the data packet to be transmitted;
[0044] In the case where the first target port is queued, determining the second target port from other ports of the first satellite based on the priority of each port in the second routing table sent by the gateway;
[0045] In a case where no queue occurs at the second target port, the data packet is sent to the target satellite via the second target port.
[0046] Optionally, after determining the second target port from other ports of the first satellite, the method further includes:
[0047] In the case that the second target port is queued, the data packet is added to the queue list of the first target port.
[0048] In a third aspect, an embodiment of the present application provides a first satellite, wherein the first satellite is a satellite in a satellite group, the satellite group includes a first satellite and a plurality of second satellites, and the first satellite includes a memory, a transceiver, and a processor; the memory is used to store a computer program; the transceiver is used to send and receive data under the control of the processor; the processor is used to read the computer program in the memory and perform the following operations:
[0049] Determining a current load ratio of each port in the satellite group;
[0050] When the current load ratio of at least one port is greater than or equal to the load threshold, based on the current load ratio of the at least one port, updating the first link cost value of the at least one port to obtain an updated second link cost value of the at least one port;
[0051] Determine a first routing table in the satellite group according to the second link cost value of the at least one port and the first link cost values of the remaining ports in the satellite group;
[0052] The first routing table is sent to each of the second satellites respectively.
[0053] Optionally, the processor is specifically configured to perform the following operations:
[0054] Determine a current load ratio of each port in the first satellite based on the size of each data packet in the queue list of each port of the first satellite and the rate of each port;
[0055] Message interaction is performed with each second satellite in the satellite group to obtain a current load ratio of each port in each second satellite.
[0056] Optionally, the processor is specifically configured to perform the following operations:
[0057] determining a size of the satellite constellation;
[0058] Determining a message interaction time interval according to the size of the satellite group;
[0059] Periodically interacting with each second satellite in the satellite group at the message interaction time interval.
[0060] Optionally, the processor is specifically configured to perform the following operations:
[0061] Determine the maximum longitudinal transmission delay and the maximum lateral transmission delay of the satellite;
[0062] Determine the length of round-trip time of information between the first satellite and the edge second satellite in the satellite group according to the size of the satellite group, the maximum longitudinal transmission delay and the maximum horizontal transmission delay;
[0063] Any time length that is greater than the information round trip time length is determined as the message interaction time interval.
[0064] Optionally, the processor is specifically configured to perform the following operations:
[0065] Acquire a first link cost value of the at least one port from a link cost table;
[0066] Determining a current cost magnification factor of the at least one port based on a current load ratio of the at least one port, a preset cost multiplier, and the load threshold;
[0067] Based on the current cost amplification factor of the at least one port, the first link cost value of the at least one port is amplified to obtain a second link cost value of the at least one port.
[0068] Optionally, the processor is specifically configured to perform the following operations:
[0069] The first routing table is determined based on selecting a path with the smallest link cost value from each link in the satellite group.
[0070] Optionally, after sending the first routing table to each of the second satellites respectively, the processor is specifically configured to perform the following operations:
[0071] Determining a first target port based on the first routing table according to a target satellite of the data packet to be transmitted;
[0072] In the case where the first target port is queued, determining the second target port from other ports of the first satellite based on the priority of each port in the second routing table sent by the gateway;
[0073] In a case where no queue occurs at the second target port, the data packet is sent to the target satellite via the second target port.
[0074] Optionally, after determining the second target port from other ports of the first satellite, the processor is specifically configured to perform the following operations:
[0075] In the case that the second target port is queued, the data packet is added to the queue list of the first target port.
[0076] Optionally, the processor is specifically configured to perform the following operations:
[0077] determining a target second satellite included in the first routing table;
[0078] The first routing table is sent to the target second satellite.
[0079] Optionally, a first distance between the first satellite and a center point of an area covered by the satellite group is less than or equal to a second distance between each of the second satellites and the center point.
[0080] In a fourth aspect, an embodiment of the present application provides a second satellite, wherein the second satellite is a second satellite in a satellite group, the satellite group includes a first satellite and a plurality of second satellites, and the second satellite includes a memory, a transceiver, and a processor; the memory is used to store a computer program; the transceiver is used to send and receive data under the control of the processor; the processor is used to read the computer program in the memory and perform the following operations:
[0081] Determining a current load ratio of each port in the second satellite;
[0082] Sending the current load ratio of each of the ports to the first satellite;
[0083] A first routing table within the satellite group sent by the first satellite is received.
[0084] Optionally, the processor is specifically configured to perform the following operations:
[0085] Determining the size of each data packet in the queue list of each port in the second satellite and the rate of each of the ports;
[0086] Based on the size of each data packet and the rate of each port, the current load ratio of each port in the second satellite is determined.
[0087] Optionally, after receiving the first routing table in the satellite group sent by the first satellite, the processor is specifically configured to perform the following operations:
[0088] Determining a first target port based on the first routing table according to a target satellite of the data packet to be transmitted;
[0089] In the case where the first target port is queued, determining the second target port from other ports of the first satellite based on the priority of each port in the second routing table sent by the gateway;
[0090] In a case where no queue occurs at the second target port, the data packet is sent to the target satellite via the second target port.
[0091] Optionally, after determining the second target port from other ports of the first satellite, the processor is specifically configured to perform the following operations:
[0092] In the case that the second target port is queued, the data packet is added to the queue list of the first target port.
[0093] The fifth aspect embodiment of the present application proposes a processor-readable storage medium, which stores a computer program, and the computer program is used to enable the processor to execute the satellite network load balancing method described in the above embodiment.
[0094] This application has the following technical effects:
[0095] In the embodiment of the present application, a satellite network load balancing method is proposed, firstly, the current load ratio of each port in the satellite group is determined, and when the current load ratio of at least one port is greater than or equal to the load threshold, the first link cost value of at least one port is updated based on the current load ratio of at least one port to obtain the updated second link cost value of at least one port, and then the first routing table in the satellite group is determined based on the second link cost value of at least one port and the first link cost values of the remaining ports in the satellite group, and finally the first routing table is sent to each of the second satellites respectively. Thus, the first routing table is determined based on the second link cost value of at least one port in the satellite group and the first link cost values of the remaining ports, thereby shortening the delay of satellite network data transmission and saving network resources.
[0096] It should be understood that the content described in this section is not intended to identify the key or important features of the embodiments of the present application, nor is it intended to limit the scope of the present application. Other features of the present application will become easily understood through the following description. BRIEF DESCRIPTION OF THE DRAWINGS
[0097] The above and / or additional aspects and advantages of the present application will become apparent and easily understood from the following description of the embodiments in conjunction with the accompanying drawings, in which:
[0098] Figure 1 A schematic diagram of a flow chart of a satellite network load balancing method provided in an embodiment of the present application;
[0099] Figure 2 A satellite group link structure diagram of a 4×4 matrix scale provided in an embodiment of the present application;
[0100] Figure 3 A schematic diagram of a flow chart of a satellite network load balancing method provided in an embodiment of the present application;
[0101] Figure 4 A schematic diagram of a flow chart of a satellite network load balancing method provided in an embodiment of the present application;
[0102] Figure 5 A schematic diagram of path adjustment within a satellite group provided in an embodiment of the present application;
[0103] Figure 6 A schematic diagram of a flow chart of a satellite network load balancing method provided in an embodiment of the present application;
[0104] Figure 7 A schematic diagram of a flow chart of a satellite network load balancing method provided in an embodiment of the present application;
[0105] Figure 8 A schematic diagram of a flow chart of a satellite network load balancing method provided in an embodiment of the present application;
[0106] Fig. 9 A schematic diagram of a flow chart of a satellite network load balancing method provided in an embodiment of the present application;
[0107] Fig.10 A schematic diagram of the structure of a first satellite provided in an embodiment of the present application;
[0108] Fig.11 A schematic diagram of the structure of a second satellite provided in an embodiment of the present application. DETAILED DESCRIPTION
[0109] Embodiments of the present application are described in detail below, and examples of the embodiments are shown in the accompanying drawings, wherein the same or similar reference numerals throughout represent the same or similar elements or elements having the same or similar functions. The embodiments described below with reference to the accompanying drawings are exemplary and are intended to be used to explain the present application, and should not be construed as limiting the present application.
[0110] For low-orbit satellite networks, node-based satellite network load balancing solutions are usually used in related technologies for routing design. Among them, the display load balancing algorithm and the traffic balancing load balancing routing algorithm based on signal lights are often concentrated in various routing solutions due to their simple implementation methods, and are used in conjunction with alternative path algorithms for congestion avoidance.
[0111] The load balancing algorithm is shown as follows: the congested node actively reports the BSA message (Busy State Advertisement) to notify other satellites. After receiving the message, the adjacent nodes will reduce the probability of sending to the congested node by a ratio of γ. γ is usually determined by the system congestion situation.
[0112] In the traffic light-based load balancing routing algorithm, a node will determine the congestion status of its own node based on the link queuing status of its own node, and then exchange status information with adjacent nodes, marking the cache occupancy ratio of each port of the node and the adjacent nodes according to the red, yellow, and green status. The path with the best link status is selected from the optimal path and the alternative paths.
[0113] The node load display scheme can significantly reduce the message overhead between nodes and the storage pressure on the satellite, but this scheme has the following problems:
[0114] 1. Traditional node load display solutions only consider the solution for handling local congestion of a single node. When facing areas with dense population and business demand passing through local satellites, several satellites often fall into a state of high cache occupancy at the same time, causing the optimal and alternative paths of data packets in adjacent nodes to fail at the same time.
[0115] 2. Since the existing solution only plans the next-hop strategy and judges the link status only by the queuing delay of the adjacent link, it is very likely that the data packet will reach the congested area again through the triangular path, causing further congestion of the service;
[0116] 3. Since each node will determine the routing path for the data packet based on the surrounding nodes, the optimal paths of several nodes may be concentrated on the same node, causing the traffic in the system to repeatedly concentrate on different nodes with the feedback and self-adjustment of congestion messages, resulting in routing oscillation.
[0117] In view of at least one of the above problems, the present application proposes a satellite network load balancing method based on a local satellite group. The satellite network load balancing method provided by the present application is applicable to any low-orbit satellite network. In the present application, the satellite network is grouped to form a satellite group, and the first satellite in each group determines the first routing table in the group according to the link status of each port in the group, and routes the data packets entering the satellite group based on the first routing table, thereby realizing local area traffic load balancing.
[0118] The satellite network load balancing method, the first satellite, the second satellite and the storage medium of the embodiments of the present application are described below with reference to the accompanying drawings.
[0119] Figure 1 A flowchart of a satellite network load balancing method provided in an embodiment of the present application.
[0120] The satellite network load balancing method of the embodiment of the present application can be applied to network equipment, such as access network equipment or core network equipment.
[0121] Among them, the access network device is exemplified by a base station. The base station may include multiple cells that provide services for terminal devices. Depending on the specific application scenario, the base station may also be called an access point, or may be a device in the access network that communicates with the wireless terminal device through one or more sectors on the air interface, or other names. The access network device can be used to interchange received air frames with Internet Protocol (IP) packets, and serve as a router between the wireless terminal device and the rest of the access network, wherein the rest of the access network may include an Internet Protocol (IP) communication network. The access network device can also coordinate the attribute management of the air interface. For example, the access network device involved in the embodiments of the present application may be an access network device (Base TransceiverStation, BTS) in the Global System for Mobile communications (GSM) or Code Division Multiple Access (CDMA), or an access network device (NodeB) in Wide-band Code Division Multiple Access (WCDMA), or an evolutionary access network device (eNB or e-NodeB) in the long term evolution (LTE) system, or a 5G base station (gNB) in the 5G network architecture (next generation system), or a home evolved Node B (HeNB), a relay node, a home base station (femto), a pico base station (pico), etc., which is not limited in the embodiments of the present application. In some network structures, the base station may include a centralized unit (CU) node and a distributed unit (DU) node, and the centralized unit and the distributed unit may also be arranged geographically separately.
[0122] The access network device in this application may be a satellite in a satellite network.
[0123] The core network device can be a device including one or more network elements, or multiple devices or device groups, each including all or part of the one or more network elements. The network element can be virtual or physical. The core network includes, for example, at least one of the Evolved Packet Core (EPC), the 5G Core Network (5GCN), and the Next Generation Core (NGC).
[0124] The terminal device may be a device that provides voice and / or data connectivity to a user, a handheld device with a wireless connection function, or other processing devices connected to a wireless modem. In different systems, the names of the terminal devices may also be different. For example, in a 5G system, the terminal device may be called a user equipment (UE). The wireless terminal device may communicate with one or more core network (CN) devices via a radio access network (RAN). The wireless terminal device may be a mobile terminal device, such as a mobile phone (or "cellular" phone) and a computer with a mobile terminal device. For example, it may be a portable, pocket-sized, handheld, computer-built-in or vehicle-mounted mobile device that exchanges language and / or data with a wireless access network. For example, personal communication service (PCS) phones, cordless phones, session initiation protocol (SIP) phones, wireless local loop (WLL) stations, personal digital assistants (PDA) and other devices. The wireless terminal device may also be referred to as a system, a subscriber unit, a subscriber station, a mobile station, a mobile station, a remote station, an access point, a remote terminal device, an access terminal device, a user terminal device, a user agent, and a user device, but is not limited in the embodiments of the present application.
[0125] The satellite network load balancing method provided in the present application is described in detail below by taking the satellite network load balancing method executed by the first satellite in the satellite group as an example.
[0126] like Figure 1 As shown, the satellite network load balancing method includes:
[0127] Step 101, determining the current load ratio of each port in the satellite group.
[0128] The satellite group is a satellite matrix obtained by grouping satellites in the satellite network, that is, adjacent satellites in the satellite network are grouped according to a certain matrix scale. For example, adjacent satellites in the satellite network can be grouped according to a 3×4 matrix scale, or can be grouped according to a 4×4 matrix scale. For example, Figure 2 As shown, Figure 2 The satellite group link structure diagram of a 4×4 matrix scale provided in the embodiment of the present application is not limited in the present application.
[0129] It should be noted that the satellite group may include one first satellite and multiple second satellites.
[0130] In some possible implementation forms, a first distance between a first satellite and a center point of a coverage area of the satellite group is less than or equal to a second distance between each second satellite and the center point.
[0131] In the present application, any one of the at least one satellite closest to the center point of the coverage area of the satellite group can be selected as the first satellite, and the remaining satellites in the satellite group can all be used as the second satellite.
[0132] In some possible implementation forms, the current load ratio of each port in the first satellite may be determined based on the size of each data packet in the queue list of each port of the first satellite and the rate of each port.
[0133] The port queue list is a list used to record data packets waiting to be transmitted at the port.
[0134] For example, suppose the size of each data packet in the queue list of a port of the first satellite is M size , the port has a total of A packets, and the port rate is S port , then the current load ratio of the port is C port for:
[0135]
[0136] In some possible implementation forms, message interaction may be performed with each second satellite in the satellite group to obtain the current load ratio of each port in each second satellite.
[0137] The message is a message used by satellites in the satellite group to exchange information, which may include link status information between satellites in the satellite group and other satellites in the group, such as a queue list of each port of the satellite, etc., which is not limited in this application.
[0138] In the present application, the first satellite can obtain the link status information between each second satellite and the remaining satellites in the group by exchanging messages with each second satellite in the satellite group, thereby obtaining the current load ratio of each port in each second satellite.
[0139] Step 102: When the current load ratio of at least one port is greater than or equal to the load threshold, based on the current load ratio of at least one port, update the first link cost value of at least one port to obtain an updated second link cost value of the at least one port.
[0140] The load threshold is a critical value of the load ratio of each port of each satellite in the satellite group, which can also be used to represent the critical value of the link detection of the port, which is pre-set. For example, the load threshold can be set to 0.7, which is not limited in this application.
[0141] The second link cost value is a link cost value obtained by updating the first link cost value of the port.
[0142] In some possible implementation forms, the first link cost value of at least one port can be first obtained from the link cost table, and based on the current load ratio of the at least one port, the preset cost multiplier and the load threshold, the current cost amplification multiple of the at least one port can be determined, and then based on the current cost amplification multiple of the at least one port, the first link cost value of the at least one port can be amplified to obtain the second link cost value of the at least one port.
[0143] The link cost table is a cost table generated by the gateway based on the link cost value of each port of each satellite in the satellite group.
[0144] The preset cost multiple is used to represent the multiple of the link cost of the port in the satellite group, which is preset and usually set to a value greater than 1. For example, the preset cost multiple can be 2, 4, etc., which is not limited in this application.
[0145] The cost magnification factor is used to represent the magnification factor of the current link cost of at least one port.
[0146] For example, the first link cost value of a port of a satellite in the satellite group in the link cost table is L budget , the load ratio of this port is C port , the default cost multiple is β cost , the load threshold is α limit , then the current cost magnification of the port is: Then, based on the current cost magnification factor of the port, the first link cost value of the port is magnified to obtain the second link cost value L of the port. budget 'for:
[0147]
[0148] It should be noted that, when the current load ratio of at least one port is less than the load threshold, the first link cost value of the at least one port will not be updated. In other words, the second link cost value of the at least one port is the first link cost value, that is, L budget '=L budget , C port <α limit .
[0149] Step 103: Determine a first routing table in the satellite group according to the second link cost value of at least one port and the first link cost values of the remaining ports in the satellite group.
[0150] The first routing table is a routing table including ports through which a path in a satellite group determined by the first satellite passes and the order of the ports.
[0151] In some possible implementation forms, the first routing table may be determined based on selecting a path with the smallest link cost value from among the links in the satellite group.
[0152] In the present application, based on the second link cost value of at least one port in the satellite group and the first link cost values of the remaining ports, a path with the smallest link cost value can be selected, and based on the ports passed by the path with the smallest link cost value and the order of the ports, the first routing table in the satellite group is determined.
[0153] Step 104: Send the first routing table to each second satellite respectively.
[0154] In the present application, after determining the first routing table in the satellite group, the first satellite can send it to each second satellite in the satellite group respectively.
[0155] In some possible implementation forms, the target second satellite included in the first routing table may be determined first, and then the first routing table may be sent to the target second satellite.
[0156] The target second satellite is a second satellite determined based on the first routing table and is the second satellite that the data packet needs to pass through when being transmitted.
[0157] In the embodiment of the present application, the current load ratio of each port in the satellite group is first determined. When the current load ratio of at least one port is greater than or equal to the load threshold, the first link cost value of at least one port is updated based on the current load ratio of at least one port to obtain the updated second link cost value of at least one port. Then, according to the second link cost value of at least one port and the first link cost values of the remaining ports in the satellite group, the first routing table in the satellite group is determined, and finally the first routing table is sent to each of the second satellites respectively. Thus, the first routing table is determined based on the second link cost value of at least one port in the satellite group and the first link cost values of the remaining ports, thereby shortening the delay of satellite network data transmission and saving network resources.
[0158] Combine the following Figure 3 Taking the satellite network load balancing method executed by the first satellite as an example, the satellite network load balancing method provided in the present application is further described in detail. Figure 3 A flowchart of a satellite network load balancing method provided in an embodiment of the present application.
[0159] like Figure 3 As shown, the satellite network load balancing method includes:
[0160] Step 301, determine the size of the satellite group.
[0161] The size of the satellite group refers to the size of the satellite matrix formed by grouping the satellites in the satellite network according to a certain matrix size.
[0162] It should be noted that, assuming that the size of the satellite group is represented by M×N, then M and N may be the same or different. For example, the size of the satellite group may be a 3×4 satellite matrix or a 4×4 satellite matrix (e.g. Figure 2 As shown), etc., this application does not limit this.
[0163] Step 302: Determine the message exchange time interval according to the size of the satellite group.
[0164] The message interaction time interval is the time interval for the satellites in the satellite group to interact with each other.
[0165] In some possible implementation forms, the maximum longitudinal transmission delay and the maximum lateral transmission delay of the satellite can be determined first, and then the length of the round-trip time of information between the second edge satellite and the first satellite in the satellite group can be determined based on the size of the satellite group, the maximum longitudinal transmission delay and the maximum lateral transmission delay. Finally, any time length greater than the information round-trip time length is determined as the message interaction time interval.
[0166] The maximum longitudinal transmission delay is the maximum physical delay of satellites in the satellite group along the longitude direction, and the maximum lateral transmission delay is the maximum physical delay of satellites in the satellite group along the latitude direction.
[0167] The second edge satellite is a satellite located at the edge of the satellite group.
[0168] The length of the information round trip time is the round trip time when the first satellite and the edge satellite exchange messages.
[0169] For example, assuming that the maximum longitudinal transmission delay of satellites in the satellite group is D line , the maximum horizontal transmission delay is D row , the size of the satellite group is M×N, then the round-trip time between the second edge satellite and the first satellite is: Among them, Floor() is rounded down. At this time, any time length greater than the round-trip time of the information can be taken as the message interaction time interval τ ma .
[0170] Step 303: Periodically exchange messages with each second satellite in the satellite group at a message exchange time interval.
[0171] In the present application, after obtaining the message interaction time interval, the first satellite can perform periodic message interaction with each second satellite in the satellite group based on the message interaction time interval to obtain the current load ratio of each port in each second satellite.
[0172] In the embodiment of the present application, the size of the satellite group is first determined, and the message interaction time interval is determined according to the size of the satellite group, and then periodic message interaction is performed with each second satellite in the satellite group at the message interaction time interval. Thus, based on the message interaction time interval, the first satellite performs periodic message interaction with each second satellite to obtain the load ratio of each port of the second satellite, thereby providing conditions for achieving local area traffic load balancing of the satellite network.
[0173] Combine the following Figure 4 Taking the satellite network load balancing method executed by the first satellite as an example, the satellite network load balancing method provided in the present application is further described in detail. Figure 4A flowchart of a satellite network load balancing method provided in an embodiment of the present application.
[0174] like Figure 4 As shown, the satellite network load balancing method includes:
[0175] Step 401, determining the current load ratio of each port in the satellite group.
[0176] Step 402: When the current load ratio of at least one port is greater than or equal to the load threshold, based on the current load ratio of at least one port, update the first link cost value of at least one port to obtain an updated second link cost value of the at least one port.
[0177] Step 403: Determine a first routing table in the satellite group according to the second link cost value of at least one port and the first link cost values of the remaining ports in the satellite group.
[0178] Step 404: Send the first routing table to each second satellite respectively.
[0179] Among them, the specific implementation forms of steps 401 to 404 can refer to the detailed description of other embodiments of the present application, and will not be repeated here.
[0180] Step 405 , determining a first target port according to a target satellite of the data packet to be transmitted and based on a first routing table.
[0181] The target satellite is a satellite that the data packet to be transmitted needs to pass through during transmission.
[0182] The first target port is a port in the first satellite that sends a data packet and is determined based on the first routing table.
[0183] Step 406: When a queue occurs at the first target port, a second target port is determined from other ports of the first satellite based on the priority of each port in the second routing table sent by the gateway.
[0184] The second routing table is a routing table including the ports through which the paths in the satellite group determined by the gateway pass and the order between the ports.
[0185] It should be noted that the priority of each port is determined based on the link cost value of each port in the second routing table. The smaller the link cost value, the higher the corresponding priority of the port, and the larger the link cost value, the lower the corresponding priority of the port.
[0186] The second target port is determined based on the second routing table and is a port in the first satellite other than the first target port to which data packets can be sent.
[0187] In the present application, after determining the first target port, if a queue occurs at the first target port, it can be considered that the first target port is in a congested state. At this time, a second routing table can be obtained from the gateway, and based on the priority of each port in the second routing table, the second target port of the first satellite can be determined.
[0188] Step 407: When there is no queue at the second target port, the data packet is sent to the target satellite via the second target port.
[0189] In the present application, when there is no queuing at the second target port, it can be considered that there is no congestion at the second target port. At this time, the data packet can be sent to the target satellite through the second target port, such as Figure 5 As shown, Figure 5 A schematic diagram of path adjustment within a satellite group provided in an embodiment of the present application.
[0190] In the embodiment of the present application, the current load ratio of each port in the satellite group is first determined. When the current load ratio of at least one port is greater than or equal to the load threshold, the first link cost value of at least one port is updated based on the current load ratio of at least one port to obtain the updated second link cost value of at least one port. Then, according to the second link cost value of at least one port and the first link cost values of the remaining ports in the satellite group, the first routing table in the satellite group is determined, and the first routing table is sent to each second satellite respectively. Then, according to the target satellite of the data packet to be transmitted, the first target port is determined based on the first routing table. When the first target port is queued, the second target port is determined from the other ports of the first satellite based on the priority of each port in the second routing table sent by the gateway. Finally, when the second target port is not queued, the data packet is sent to the target satellite through the second target port. Thus, when the first target port determined based on the first routing table is queued, the second target port is determined based on the second routing table sent by the gateway. When the second target port is not queued, the data packet is sent through the second target port, thereby improving the data throughput of the satellite network and saving the resources of the satellite network.
[0191] Combine the following Figure 6 Taking the satellite network load balancing method executed by the first satellite as an example, the satellite network load balancing method provided in the present application is further described in detail. Figure 6 A flowchart of a satellite network load balancing method provided in an embodiment of the present application.
[0192] like Figure 6 As shown, the satellite network load balancing method includes:
[0193] Step 601, determining the current load ratio of each port in the satellite group.
[0194] Step 602: When the current load ratio of at least one port is greater than or equal to the load threshold, based on the current load ratio of at least one port, update the first link cost value of at least one port to obtain an updated second link cost value of the at least one port.
[0195] Step 603: Determine a first routing table in the satellite group according to the second link cost value of at least one port and the first link cost values of the remaining ports in the satellite group.
[0196] Step 604: Send the first routing table to each second satellite respectively.
[0197] Step 605: Determine a first target port according to a target satellite of the data packet to be transmitted and based on a first routing table.
[0198] Step 606: When a queue occurs at the first target port, a second target port is determined from other ports of the first satellite based on the priority of each port in the second routing table sent by the gateway.
[0199] Among them, the specific implementation forms of steps 601 to 606 can refer to the detailed description of other embodiments of the present application and will not be repeated here.
[0200] Step 607: When a queue appears at the second target port, add the data packet to the queue list of the first target port.
[0201] In the present application, when queuing occurs at the second target port, it can be considered that congestion occurs at the second target port. At this time, the data packet can be added to the queue list of the first target port to wait for transmission.
[0202] In the embodiment of the present application, the current load ratio of each port in the satellite group is first determined. When the current load ratio of at least one port is greater than or equal to the load threshold, the first link cost value of at least one port is updated based on the current load ratio of at least one port to obtain the updated second link cost value of at least one port. Then, according to the second link cost value of at least one port and the first link cost values of the remaining ports in the satellite group, the first routing table in the satellite group is determined, and the first routing table is sent to each second satellite respectively. Then, according to the target satellite of the data packet to be transmitted, the first target port is determined based on the first routing table. When the first target port is queued, the second target port is determined from the other ports of the first satellite based on the priority of each port in the second routing table sent by the gateway. When the second target port is queued, the data packet is added to the queue list of the first target port. Thus, by allocating multiple target ports to the satellites in the satellite group for the satellites to select to transmit the data packet, the delay of satellite network data transmission is shortened and the efficiency is improved.
[0203] Combine the following Figure 7 Taking the satellite network load balancing method executed by the second satellite as an example, the satellite network load balancing method provided in the present application is described in detail. Figure 7 A flowchart of a satellite network load balancing method provided in an embodiment of the present application.
[0204] like Figure 7 As shown, the satellite network load balancing method includes:
[0205] Step 701, determining the current load ratio of each port in the second satellite.
[0206] In some possible implementations, the size of each data packet in the queue list of each port in the second satellite and the rate of each port can be first determined, and then based on the size of each data packet and the rate of each port, the current load ratio of each port in the second satellite can be determined.
[0207] The specific implementation form of step 701 can refer to the detailed description of other embodiments of the present application and will not be repeated here.
[0208] Step 702: Send the current load ratio of each port to the first satellite.
[0209] In the present application, after obtaining the current load ratio of each port, the second satellite can send the load ratio of each port to the first satellite.
[0210] Step 703: Receive a first routing table within a satellite group sent by a first satellite.
[0211] In the present application, after the current load ratio of each port is sent to the first satellite, the second satellite can receive the first routing table within the satellite group sent by the first satellite.
[0212] In the embodiment of the present application, the current load ratio of each port in the second satellite is first determined, and then the current load ratio of each port is sent to the first satellite, and finally the first routing table in the satellite group sent by the first satellite is received. Thus, by determining the first routing table based on the load ratio of each port in the second satellite, the probability of satellite network load congestion is reduced.
[0213] Combine the following Figure 8 Taking the satellite network load balancing method executed by the second satellite as an example, the satellite network load balancing method provided in the present application is further described in detail. Figure 8 A flowchart of a satellite network load balancing method provided in an embodiment of the present application.
[0214] like Figure 8 As shown, the satellite network load balancing method includes:
[0215] Step 801, determining the current load ratio of each port in the second satellite.
[0216] Step 802: Send the current load ratio of each port to the first satellite.
[0217] Step 803: Receive a first routing table within a satellite group sent by a first satellite.
[0218] Step 804: Determine a first target port according to a target satellite of the data packet to be transmitted and based on the first routing table.
[0219] Step 805: When a queue occurs at the first target port, a second target port is determined from other ports of the first satellite based on the priority of each port in the second routing table sent by the gateway.
[0220] Step 806: When there is no queue at the second target port, send the data packet to the target satellite through the second target port.
[0221] Among them, the specific implementation forms of steps 801 to 806 can refer to the detailed description of other embodiments of the present application, and will not be repeated here.
[0222] In the embodiment of the present application, the current load ratio of each port in the second satellite is first determined, and the current load ratio of each port is sent to the first satellite. Then, the first routing table in the satellite group sent by the first satellite is received. Then, according to the target satellite of the data packet to be transmitted, the first target port is determined based on the first routing table. In the case that the first target port is queued, the second target port is determined from other ports of the first satellite based on the priority of each port in the second routing table sent by the gateway. Finally, in the case that the second target port is not queued, the data packet is sent to the target satellite through the second target port. Thus, in the case that the first target port determined based on the first routing table is queued, the second target port is determined based on the second routing table sent by the gateway. In the case that the second target port is not queued, the data packet is sent through the second target port, thereby improving the data throughput of the satellite network and saving the resources of the satellite network.
[0223] Combine the following Fig. 9 Taking the satellite network load balancing method executed by the second satellite as an example, the satellite network load balancing method provided in the present application is further described in detail. Fig. 9 A flowchart of a satellite network load balancing method provided in an embodiment of the present application.
[0224] like Fig. 9 As shown, the satellite network load balancing method includes:
[0225] Step 901, determining the current load ratio of each port in the second satellite.
[0226] Step 902: Send the current load ratio of each port to the first satellite.
[0227] Step 903: Receive a first routing table within a satellite group sent by a first satellite.
[0228] Step 904: Determine a first target port according to a target satellite of the data packet to be transmitted and based on the first routing table.
[0229] Step 905: When a queue occurs at the first target port, a second target port is determined from other ports of the first satellite based on the priority of each port in the second routing table sent by the gateway.
[0230] Step 906: When a queue appears at the second target port, add the data packet to the queue list of the first target port.
[0231] Among them, the specific implementation forms of steps 901 to 906 can refer to the detailed description of other embodiments of the present application, and will not be repeated here.
[0232] In the embodiment of the present application, the current load ratio of each port in the second satellite is first determined, and the current load ratio of each port is sent to the first satellite. Then, the first routing table in the satellite group sent by the first satellite is received. Then, according to the target satellite of the data packet to be transmitted, the first target port is determined based on the first routing table. In the case of queuing at the first target port, the second target port is determined from other ports of the first satellite based on the priority of each port in the second routing table sent by the gateway. Finally, in the case of queuing at the second target port, the data packet is added to the queue list of the first target port. Thus, by allocating multiple target ports to the satellites in the satellite group for the satellites to select to transmit the data packet, the congestion of the satellite network load balancing is reduced and the efficiency is improved.
[0233] In order to implement the above embodiment, the embodiment of the present application further proposes a first satellite, Fig.10 A schematic diagram of the structure of a first satellite provided in an embodiment of the present application.
[0234] like Fig.10 As shown, the first satellite 1000 includes: a transceiver 1001, a processor 1002, and a memory 1003;
[0235] The transceiver 1001 is used to send and receive data under the control of the processor 1002.
[0236] Among them, Fig.10 In the embodiment, the bus architecture may include any number of interconnected buses and bridges, specifically linking together various circuits of one or more processors represented by processor 1002 and memory represented by memory 1003. The bus architecture may also link together various other circuits such as peripherals, voltage regulators, and power management circuits, which are well known in the art and are therefore not further described herein. The bus interface provides an interface. The transceiver 1001 may be a plurality of components, namely, a transmitter and a receiver, providing a unit for communicating with various other devices on a transmission medium, which transmission medium may include a wireless channel, a wired channel, an optical cable, and the like. The processor 1002 is responsible for managing the bus architecture and general processing, and the memory 1003 may store data used by the processor 1002 when performing operations.
[0237] The processor 1002 may be a central processing unit (CPU), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA) or a complex programmable logic device (CPLD). The processor may also adopt a multi-core architecture.
[0238] The processor 1002 is used to call the computer program stored in the memory and perform the following operations:
[0239] Determine the current load ratio of each port in the satellite group;
[0240] When the current load ratio of at least one port is greater than or equal to the load threshold, based on the current load ratio of at least one port, updating the first link cost value of at least one port to obtain an updated second link cost value of at least one port;
[0241] Determine a first routing table in the satellite group according to the second link cost value of at least one port and the first link cost values of the remaining ports in the satellite group;
[0242] The first routing table is sent to each second satellite respectively.
[0243] Optionally, the processor 1002 is specifically configured to perform the following operations:
[0244] Determine a current load ratio of each port in the first satellite based on the size of each data packet in the queue list of each port of the first satellite and the rate of each port;
[0245] Message interaction is performed with each second satellite in the satellite group to obtain the current load ratio of each port in each second satellite.
[0246] Optionally, the processor 1002 is specifically configured to perform the following operations:
[0247] Determine the size of the satellite group;
[0248] Determine the message exchange time interval according to the size of the satellite group;
[0249] Periodically exchange messages with each second satellite in the satellite group at a message exchange time interval.
[0250] Optionally, the processor 1002 is specifically configured to perform the following operations:
[0251] Determine the maximum longitudinal transmission delay and the maximum lateral transmission delay of the satellite;
[0252] Determine the length of round-trip time of information between the second edge satellite and the first satellite in the satellite group according to the size of the satellite group, the maximum longitudinal transmission delay and the maximum lateral transmission delay;
[0253] Any time duration greater than the round trip time of information is determined as the message interaction time interval.
[0254] Optionally, the processor 1002 is specifically configured to perform the following operations:
[0255] Obtaining a first link cost value of at least one port from a link cost table;
[0256] Determine the current cost magnification of at least one port based on the current load ratio of at least one port, the preset cost multiple and the load threshold;
[0257] Based on the current cost magnification factor of the at least one port, the first link cost value of the at least one port is magnified to obtain the second link cost value of the at least one port.
[0258] Optionally, the processor 1002 is specifically configured to perform the following operations:
[0259] A first routing table is determined based on selecting a path with the smallest link cost value from each link in the satellite group.
[0260] Optionally, after sending the first routing table to each second satellite respectively, the processor 1002 is specifically configured to perform the following operations:
[0261] Determining a first destination port based on a first routing table according to a destination satellite of a data packet to be transmitted;
[0262] In the case that a queue occurs at the first target port, a second target port is determined from other ports of the first satellite based on the priority of each port in the second routing table sent by the gateway;
[0263] In the case that no queue occurs at the second target port, the data packet is sent to the target satellite via the second target port.
[0264] Optionally, after determining the second target port from other ports of the first satellite, the processor 1002 is specifically configured to perform the following operations:
[0265] In the event that queuing occurs at the second target port, the data packet is added to the queuing list of the first target port.
[0266] Optionally, the processor 1002 is specifically configured to perform the following operations:
[0267] determining a target second satellite included in the first routing table;
[0268] The first routing table is sent to the target second satellite.
[0269] Optionally, a first distance between the first satellite and the center point of the satellite group coverage area is less than or equal to a second distance between each second satellite and the center point.
[0270] It should be noted that the first satellite provided in the embodiment of the present application can achieve the above Figures 1 to 6 All the method steps implemented in the method embodiment can achieve the same technical effect, and the parts and beneficial effects of this embodiment that are the same as those in the method embodiment will not be described in detail here.
[0271] In order to implement the above embodiment, the present application embodiment further proposes a second satellite, Fig.11 A schematic diagram of the structure of a second satellite provided in an embodiment of the present application.
[0272] like Fig.11 As shown, the second satellite 1100 includes: a transceiver 1101, a processor 1102, and a memory 1103;
[0273] The transceiver 1101 is used to send and receive data under the control of the processor 1102.
[0274] Among them, Fig.11 In the embodiment, the bus architecture may include any number of interconnected buses and bridges, specifically one or more processors represented by processor 1102 and various circuits of memory represented by memory 1103 are linked together. The bus architecture may also link together various other circuits such as peripherals, voltage regulators, and power management circuits, which are well known in the art and are therefore not further described herein. The bus interface provides an interface. The transceiver 1101 may be a plurality of components, namely, a transmitter and a receiver, providing a unit for communicating with various other devices on a transmission medium, which transmission medium may include a wireless channel, a wired channel, an optical cable, and other transmission media. The processor 1102 is responsible for managing the bus architecture and general processing, and the memory 1103 may store data used by the processor 1102 when performing operations.
[0275] The processor 1102 may be a central processing unit (CPU), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA) or a complex programmable logic device (CPLD). The processor may also adopt a multi-core architecture.
[0276] The processor 1102 is used to call the computer program stored in the memory and perform the following operations:
[0277] determining a current load ratio of each port in the second satellite;
[0278] Sending the current load ratio of each port to the first satellite;
[0279] A first routing table within the satellite group sent by a first satellite is received.
[0280] Optionally, the processor 1102 is specifically configured to perform the following operations:
[0281] Determining the size of each data packet in the queue list of each port in the second satellite and the rate of each port;
[0282] Based on the size of each data packet and the rate of each port, the current load ratio of each port in the second satellite is determined.
[0283] Optionally, after receiving the first routing table in the satellite group sent by the first satellite, the processor 1102 is specifically configured to perform the following operations:
[0284] Determining a first destination port based on a first routing table according to a destination satellite of a data packet to be transmitted;
[0285] In the case that a queue occurs at the first target port, a second target port is determined from other ports of the first satellite based on the priority of each port in the second routing table sent by the gateway;
[0286] In the case that no queue occurs at the second target port, the data packet is sent to the target satellite via the second target port.
[0287] Optionally, after determining the second target port from other ports of the first satellite, the processor 1102 is specifically configured to perform the following operations:
[0288] In the event that queuing occurs at the second target port, the data packet is added to the queuing list of the first target port.
[0289] It should be noted that the second satellite provided in the embodiment of the present application can achieve the above Figures 7 to 9 All the method steps implemented in the method embodiment can achieve the same technical effect, and the parts and beneficial effects of this embodiment that are the same as those in the method embodiment will not be described in detail here.
[0290] It should be noted that the division of units in the embodiments of the present application is schematic and is only a logical function division. There may be other division methods in actual implementation. In addition, each functional unit in each embodiment of the present application may be integrated into a processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit. The above-mentioned integrated unit may be implemented in the form of hardware or in the form of software functional units.
[0291] If the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a processor-readable storage medium. Based on this understanding, the technical solution of the present application is essentially 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, and the computer software product is stored in a storage medium, including a number of instructions to enable a computer device (which can be a personal computer, a server, or a network side device, etc.) or a processor (processor) to perform all or part of the steps of the various embodiments of the present application. The aforementioned storage medium includes: U disk, mobile hard disk, read-only memory (Read-Only Memory, ROM), random access memory (Random Access Memory, referred to as RAM), disk or optical disk and other media that can store program codes.
[0292] It should be noted here that the above-mentioned device provided in the embodiment of the present application can implement all the method steps implemented in the above-mentioned method embodiment, and can achieve the same technical effect. The parts and beneficial effects of this embodiment that are the same as those in the method embodiment will not be described in detail here.
[0293] On the other hand, an embodiment of the present application further provides a processor-readable storage medium, the processor-readable storage medium storing a computer program, the computer program is used to enable the processor to execute the present application Figure 1 , Figure 3 , Figure 4 , Figure 6 , Figure 7 , Figure 8 , Fig. 9 The method shown in the embodiment.
[0294] Among them, the above-mentioned processor-readable storage medium can be any available medium or data storage device that can be accessed by the processor, including but not limited to magnetic storage (such as floppy disks, hard disks, magnetic tapes, magneto-optical disks (MO)), optical storage (such as CD, DVD, BD, HVD, etc.), and semiconductor storage (such as ROM, EPROM, EEPROM, non-volatile memory (NANDFLASH), solid-state drive (SSD)), etc.
[0295] In the description of this specification, the terms "first" and "second" are used for descriptive purposes only and cannot be understood as indicating or implying relative importance or implicitly indicating the number of the indicated technical features. Therefore, the features defined as "first" and "second" may explicitly or implicitly include at least one of the features. In the description of this application, the meaning of "plurality" is at least two, such as two, three, etc., unless otherwise clearly and specifically defined.
[0296] Although the embodiments of the present application have been shown and described above, it can be understood that the above embodiments are exemplary and cannot be understood as limitations on the present application. Ordinary technicians in this field can change, modify, replace and modify the above embodiments within the scope of the present application.
Claims
1. A satellite network load balancing method, characterized in that: The method is performed by a first satellite in a satellite group, wherein the satellite group includes a first satellite and a plurality of second satellites, and the method includes: Determining a current load ratio of each port in the satellite group; When the current load ratio of at least one port is greater than or equal to the load threshold, based on the current load ratio of the at least one port, updating the first link cost value of the at least one port to obtain an updated second link cost value of the at least one port; Determine a first routing table in the satellite group according to the second link cost value of the at least one port and the first link cost values of the remaining ports in the satellite group; The first routing table is sent to each of the second satellites respectively.
2. The method according to claim 1, characterized in that Determining the current load ratio of each port in the satellite group includes: Determine a current load ratio of each port in the first satellite based on the size of each data packet in the queue list of each port of the first satellite and the rate of each port; Message interaction is performed with each second satellite in the satellite group to obtain a current load ratio of each port in each second satellite.
3. The method according to claim 2, characterized in that The performing message interaction with each second satellite in the satellite group includes: determining a size of the satellite constellation; Determining a message interaction time interval according to the size of the satellite group; Periodically interacting with each second satellite in the satellite group at the message interaction time interval.
4. The method according to claim 3, characterized in that The step of determining the message interaction time interval according to the size of the satellite group includes: Determine the maximum longitudinal transmission delay and the maximum lateral transmission delay of the satellite; Determine the length of round-trip time of information between the first satellite and the edge second satellite in the satellite group according to the size of the satellite group, the maximum longitudinal transmission delay and the maximum horizontal transmission delay; Any time length that is greater than the information round trip time length is determined as the message interaction time interval.
5. The method according to claim 1, characterized in that The updating of the first link cost value of the at least one port based on the current load ratio of the at least one port includes: Acquire a first link cost value of the at least one port from a link cost table; Determining a current cost magnification factor of the at least one port based on a current load ratio of the at least one port, a preset cost multiplier, and the load threshold; Based on the current cost amplification factor of the at least one port, the first link cost value of the at least one port is amplified to obtain a second link cost value of the at least one port.
6. The method according to claim 1, characterized in that Determining a first routing table in the satellite group according to the second link cost value of the at least one port and the first link cost values of the remaining ports in the satellite group includes: The first routing table is determined based on selecting a path with the smallest link cost value from each link in the satellite group.
7. The method according to any one of claims 1 to 6, characterized in that: After sending the first routing table to each of the second satellites respectively, the method further includes: Determining a first target port based on the first routing table according to a target satellite of the data packet to be transmitted; In the case where the first target port is queued, determining the second target port from other ports of the first satellite based on the priority of each port in the second routing table sent by the gateway; In a case where no queue occurs at the second target port, the data packet is sent to the target satellite via the second target port.
8. The method according to claim 7, characterized in that After determining the second target port from other ports of the first satellite, the method further includes: In the case that the second target port is queued, the data packet is added to the queue list of the first target port.
9. The method according to any one of claims 1 to 6, characterized in that: The sending the first routing table to each of the second satellites respectively comprises: determining a target second satellite included in the first routing table; The first routing table is sent to the target second satellite.
10. The method according to any one of claims 1 to 6, characterized in that: A first distance between the first satellite and a center point of a coverage area of the satellite group is less than or equal to a second distance between each of the second satellites and the center point.
11. A satellite network load balancing method, characterized in that: The method is performed by a second satellite in a satellite group, wherein the satellite group includes a first satellite and a plurality of second satellites, and the method includes: Determining a current load ratio of each port in the second satellite; Sending the current load ratio of each of the ports to the first satellite; A first routing table within the satellite group sent by the first satellite is received.
12. The method according to claim 11, characterized in that The determining a current load ratio of each port in the second satellite includes: Determining the size of each data packet in the queue list of each port in the second satellite and the rate of each of the ports; Based on the size of each data packet and the rate of each port, the current load ratio of each port in the second satellite is determined.
13. The method according to claim 11 or 12, characterized in that After receiving the first routing table in the satellite group sent by the first satellite, the method further includes: Determining a first target port based on the first routing table according to a target satellite of the data packet to be transmitted; In the case where the first target port is queued, determining the second target port from other ports of the first satellite based on the priority of each port in the second routing table sent by the gateway; In a case where no queue occurs at the second target port, the data packet is sent to the target satellite via the second target port.
14. The method according to claim 13, characterized in that After determining the second target port from other ports of the first satellite, the method further includes: In the case that the second target port is queued, the data packet is added to the queue list of the first target port.
15. A first satellite, characterized in that: The first satellite is a satellite in a satellite group, the satellite group includes a first satellite and a plurality of second satellites, and the first satellite includes a memory, a transceiver, and a processor; Memory for storing computer programs; a transceiver, for transmitting and receiving data under the control of the processor; A processor is configured to read the computer program in the memory and perform the following operations: Determining a current load ratio of each port in the satellite group; When the current load ratio of at least one port is greater than or equal to the load threshold, based on the current load ratio of the at least one port, updating the first link cost value of the at least one port to obtain an updated second link cost value of the at least one port; Determine a first routing table in the satellite group according to the second link cost value of the at least one port and the first link cost values of the remaining ports in the satellite group; The first routing table is sent to each of the second satellites respectively.
16. The first satellite according to claim 15, characterized in that The processor is specifically configured to perform the following operations: Determine a current load ratio of each port in the first satellite based on the size of each data packet in the queue list of each port of the first satellite and the rate of each port; Message interaction is performed with each second satellite in the satellite group to obtain a current load ratio of each port in each second satellite.
17. The first satellite according to claim 16, characterized in that The processor is specifically configured to perform the following operations: determining a size of the satellite constellation; Determining a message interaction time interval according to the size of the satellite group; Periodically interacting with each second satellite in the satellite group at the message interaction time interval.
18. The first satellite according to claim 17, characterized in that The processor is specifically configured to perform the following operations: Determine the maximum longitudinal transmission delay and the maximum lateral transmission delay of the satellite; Determine the length of round-trip time of information between the first satellite and the edge second satellite in the satellite group according to the size of the satellite group, the maximum longitudinal transmission delay and the maximum horizontal transmission delay; Any time length that is greater than the information round trip time length is determined as the message interaction time interval.
19. The first satellite according to claim 15, characterized in that The processor is specifically configured to perform the following operations: Acquire a first link cost value of the at least one port from a link cost table; Determining a current cost magnification factor of the at least one port based on a current load ratio of the at least one port, a preset cost multiplier, and the load threshold; Based on the current cost amplification factor of the at least one port, the first link cost value of the at least one port is amplified to obtain a second link cost value of the at least one port.
20. The first satellite of claim 15, wherein: The processor is specifically configured to perform the following operations: The first routing table is determined based on selecting a path with the smallest link cost value from each link in the satellite group.
21. The first satellite according to any one of claims 15 to 20, characterized in that: After sending the first routing table to each of the second satellites respectively, the processor is specifically configured to perform the following operations: Determining a first target port based on the first routing table according to a target satellite of the data packet to be transmitted; In the case where the first target port is queued, determining the second target port from other ports of the first satellite based on the priority of each port in the second routing table sent by the gateway; In a case where no queue occurs at the second target port, the data packet is sent to the target satellite via the second target port.
22. The first satellite according to claim 21, characterized in that After determining the second target port from other ports of the first satellite, the processor is specifically configured to perform the following operations: In the case that the second target port is queued, the data packet is added to the queue list of the first target port.
23. The first satellite according to any one of claims 15 to 20, characterized in that: The processor is specifically configured to perform the following operations: determining a target second satellite included in the first routing table; The first routing table is sent to the target second satellite.
24. The first satellite according to any one of claims 15 to 20, characterized in that: A first distance between the first satellite and a center point of a coverage area of the satellite group is less than or equal to a second distance between each of the second satellites and the center point.
25. A second satellite, characterized in that: The second satellite is a second satellite in a satellite group, the satellite group includes a first satellite and a plurality of second satellites, and the second satellite includes a memory, a transceiver, and a processor; Memory for storing computer programs; a transceiver, for transmitting and receiving data under the control of the processor; A processor is configured to read the computer program in the memory and perform the following operations: Determining a current load ratio of each port in the second satellite; Sending the current load ratio of each of the ports to the first satellite; A first routing table within the satellite group sent by the first satellite is received.
26. The second satellite according to claim 25, characterized in that The processor is specifically configured to perform the following operations: Determining the size of each data packet in the queue list of each port in the second satellite and the rate of each of the ports; Based on the size of each data packet and the rate of each port, the current load ratio of each port in the second satellite is determined.
27. The second satellite according to claim 25 or 26, characterized in that After receiving the first routing table within the satellite group sent by the first satellite, the processor is specifically configured to perform the following operations: Determining a first target port based on the first routing table according to a target satellite of the data packet to be transmitted; In the case where the first target port is queued, determining the second target port from other ports of the first satellite based on the priority of each port in the second routing table sent by the gateway; In a case where no queue occurs at the second target port, the data packet is sent to the target satellite via the second target port.
28. The second satellite according to claim 27, characterized in that After determining the second target port from other ports of the first satellite, the processor is specifically configured to perform the following operations: In the case that the second target port is queued, the data packet is added to the queue list of the first target port.
29. A processor-readable storage medium, characterized in that: The processor-readable storage medium stores a computer program, and the computer program is used to enable the processor to execute the method according to any one of claims 1 to 14.