Data transmission method and device and related equipment

By obtaining satellite network status information and selecting appropriate target satellites for switching, the problem of data loss caused by satellite switching in multi-orbit satellite communications is solved, and the continuity and stability of data transmission are achieved.

CN120729397AActive Publication Date: 2025-09-30CHINA TELECOM CORP LTD +1
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202511191338.4
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-08-25
Publication Date
2025-09-30
Estimated Expiration
2045-08-25

AI Technical Summary

Technical Problem

In a multi-orbit satellite communication architecture, user services are easily interrupted when satellites are switched, resulting in data loss and affecting the continuity and stability of the communication network.

Method used

By obtaining the network status information of each satellite, determining the transmission rate and remaining service time, and selecting the target satellite for data packet switching, the continuity and stability of data transmission are ensured.

Benefits of technology

It effectively avoids data loss caused by satellite switching and improves the continuity and stability of data transmission between user terminals and satellites.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120729397A_ABST
    Figure CN120729397A_ABST
Patent Text Reader

Abstract

The invention provides a data transmission method and device and related equipment, and relates to the technical field of communication. The method comprises the steps that after transmission of a time slice of a data packet is completed through a currently connected satellite, network state information of all satellites is obtained, all the satellites comprise the currently connected satellite, and the data packet is divided into a plurality of time slices to be transmitted; determining the transmission rate of each satellite according to the network state information of each satellite; determining the remaining service time of each satellite; determining a target satellite from the satellites according to the transmission rate and the remaining service time of the satellites; and switching from the current connected satellite to the target satellite, and transmitting the next time slice of the data packet by using the target satellite. Through the technical means, the problem of data loss caused by satellite switching is solved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to the field of communication technology, and in particular to a data transmission method, apparatus, and related equipment. Background Art

[0002] With the increasing number of satellites in orbit and the advancement of inter-satellite communication technology, a multi-orbit satellite communication architecture is being constructed. In a multi-orbit architecture, when the current satellite is unable to serve a user, the downlink service it carries is often forced to be interrupted. Users must undergo a new handover process to connect to another satellite, potentially losing data in transit and causing service interruption. In this scenario, ensuring the continuity and stability of user services during satellite handover has become a core issue in improving the service quality of satellite communication networks. Summary of the Invention

[0003] The present disclosure provides a data transmission method, apparatus, and related equipment to improve the continuity and stability of data transmission between a user terminal and a satellite.

[0004] According to one aspect of the present disclosure, a data transmission method is provided, comprising: after completing the transmission of a time slice of a data packet using a currently connected satellite, obtaining network status information of each satellite, wherein the satellites include the currently connected satellite, and the data packet is divided into multiple time slices for transmission; determining the transmission rate of each satellite based on the network status information of each satellite; determining the remaining service time of each satellite; determining a target satellite from each satellite based on the transmission rate and the remaining service time of each satellite; and switching from the currently connected satellite to the target satellite, and using the target satellite to transmit the next time slice of the data packet.

[0005] In one embodiment of the present disclosure, the network status information includes downlink resource occupancy information, channel quality information and ephemeris information; the downlink resource occupancy information includes at least one of the following: downlink time domain resources, frequency domain resources, code domain resources and space domain resources, and the frequency domain resources include channel bandwidth; the channel quality information includes at least one of the following: satellite-to-ground link attenuation value, satellite transmit power, satellite downlink transmit frequency, satellite antenna gain, user terminal antenna gain and satellite-to-ground link noise power; the ephemeris information includes at least one of the following: the operating speed and position of the satellite.

[0006] In one embodiment of the present disclosure, the transmission rate of each satellite is determined based on the network status information of each satellite, including: determining the satellite-to-ground link signal-to-noise ratio of each satellite based on one or more of the following information: a satellite-to-ground link attenuation value, satellite transmit power, satellite antenna gain, user terminal antenna gain, satellite downlink transmission frequency, satellite-to-ground link noise power, and a first distance between the satellite and the user terminal; and determining the transmission rate of each satellite at a current moment based on one or more of the following information: a channel bandwidth of each satellite and the satellite-to-ground link signal-to-noise ratio.

[0007] In one embodiment of the present disclosure, determining the remaining service time of each satellite includes: determining the service time of each satellite and the time slot resource length of a time slice; determining the remaining service time of each satellite based on the service time of each satellite, the time slot resource length of a time slice and the serial number of the last time slice for which transmission has been completed.

[0008] In one embodiment of the present disclosure, determining the service time of each satellite includes: determining a second distance at which each satellite can provide service to a user terminal; determining a third distance between a starting position and an ending position at which each satellite can provide service to the user terminal based on the second distance corresponding to each satellite; and determining the service time of each satellite based on the operating speed of each satellite and the third distance corresponding to each satellite.

[0009] In one embodiment of the present disclosure, determining the second distance at which each satellite can provide service to a user terminal includes: determining the second distance corresponding to each satellite based on one or more of the following information: channel bandwidth, data transmission rate threshold, satellite-to-ground link attenuation value, satellite transmit power, satellite antenna gain, user terminal antenna gain, satellite downlink transmission frequency, and satellite-to-ground link noise power.

[0010] In one embodiment of the present disclosure, a target satellite is determined from among the satellites based on the transmission rate and remaining service time of each satellite, including: determining the time slot resource length of a time slice; determining the amount of data transmitted by each satellite within the time slot resource length of a time slice based on the transmission rate of each satellite; performing a weighted summation of the amount of data transmitted by each satellite within the time slot resource length of a time slice and the remaining service time of each satellite according to an adjustment coefficient to obtain a score for each satellite; and determining the target satellite from among the satellites based on the score of each satellite.

[0011] In one embodiment of the present disclosure, after determining the remaining service time of each satellite, the method further includes: determining a minimum time slot resource length for a resource scheduling allocation; and determining a target satellite from among the satellites based on the minimum time slot resource length, the transmission rate of each satellite, and the remaining service time.

[0012] In one embodiment of the present disclosure, after determining the remaining service time of each satellite, the method further includes: determining the minimum time slot resource length for a resource scheduling allocation; determining the time slot resource length of a time slice; and determining a target satellite from each satellite based on the minimum time slot resource length, the time slot resource length of a time slice, the transmission rate of each satellite, and the remaining service time.

[0013] In one embodiment of the present disclosure, after determining the remaining service time of each satellite, the method further includes: determining the minimum time slot resource length for a resource scheduling allocation; determining the time slot resource length of a time slice; recording the serial number of the last time slice for which transmission has been completed as m, and determining the remaining data amount of the data packet after the mth time slice is transmitted; determining the time required for each satellite to transmit the remaining data amount corresponding to the mth time slice; and determining the target satellite from each satellite based on the time required for each satellite to transmit the remaining data amount corresponding to the mth time slice, the minimum time slot resource length, the time slot resource length of a time slice, the transmission rate of each satellite, and the remaining service time.

[0014] In one embodiment of the present disclosure, determining the remaining data amount of a data packet after transmission of the mth time slice includes: determining the time slot resource length of one time slice; determining the data amount transmitted by each satellite within the time slot resource length of one time slice based on the transmission rate of each satellite; and determining the remaining data amount corresponding to the mth time slice based on the remaining data amount corresponding to the m-1th time slice and the data amount transmitted by each satellite within the time slot resource length of one time slice.

[0015] In one embodiment of the present disclosure, determining the time required for each satellite to transmit the remaining data corresponding to the mth time slice includes: determining the time slot resource length of a time slice; determining the amount of data transmitted by each satellite within the time slot resource length of a time slice based on the transmission rate of each satellite; and determining the time required for each satellite to transmit the remaining data corresponding to the mth time slice based on the amount of data transmitted by each satellite within the time slot resource length of a time slice and the remaining data corresponding to the mth time slice.

[0016] In one embodiment of the present disclosure, the method further includes: determining the total data volume of the data packet; determining the time slot resource length of a time slice; and determining the number of time slices into which the data packet is divided based on the total data volume, the time slot resource length of a time slice, and the transmission rate of each satellite.

[0017] According to another aspect of the present disclosure, a data transmission device is provided, including: an acquisition module, configured to acquire network status information of each satellite after completing the transmission of a time slice of a data packet using a currently connected satellite, wherein each satellite includes the currently connected satellite, and the data packet is divided into multiple time slices for transmission; a first determination module, configured to determine the transmission rate of each satellite based on the network status information of each satellite; a second determination module, configured to determine the remaining service time of each satellite; a third determination module, configured to determine a target satellite from each satellite based on the transmission rate and the remaining service time of each satellite; and a switching module, configured to switch from the currently connected satellite to the target satellite, and use the target satellite to transmit the next time slice of the data packet.

[0018] According to yet another aspect of the present disclosure, an electronic device is provided, comprising: a processor; and a memory for storing executable instructions of the processor; wherein the processor is configured to perform any of the above methods by executing the executable instructions.

[0019] According to another aspect of the present disclosure, a computer-readable storage medium is provided, on which a computer program is stored. When the computer program is executed by a processor, any of the above methods is implemented.

[0020] According to another aspect of the present disclosure, a computer program product is provided, including computer instructions stored in a computer-readable storage medium, and the computer instructions implement operating instructions of any of the above methods when executed by a processor.

[0021] In an embodiment of the present disclosure, a target satellite is determined from among the satellites based on the transmission rate and remaining service time of each satellite, and the currently connected satellite is switched to the target satellite, thereby solving the problem of data loss caused by satellite switching and improving the continuity and stability of data transmission between the user terminal and the satellite.

[0022] It is to be understood that the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the disclosure. BRIEF DESCRIPTION OF THE DRAWINGS

[0023] The accompanying drawings are incorporated into and constitute a part of the specification, illustrate embodiments consistent with the present disclosure, and together with the specification, are used to explain the principles of the present disclosure. Obviously, the drawings described below are only some embodiments of the present disclosure, and those skilled in the art can derive other drawings based on these drawings without inventive effort.

[0024] Figure 1 A schematic diagram of a data transmission system according to an embodiment of the present disclosure is shown.

[0025] Figure 2 A flow chart of a data transmission method according to an embodiment of the present disclosure is shown.

[0026] Figure 3 A flow chart showing a method for determining a target satellite in an embodiment of the present disclosure is shown.

[0027] Figure 4 A flowchart of a method for determining satellite service time in an embodiment of the present disclosure is shown.

[0028] Figure 5 A flowchart illustrating another method for determining a target satellite in an embodiment of the present disclosure is shown.

[0029] Figure 6 A flowchart illustrating another method for determining a target satellite in an embodiment of the present disclosure is shown.

[0030] Figure 7 A flowchart illustrating another method for determining a target satellite in an embodiment of the present disclosure is shown.

[0031] Figure 8 A flowchart of a method for determining the amount of remaining data in an embodiment of the present disclosure is shown.

[0032] Figure 9 A flow chart of a method for determining transmission time in an embodiment of the present disclosure is shown.

[0033] Figure 10 A flow chart of another data transmission method according to an embodiment of the present disclosure is shown.

[0034] Figure 11 A data transmission device according to an embodiment of the present disclosure is shown.

[0035] Figure 12 A schematic diagram of an electronic device provided in an embodiment of the present disclosure is shown. DETAILED DESCRIPTION

[0036] Example embodiments will now be described more fully with reference to the accompanying drawings. However, example embodiments can be embodied in many forms and should not be construed as limited to the examples set forth herein; rather, these embodiments are provided so that this disclosure will be thorough and complete and will fully convey the concepts of the example embodiments to those skilled in the art. The described features, structures, or characteristics may be combined in any suitable manner in one or more embodiments.

[0037] In addition, the accompanying drawings are merely schematic illustrations of the present disclosure and are not necessarily drawn to scale. Identical reference numerals in the figures denote identical or similar parts, and thus repetitive descriptions thereof will be omitted. Some of the block diagrams shown in the accompanying drawings are functional entities that do not necessarily correspond to physically or logically separate entities. These functional entities may be implemented in software, in one or more hardware modules or integrated circuits, or in different networks and / or processor devices and / or microcontroller devices.

[0038] It should be understood that the various steps described in the method embodiments of the present disclosure may be performed in different orders and / or in parallel. In addition, the method embodiments may include additional steps and / or omit the steps shown. The scope of the present disclosure is not limited in this respect.

[0039] It should be noted that the concepts of "first" and "second" mentioned in this disclosure are only used to distinguish different devices, modules or units, and are not used to limit the order or interdependence of the functions performed by these devices, modules or units.

[0040] It should be noted that the modifications of "one" and "multiple" mentioned in the present disclosure are illustrative rather than restrictive, and those skilled in the art should understand that unless otherwise clearly indicated in the context, they should be understood as "one or more".

[0041] It should be pointed out that, in the absence of conflict, the embodiments of the present disclosure and the technical features therein may be combined with each other.

[0042] For ease of understanding, several terms involved in this disclosure are explained below: UE (User Equipment): A UE is a user's communication device used to access a mobile communication network and provide voice, data, and other services. It is both the initiator of communication (such as a mobile phone, tablet, or IoT device) and a key node in the network.

[0043] PDCCH (Physical Downlink Control Channel): The PDCCH is a key physical layer channel in mobile communication systems. It is primarily used to transmit downlink control information (DCI), including resource allocation information, modulation and coding scheme indication, and HARQ information, guiding user terminals on how to receive or send data.

[0044] PDSCH (Physical Downlink Shared Channel): The PDSCH is a crucial component of mobile communications systems, carrying actual user or service data. Unlike the PDCCH, the PDSCH is shared, meaning multiple users can use it for data transmission on different time-frequency resources, depending on network scheduling.

[0045] NTN (Non-Terrestrial Network): NTN refers to networks that provide communications services using non-terrestrial platforms, such as satellites and high-altitude platforms (such as balloons or drones). The goal of NTN is to extend communications coverage to remote areas, oceans, and airspace, enabling seamless global connectivity.

[0046] LEO (Low Earth Orbit): LEO refers to orbits between approximately 160 and 2000 kilometers above the Earth's surface. Satellites operating in this altitude range have short orbit periods (approximately 90 minutes) and low latency, making them suitable for applications requiring fast response times, such as internet access and real-time communications.

[0047] MEO (Medium Earth Orbit): MEO orbits higher than LEO but lower than GEO, typically between 2,000 and 35,786 kilometers. MEO satellite systems can provide wider coverage than LEO while maintaining relatively low latency, and are often used in navigation systems.

[0048] GEO (Geostationary Earth Orbit): A GEO orbit is located approximately 35,786 kilometers above the equator. Satellites in this orbit are synchronized with Earth's rotation, appearing to be fixed in place in the sky. GEO satellites are ideal for television broadcasting, weather observation, and long-term, stable communications.

[0049] Satellite channel dispersion refers to the phenomenon in which different frequency components propagate at different speeds as a signal passes through a communication medium, leading to signal distortion. For satellite communications, there are two main types of dispersion: frequency dispersion (or group delay dispersion) and multipath time dispersion.

[0050] High-layer Signaling Configuration: High-layer signaling configuration refers to the configuration information issued by the RRC (Radio Resource Control) layer or NAS (Non-Access Stratum), which is used to statically or semi-statically configure the communication parameters of the UE.

[0051] Downlink Control Information (DCI): DCI is physical layer control information sent to the UE via the PDCCH. It is used to dynamically schedule uplink and downlink resources and contains key control information such as scheduling instructions and power control commands.

[0052] MAC CE (MAC Control Element): MAC CE is the control information of the MAC layer, used to transmit important control instructions between the UE and the base station, such as BSR, PHR, BWP switching, SPS control, etc.

[0053] MAC (Medium Access Control) layer: A sublayer of the data link layer, the MAC layer is responsible for defining and handling how devices share communication channels and how to send data on them without causing conflicts. It lies above the physical layer and below the logical link control layer.

[0054] Downlink Data Indication: Downlink data information is the DL grant in DCI, which is used to trigger or notify a certain layer to perform downlink data processing or scheduling.

[0055] Time Slot: In technologies such as TDMA, time is divided into a series of discrete time intervals, known as time slots. Different users or signal sources can transmit data within their allocated time slots, thus avoiding conflicts caused by multiple signals being sent simultaneously.

[0056] Figure 1 A schematic diagram of a data transmission system according to an embodiment of the present disclosure is shown. The system includes: GEO satellites, MEO satellites, LEO satellites, ground base stations, and user terminals (i.e., terminals). The elliptical area below each satellite represents a user terminal within its coverage area. User terminals communicate with the corresponding satellite via wireless signals. The various satellite types (LEO, MEO, and GEO) are interconnected by dashed arrows, representing data forwarding between satellites in different orbits. Solid arrows indicate the direct data transmission path from the satellite to the user terminal or ground base station.

[0057] Five data transfer paths are also shown: 101: Data transmission path from LEO satellite to user terminal①.

[0058] 102: Data transmission path from LEO satellite to MEO satellite①.

[0059] 103: Data transmission path from MEO satellite to GEO satellite②.

[0060] 104: Data transmission path from MEO satellite to GEO satellite②.

[0061] 105: Data transmission path from GEO satellite to ground base station ③.

[0062] The user terminal is a device used by the user, which can be a mobile device such as a mobile phone, a game console, a tablet computer, an e-book reader, smart glasses, an MP4 (Moving Picture Experts Group Audio Layer IV) player, a smart home device, an AR (Augmented Reality) device, a VR (Virtual Reality) device, or the device 101 can also be a personal computer (PC), such as a laptop or desktop computer, or an MMSE receiver.

[0063] In which, an application can be installed in the user terminal to perform the following operations: after completing the transmission of a time slice of a data packet using the currently connected satellite, obtaining network status information of each satellite, wherein each satellite includes the currently connected satellite, and the data packet is divided into multiple time slices for transmission; determining the transmission rate of each satellite based on the network status information of each satellite; determining the remaining service time of each satellite; determining a target satellite from each satellite based on the transmission rate and the remaining service time of each satellite; switching from the currently connected satellite to the target satellite, and using the target satellite to transmit the next time slice of the data packet.

[0064] Figure 2 A flow chart of a data transmission method according to an embodiment of the present disclosure is shown. Figure 2 As shown, the following steps are included: S201, after completing the transmission of a time slice of a data packet using the currently connected satellite, obtaining network status information of each satellite, wherein each satellite includes the currently connected satellite, and the data packet is divided into multiple time slices for transmission.

[0065] In one exemplary embodiment, this method can be applied to downlink transmission in a multi-orbit satellite communication scenario, specifically, when a satellite transmits data to a user terminal. Switching from the currently connected satellite to a target satellite can be performed by the currently connected satellite, where the currently connected satellite notifies the user terminal of the target satellite, and the user terminal then switches from the currently connected satellite to the target satellite. Alternatively, the method can be performed by a server.

[0066] Exemplarily, the currently connected satellite is the satellite currently connected to the user terminal and currently transmitting data. The sequence number of the last time slice that has completed transmission is denoted as m. The current time is the time after the currently connected satellite completes transmission of the mth time slice. The currently connected satellite obtains network status information for each satellite at the current time, determines the transmission rate and remaining service time of each satellite at the current time, and determines the target satellite at the current time.

[0067] Exemplarily, the network status information of each satellite refers to a channel quality indicator of each satellite at a current moment.

[0068] Exemplarily, a data packet is data that needs to be sent by a satellite to a user terminal, and is divided into multiple parts, each of which is transmitted via a time slice.

[0069] In one embodiment of the present disclosure, the network status information includes downlink resource occupancy information, channel quality information, and ephemeris information.

[0070] Downlink resource occupancy information is the downlink transmission resource parameters currently occupied by the user terminal, describing the allocation of available resources. Channel quality information is a performance indicator of the communication link between the user terminal and the satellite, reflecting the current channel's transmission capacity. Ephemeris information, a collection of data describing the satellite's position and motion in orbit, is crucial for calculating the satellite's exact position at a specific point in time.

[0071] In one embodiment, the downlink resource occupancy information includes at least one of the following: downlink time domain resources, frequency domain resources, code domain resources, and space domain resources, and the frequency domain resources include channel bandwidth.

[0072] Time domain resources are resource allocations in the time dimension, such as time slots, which define the opportunities for user terminals to transmit data within a specific time period. Frequency domain resources are resource allocations in the frequency dimension, such as channel bandwidth, which is used to divide the available spectrum. Channel bandwidth is the frequency range used for data transmission within the frequency domain resources and directly affects the transmittable data rate. Code domain resources are resource allocations implemented through spreading codes, which are used to distinguish different users or data streams. Spatial domain resources are resource allocations implemented through beam directions, which are used to specify the spatial communication path between the user terminal and the satellite.

[0073] In one embodiment, the channel quality information includes at least one of the following: satellite-to-ground link attenuation value, satellite transmit power, satellite downlink transmit frequency, satellite antenna gain, user terminal antenna gain, and satellite-to-ground link noise power.

[0074] The satellite-to-ground link attenuation value includes atmospheric attenuation and pointing attenuation of the communication link between the user terminal and the satellite. Atmospheric attenuation is the loss of signal intensity due to absorption and scattering when passing through the atmosphere and is related to frequency and weather conditions. Pointing attenuation is the decrease in signal strength caused by alignment errors between the user terminal antenna and the satellite antenna. Satellite transmit power is the output power of the satellite when transmitting signals, which affects the signal coverage and strength. The satellite downlink transmission frequency is the frequency used by the satellite to transmit signals and affects the signal's ability to penetrate the atmosphere. The satellite antenna gain is the satellite antenna's ability to amplify signals in a specific direction, affecting signal transmission efficiency. The user terminal antenna gain is the user terminal antenna's ability to amplify signals in a specific direction and affects the strength of the received signal. The satellite-to-ground link noise power refers to the sum of all noise sources that affect the communication quality between the satellite and the user terminal.

[0075] In one embodiment, the ephemeris information includes at least one of the following: the running speed and position of the satellite. In fact, the running speed and position of the satellite at any time can be calculated based on the ephemeris information.

[0076] S202: Determine the transmission rate of each satellite according to the network status information of each satellite.

[0077] In one embodiment of the present disclosure, the transmission rate of each satellite is determined based on the network status information of each satellite, including: determining the satellite-to-ground link signal-to-noise ratio of each satellite based on one or more of the following information: a satellite-to-ground link attenuation value, satellite transmit power, satellite antenna gain, user terminal antenna gain, satellite downlink transmission frequency, satellite-to-ground link noise power, and a first distance between the satellite and the user terminal; and determining the transmission rate of each satellite at a current moment based on one or more of the following information: a channel bandwidth of each satellite and the satellite-to-ground link signal-to-noise ratio.

[0078] In this embodiment, the satellite-to-ground link signal-to-noise ratio of each satellite is determined based on the above information, and the transmission rate of each satellite at the current moment is determined based on the above information, thereby reasonably evaluating the transmission rate of each satellite at the current moment.

[0079] In an optional embodiment, the transmission rate of each satellite is determined based on the network status information of each satellite, including: determining the satellite-to-ground link signal-to-noise ratio of each satellite based on the satellite-to-ground link attenuation value, satellite transmit power, satellite antenna gain, user terminal antenna gain, satellite downlink transmission frequency, satellite-to-ground link noise power, and a first distance between the satellite and the user terminal; and determining the transmission rate of each satellite at a current moment based on the channel bandwidth of each satellite and the satellite-to-ground link signal-to-noise ratio.

[0080] In an optional embodiment, the signal-to-noise ratio of the nth satellite can be calculated using the following formula: : (1) in, , N is the number of all satellites, is the satellite transmission power, and represent the satellite antenna gain and user terminal antenna gain respectively, is the distance between the user terminal and the satellite, f is the satellite downlink transmission frequency, c is the speed of light, θ represents the noise power of the satellite-to-ground link, is the satellite-to-ground link noise power.

[0081] In an optional embodiment, the transmission rate of the nth satellite can be calculated using the following formula: : (2) in is the channel bandwidth of the nth satellite, and the unit of transmission rate is bits per second.

[0082] In an optional embodiment, the transmission rate of each satellite is determined based on the network status information of each satellite, including: determining the satellite-to-ground link signal-to-noise ratio of each satellite based on the satellite-to-ground link attenuation value, satellite transmit power, satellite antenna gain, user terminal antenna gain, satellite downlink transmission frequency, and a first distance between the satellite and the user terminal; and determining the transmission rate of each satellite at the current moment based on the channel bandwidth of each satellite, the satellite-to-ground link signal-to-noise ratio, and the channel dispersion.

[0083] S203: Determine the remaining service time of each satellite.

[0084] In one embodiment of the present disclosure, determining the remaining service time of each satellite includes: determining the service time of each satellite and the time slot resource length of a time slice; determining the remaining service time of each satellite based on the service time of each satellite, the time slot resource length of a time slice and the serial number of the last time slice for which transmission has been completed.

[0085] For example, the total service time of each satellite refers to the cumulative duration that the satellite can provide service to the user terminal, while the remaining service time refers to the remaining duration that the satellite can still provide service to the user terminal as of the current time. The time slot resource length of the time slice refers to the duration of the time slice.

[0086] In this embodiment, the remaining service time of the satellite is determined based on the service time of each satellite, the time slot resource length of a time slice, and the sequence number of the last time slice that has completed transmission, thereby preparing for determining the target satellite.

[0087] In an optional embodiment, the remaining service time of the nth satellite can be calculated using the following formula: : (3) in, is the remaining service time of the nth satellite, The length of the time slot resource for a time slice.

[0088] S204: Determine a target satellite from among the satellites based on the transmission rate and remaining service time of each satellite.

[0089] S205 , switching from the currently connected satellite to the target satellite, and using the target satellite to transmit the next time slice of the data packet.

[0090] If the currently connected satellite is the same as the target satellite, no switching is required; the currently connected satellite continues to transmit data to the user terminal. If necessary, the currently connected satellite is switched to the target satellite, and the target satellite is used to transmit the data packet in the m+1th time slice. The disclosed embodiments utilize the aforementioned technical measures to address the issue of data loss caused by satellite switching, thereby improving the continuity and stability of data transmission between the user terminal and the satellite.

[0091] Figure 3 FIG. 1 is a flow chart showing a method for determining a target satellite according to an embodiment of the present disclosure. Figure 3 As shown, the following steps are included: S301, determining the time slot resource length of a time slice; S302, determining the amount of data transmitted by each satellite within the time slot resource length of one time slice based on the transmission rate of each satellite; S303: performing a weighted summation of the amount of data transmitted by each satellite within the time slot resource length of one time slice and the remaining service time of each satellite according to the adjustment coefficient to obtain a score for each satellite; S304: Determine a target satellite from among the satellites based on the scores of the satellites.

[0092] In this embodiment, the time slot resource length of a time slice is first determined. This time slot resource length is determined when the data packet is divided into multiple time slots for transmission. The transmission rate of each satellite is then multiplied by the time slot resource length of a time slot to obtain the amount of data transmitted by each satellite within the time slot resource length of the time slot. Finally, the amount of data transmitted by a satellite within the time slot resource length of the time slot and the remaining service time of the satellite are weighted and summed according to the adjustment coefficient to obtain a score for the satellite. The satellite with the highest score is determined as the target satellite. The satellite with the highest score at the current moment is the one that can provide the best service to the user, thereby avoiding data loss caused by satellite switching and improving the continuity and stability of data transmission between the user terminal and the satellite.

[0093] In an optional embodiment, the target satellite can be determined using the following formula: : (4) Among them, α is the adjustment coefficient, t(m) is the current time, that is, the time when the mth time slice is transmitted, and arg max() is the maximum value. Indicates the score of the nth satellite.

[0094] In an optional embodiment, a target satellite is determined from among the satellites based on the transmission rate and remaining service time of each satellite, including: performing weighted summation of the transmission rate and remaining service time of each satellite according to preset weights to obtain a score for each satellite; and determining the target satellite from among the satellites based on the score of each satellite.

[0095] Figure 4 A flow chart of a method for determining satellite service time according to an embodiment of the present disclosure is shown. Figure 4 As shown, the following steps are included: S401, determining a second distance at which each satellite can provide service to the user terminal; S402, determining a third distance between a starting position and an ending position at which each satellite can provide service to the user terminal based on the second distance corresponding to each satellite; S403: Determine the service time of each satellite based on the operating speed of each satellite and the third distance corresponding to each satellite.

[0096] In this embodiment, when the distance between a satellite and a user terminal is less than the second distance corresponding to the satellite, the satellite is capable of providing service to the user terminal. Because satellites orbit the Earth, if the distance between a satellite and a user terminal is equal to the second distance corresponding to the satellite, the starting and ending locations at which the satellite can provide service to the user terminal can be determined, and the third distance between the starting and ending locations can be calculated. Finally, the satellite's service time is determined based on the satellite's operating speed and the third distance corresponding to the satellite. Through the above technical means, the accuracy of determining the satellite's service time is improved.

[0097] In one embodiment of the present disclosure, determining the second distance at which each satellite can provide service to a user terminal includes: determining the second distance corresponding to each satellite based on one or more of the following information: channel bandwidth, data transmission rate threshold, satellite-to-ground link attenuation value, satellite transmit power, satellite antenna gain, user terminal antenna gain, satellite downlink transmission frequency, and satellite-to-ground link noise power.

[0098] In an optional embodiment, determining the second distance at which each satellite can provide service to the user terminal includes: determining the second distance corresponding to each satellite based on channel bandwidth, data transmission rate threshold, satellite-to-ground link attenuation value, satellite transmit power, satellite antenna gain, user terminal antenna gain, satellite downlink transmission frequency, and satellite-to-ground link noise power.

[0099] In an optional embodiment, the second distance corresponding to the nth satellite can be calculated using the following formula: : (5) Where ε is the data transmission rate threshold. , the satellite is considered to no longer have the ability to provide services.

[0100] By using the above technical means, the accuracy of calculating the second distance corresponding to the n-th satellite is improved.

[0101] Figure 5 FIG. 1 is a flow chart showing another method for determining a target satellite according to an embodiment of the present disclosure. Figure 5 As shown, the following steps are included: S501, determining a minimum slot resource length for resource scheduling allocation; S502: Determine a target satellite from among the satellites according to the minimum time slot resource length, the transmission rate of each satellite, and the remaining service time.

[0102] The embodiments of the present disclosure further improve the continuity and stability of data transmission between user terminals and satellites through the above technical means.

[0103] In an exemplary embodiment, satellites whose remaining service time is greater than the minimum time slot resource length are determined, and the satellite with the highest score is determined as the target satellite from among the satellites whose remaining service time is greater than the minimum time slot resource length.

[0104] In an optional embodiment, the target satellite can be determined using the following formulas: : (4) (6) in, The remaining service time of the target satellite.

[0105] Figure 6 FIG. 1 is a flow chart showing another method for determining a target satellite according to an embodiment of the present disclosure. Figure 6 As shown, the following steps are included: S601, determining a minimum slot resource length for resource scheduling allocation; S602, determining the time slot resource length of a time slice; S603 : Determine a target satellite from among the satellites according to the minimum time slot resource length, the time slot resource length of one time slice, the transmission rate of each satellite, and the remaining service time.

[0106] The embodiments of the present disclosure further improve the continuity and stability of data transmission between user terminals and satellites through the above technical means.

[0107] In an exemplary embodiment, satellites whose remaining service time is greater than the minimum time slot resource length and the time slot resource length of the time slice are determined, and the time slot resource length of the time slice is determined from the satellites whose remaining service time is greater than the minimum time slot resource length and the time slot resource length of the time slice.

[0108] In an optional embodiment, the target satellite can be determined using the following formulas: : (4) (6) (7) in, The remaining service time of the target satellite.

[0109] Figure 7 FIG. 1 is a flow chart showing another method for determining a target satellite in an embodiment of the present disclosure. Figure 7 As shown, the following steps are included: S701, determining a minimum slot resource length for resource scheduling allocation; S702, determining the time slot resource length of a time slice; S703, record the sequence number of the last time slice that has completed transmission as m, and determine the remaining data amount of the data packet after the mth time slice is transmitted; S704, determining the time required for each satellite to transmit the remaining data corresponding to the mth time slice; S705 , determining a target satellite from among the satellites based on the time required for each satellite to transmit the remaining data corresponding to the mth time slice, the minimum time slot resource length, the time slot resource length of one time slice, the transmission rate of each satellite, and the remaining service time.

[0110] The embodiments of the present disclosure further improve the continuity and stability of data transmission between user terminals and satellites through the above technical means.

[0111] In an exemplary embodiment, satellites whose remaining service time is greater than the minimum time slot resource length and the time required to transmit the remaining amount of data corresponding to the mth time slot are determined by a set coefficient, and the time slot resource length of the time slot is determined from satellites whose remaining service time is greater than the minimum time slot resource length and the time slot resource length of the time slot.

[0112] In an optional embodiment, the target satellite can be determined using the following formulas: : (4) (6) (7) (8) Among them, β is the setting coefficient, The time required for each satellite to transmit the remaining data corresponding to the mth time slice.

[0113] Figure 8 A flow chart of a method for determining the amount of remaining data in an embodiment of the present disclosure is shown. Figure 8 As shown, the following steps are included: S801, determining the time slot resource length of a time slice; S802, determining the amount of data transmitted by each satellite within the time slot resource length of one time slice based on the transmission rate of each satellite; S803 : Determine the remaining data amount corresponding to the m-1th time slot based on the remaining data amount corresponding to the m-1th time slot and the data amount transmitted by each satellite within the time slot resource length of one time slot.

[0114] In this embodiment, the amount of data transmitted by each satellite within the time slot resource length of one time slot is subtracted from the amount of data remaining corresponding to the m-1th time slot to obtain the amount of data remaining corresponding to the m-1th time slot, thereby improving the accuracy of calculating the amount of data remaining.

[0115] In an optional embodiment, the remaining data amount D(m) corresponding to the mth time slice may be determined using the following formula: (9) Among them, D(m-1) is the amount of remaining data corresponding to the m-1th time slice, It is the amount of data transmitted by the nth satellite within the time slot resource length of one time slice.

[0116] Figure 9 FIG. 1 is a flow chart showing a method for determining transmission time according to an embodiment of the present disclosure. Figure 9 As shown, the following steps are included: S901, determining the time slot resource length of a time slice; S902, determining the amount of data transmitted by each satellite within the time slot resource length of one time slice based on the transmission rate of each satellite; S903 : Determine the time required for each satellite to transmit the remaining data corresponding to the mth time slot based on the amount of data transmitted by each satellite within the time slot resource length of one time slot and the remaining data corresponding to the mth time slot.

[0117] In this embodiment, the amount of remaining data corresponding to the mth time slice is divided by the amount of data transmitted by each satellite within the time slot resource length of one time slice to obtain the time required for each satellite to transmit the remaining data corresponding to the mth time slice, thereby improving the accuracy of calculating the time required to transmit the remaining data.

[0118] In an optional embodiment, the remaining data amount corresponding to the mth time slice can be determined using the following formula: : (10) In one embodiment of the present disclosure, the method further includes: determining the total data volume of the data packet; determining the time slot resource length of a time slice; and determining the number of time slices into which the data packet is divided based on the total data volume, the time slot resource length of a time slice, and the transmission rate of each satellite.

[0119] In an optional embodiment, the number of time slices can be determined using the following formula: M : (11) in, Indicates the total amount of data in the packet.

[0120] In one embodiment of the present disclosure, the method further includes: determining the total data volume of a data packet; determining the time slot resource length of a time slice; determining the minimum time slot resource length for a resource scheduling allocation; and determining the number of time slices into which the data packet is divided based on the total data volume, the time slot resource length of a time slice, the minimum time slot resource length, and the transmission rate of each satellite.

[0121] In an optional embodiment, the number of time slices can be determined using the following formula: M : (12) in, The minimum slot length allocated for a resource scheduling.

[0122] The minimum time slot length for a resource scheduling allocation is the smallest unit of time that can be allocated during time resource scheduling. It is the basic granularity of scheduling. This parameter determines the precision of scheduling and the efficiency of resource utilization.

[0123] In an alternative embodiment, the distance between the user terminal and the nth satellite is , determined according to the following formula: (13) in, represents the Euclidean position coordinates of the user terminal. Since the movement range of the user terminal is much smaller than the distance between the user terminal and the satellite, the user terminal can be regarded as a quasi-stationary state; represents the Euclidean position coordinates of satellite n, which can be obtained from the ephemeris information. || || is the two-norm operation.

[0124] When calculating the number of time slices, is the Euclidean position coordinate of satellite n when the user terminal accesses. When calculating the transmission rate of satellite n in a certain time slice, is the Euclidean position coordinate of satellite n at the initial moment of the time slice.

[0125] In an optional embodiment, the network status information of each satellite is obtained through high-layer signaling configuration information, downlink control information, downlink data information or MAC layer control information.

[0126] Figure 10 A flowchart of another data transmission method according to an embodiment of the present disclosure is shown. Figure 10 As shown, the following steps are included: Execute the following loop: S1001, determining whether m is equal to M, where m is the serial number of the time slice, the initial value of m is 1, and M is the number of time slices; S1002, when m is equal to M, it is determined that the transmission of all time slices of the data packet is completed and the loop is exited; S1003, when m is less than M, determining the amount of remaining data corresponding to the mth time slice; S1004, determining whether the amount of remaining data corresponding to the mth time slice is zero; S1005, when the remaining data amount corresponding to the mth time slice is zero, it is determined that the transmission of all time slices of the data packet is completed and the loop is exited; S1006, when the amount of remaining data corresponding to the mth time slice is not zero, obtaining network status information of each satellite at the current moment; S1007, determining the transmission rate of each satellite based on the network status information of each satellite; S1008, determining the remaining service time of each satellite; S1009, determining a target satellite from among the satellites based on the transmission rate and remaining service time of each satellite; S1010, determining whether the currently connected satellite is the same as the target satellite; S1011, if the currently connected satellite is the same as the target satellite, then update m with a value of m plus 1, and use the currently connected satellite to transmit the mth time slice; S1012: If the currently connected satellite is different from the target satellite, update m with a value of m plus 1, switch from the currently connected satellite to the target satellite, and use the target satellite to transmit the mth time slice.

[0127] In this embodiment, the data transmission process is divided into multiple looping steps. Before each loop begins, a determination is made as to whether the sequence number m of the current time slot is equal to the total number M. If so, transmission has completed for all time slots and the process ends. Otherwise, a determination is made as to whether the remaining data volume is zero. If so, the process ends. If any data remains untransmitted, network status information for each satellite is obtained, and a target satellite is selected. Subsequently, a comparison is made to determine whether the currently connected satellite and the target satellite are consistent. If so, the m value is updated and transmission continues using the original satellite for the next time slot. If not, the m value is updated and subsequent transmission is switched to the target satellite. This technical approach enables dynamic adjustment of the transmission path to adapt to link changes and resource fluctuations in satellite communications, thereby improving overall transmission efficiency.

[0128] The above scheme can be regarded as a satellite switching decision algorithm.

[0129] In an application scenario, assume that there are two satellites available for service in the current network, numbered Satellite 1 (LEO satellite) and Satellite 2 (MEO satellite). The amount of data to be sent to the user terminal is 100 Mbits. After initial access, Satellite 1 provides downlink data transmission service to the user terminal. The length of each time slice is , which is divided into 10 time slices in total. The adjustment coefficient α is 0.8.

[0130] When the first time slice expires, m=1, and satellite 1 obtains the network status information of the current cycle. The remaining data volume is calculated to be 85Mbits and the remaining service time of satellite 1 is , the remaining service time of satellite 2 Satellite 1 executes the satellite switching decision algorithm and obtains the comprehensive objective function of satellite 1 and satellite 2: (14) Therefore, the switching decision algorithm outputs the result of satellite 1. Satellite 1 continues to send data to the user until the second time slice expires.

[0131] When the second time slice expires, m=2, and satellite 1 obtains the network status information of the current cycle. The remaining data volume is calculated to be 70Mbits and the remaining service time of satellite 1 is , the remaining service time of satellite 2 Satellite 1 executes the handover decision algorithm and obtains the comprehensive objective function of satellite 1 and satellite 2: (15) Therefore, the switching decision algorithm outputs the result of satellite 1. Satellite 1 continues to send data to the user until the third time slot expires.

[0132] Similarly, when the fifth time slice expires, m=5, satellite 1 obtains the network status information of the current cycle. The remaining data volume is calculated to be 24Mbits and the remaining service time of satellite 1 is , the remaining service time of satellite 2 Satellite 1 executes the handover decision algorithm and obtains the comprehensive objective function of satellite 1 and satellite 2: (16) Therefore, the handover decision algorithm outputs the result as Satellite 2. Satellite 1 then tells the user terminal to switch to Satellite 2 after the fifth time slot and sends the remaining user data to Satellite 2. This continues in this manner until m = 10 or the user data transmission is complete.

[0133] Based on the same inventive concept, the present disclosure also provides a data transmission device, such as the following embodiment. Since the principle of the data transmission device to solve the problem is similar to that of the above method embodiment, the implementation of the data transmission device can refer to the implementation of the above method embodiment, and the repeated parts will not be repeated.

[0134] Figure 11 A data transmission device according to an embodiment of the present disclosure is shown. Figure 11 As shown, the data transmission device may include: An acquisition module 1101 is configured to acquire network status information of each satellite after completing transmission of a data packet for a time slice using the currently connected satellite, wherein each satellite includes the currently connected satellite and the data packet is divided into multiple time slices for transmission; A first determining module 1102 is configured to determine a transmission rate of each satellite according to network status information of each satellite; The second determining module 1103 is configured to determine the remaining service time of each satellite; The third determining module 1104 is configured to determine a target satellite from among the satellites based on the transmission rate and remaining service time of each satellite; The switching module 1105 is configured to switch from the currently connected satellite to the target satellite, and use the target satellite to transmit the next time slice of the data packet.

[0135] In one embodiment of the present disclosure, the network status information includes downlink resource occupancy information, channel quality information and ephemeris information; the downlink resource occupancy information includes at least one of the following: downlink time domain resources, frequency domain resources, code domain resources and space domain resources, and the frequency domain resources include channel bandwidth; the channel quality information includes at least one of the following: satellite-to-ground link attenuation value, satellite transmit power, satellite downlink transmit frequency, satellite antenna gain, user terminal antenna gain and satellite-to-ground link noise power; the ephemeris information includes at least one of the following: the operating speed and position of the satellite.

[0136] In some embodiments, the first determination module 1102 is further configured to determine the satellite-to-ground link signal-to-noise ratio of each satellite based on one or more of the following information: satellite-to-ground link attenuation value, satellite transmit power, satellite antenna gain, user terminal antenna gain, satellite downlink transmission frequency, satellite-to-ground link noise power, and a first distance between the satellite and the user terminal; and determine the transmission rate of each satellite at the current moment based on one or more of the following information: the channel bandwidth of each satellite and the satellite-to-ground link signal-to-noise ratio.

[0137] In some embodiments, the second determination module 1103 is further configured to determine the service time of each satellite and the time slot resource length of a time slice; based on the service time of each satellite, the time slot resource length of a time slice and the serial number of the last time slice that has completed transmission, determine the remaining service time of each satellite.

[0138] In some embodiments, the second determination module 1103 is further configured to determine a second distance at which each satellite can provide services to the user terminal; based on the second distance corresponding to each satellite, determine a third distance between the starting position and the ending position at which each satellite can provide services to the user terminal; and based on the operating speed of each satellite and the third distance corresponding to each satellite, determine the service time of each satellite.

[0139] In some embodiments, the second determination module 1103 is further configured to determine the second distance corresponding to each satellite based on one or more of the following information: channel bandwidth, data transmission rate threshold, satellite-to-ground link attenuation value, satellite transmit power, satellite antenna gain, user terminal antenna gain, satellite downlink transmission frequency, and satellite-to-ground link noise power.

[0140] In some embodiments, the third determination module 1104 is further configured to determine the time slot resource length of a time slice; determine the amount of data transmitted by each satellite within the time slot resource length of a time slice based on the transmission rate of each satellite; perform weighted summation of the amount of data transmitted by each satellite within the time slot resource length of a time slice and the remaining service time of each satellite according to the adjustment coefficient to obtain a score for each satellite; and determine a target satellite from among the satellites based on the score of each satellite.

[0141] In some embodiments, the third determination module 1104 is further configured to determine a minimum time slot resource length for a resource scheduling allocation; and determine a target satellite from among the satellites based on the minimum time slot resource length, the transmission rate of each satellite and the remaining service time.

[0142] In some embodiments, the third determination module 1104 is further configured to determine the minimum time slot resource length for a resource scheduling allocation; determine the time slot resource length of a time slice; and determine the target satellite from among the satellites based on the minimum time slot resource length, the time slot resource length of a time slice, the transmission rate of each satellite and the remaining service time.

[0143] In some embodiments, the third determination module 1104 is further configured to determine the minimum time slot resource length for a resource scheduling allocation; determine the time slot resource length of a time slice; record the serial number of the last time slice that has completed transmission as m, and determine the remaining data amount of the data packet after the mth time slice is transmitted; determine the time required for each satellite to transmit the remaining data amount corresponding to the mth time slice; and determine the target satellite from each satellite based on the time required for each satellite to transmit the remaining data amount corresponding to the mth time slice, the minimum time slot resource length, the time slot resource length of a time slice, the transmission rate of each satellite and the remaining service time.

[0144] In some embodiments, the third determination module 1104 is further configured to determine the time slot resource length of a time slice; determine the amount of data transmitted by each satellite within the time slot resource length of a time slice based on the transmission rate of each satellite; and determine the remaining data amount corresponding to the m-1th time slice based on the remaining data amount corresponding to the m-1th time slice and the data amount transmitted by each satellite within the time slot resource length of a time slice.

[0145] In some embodiments, the third determination module 1104 is further configured to determine the time slot resource length of a time slice; determine the amount of data transmitted by each satellite within the time slot resource length of a time slice based on the transmission rate of each satellite; and determine the time required for each satellite to transmit the remaining data corresponding to the mth time slice based on the amount of data transmitted by each satellite within the time slot resource length of a time slice and the remaining data corresponding to the mth time slice.

[0146] In some embodiments, the acquisition module 1101 is further configured to determine the total data volume of the data packet; determine the time slot resource length of a time slice; and determine the number of time slices into which the data packet is divided based on the total data volume, the time slot resource length of a time slice, and the transmission rate of each satellite.

[0147] Those skilled in the art will appreciate that various aspects of the present disclosure may be implemented as systems, methods, or program products. Therefore, various aspects of the present disclosure may be implemented in the following forms: entirely in hardware, entirely in software (including firmware, microcode, etc.), or in a combination of hardware and software, collectively referred to herein as "circuits," "modules," or "systems."

[0148] Refer to the following Figure 12 12 is a diagram to describe the electronic device 1200 according to this embodiment of the present disclosure. Figure 12 The electronic device 1200 shown is merely an example and should not limit the functions and scope of use of the embodiments of the present disclosure.

[0149] like Figure 12 As shown, electronic device 1200 is implemented as a general-purpose computing device. Components of electronic device 1200 may include, but are not limited to, at least one processor 1210, at least one memory 1220, and a bus 1230 connecting various system components (including memory 1220 and processor 1210).

[0150] The memory stores program code, which can be executed by the processor 1210, so that the processor 1210 performs the steps described in the "Exemplary Method" section of this specification according to various exemplary embodiments of the present disclosure. For example, the processor 1210 can perform the following steps of the above-mentioned method embodiment: after completing the transmission of a time slice of a data packet using the currently connected satellite, obtain network status information of each satellite, wherein each satellite includes the currently connected satellite, and the data packet is divided into multiple time slices for transmission; determine the transmission rate of each satellite based on the network status information of each satellite; determine the remaining service time of each satellite; determine a target satellite from each satellite based on the transmission rate and remaining service time of each satellite; switch from the currently connected satellite to the target satellite, and use the target satellite to transmit the next time slice of the data packet.

[0151] The memory 1220 may include a readable medium in the form of a volatile memory, such as a random access memory (RAM) 12201 and / or a cache memory 12202 , and may further include a read-only memory (ROM) 12203 .

[0152] The memory 1220 may also include a program / utility 12204 having a set (at least one) of program modules 12205, such program modules 12205 including but not limited to: an operating system, one or more application programs, other program modules, and program data, each of which or some combination may include an implementation of a network environment.

[0153] The bus 1230 may represent one or more of several types of bus structures, including a memory bus or memory controller, a peripheral bus, an accelerated graphics port, a processor, or a local bus using any of a variety of bus architectures.

[0154] Electronic device 1200 can also communicate with one or more external devices 1240 (e.g., keyboards, pointing devices, Bluetooth devices, etc.), one or more first data transmission devices that enable a user to interact with electronic device 1200, and / or any device that enables electronic device 1200 to communicate with one or more other computing devices (e.g., routers, modems, etc.). This communication can be performed via input / output (I / O) interface 1250. Furthermore, electronic device 1200 can communicate with one or more networks (e.g., local area networks (LANs), wide area networks (WANs), and / or public networks such as the Internet) via network adapter 1260. As shown, network adapter 1260 communicates with other modules of electronic device 1200 via bus 1230. It should be understood that, although not shown in the figure, other hardware and / or software modules can be used in conjunction with electronic device 1200, including but not limited to microcode, device drivers, redundant processors, external disk drive arrays, RAID systems, tape drives, and data backup storage systems.

[0155] In the disclosed exemplary embodiments, a computer-readable storage medium is also provided, which may be a readable signal medium or a readable storage medium.

[0156] In some possible implementations, various aspects of the present disclosure may also be implemented in the form of a program product, which includes program code. When the program product is run on a user terminal device, the program code is used to enable the user terminal device to execute the steps of various exemplary implementations of the present disclosure described in the above "Specific Implementation Methods" section of this specification.

[0157] More specific examples of computer-readable storage media in the present disclosure may include, but are not limited to, an electrical connection having one or more conductors, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), optical fibers, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.

[0158] In the present disclosure, a computer-readable storage medium may include a data signal propagated in baseband or as part of a carrier wave, which carries readable program code. Such propagated data signals may take various forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination thereof. A readable signal medium may also be any readable medium other than a readable storage medium that can transmit, propagate, or transfer a program for use by or in conjunction with an instruction execution system, apparatus, or device.

[0159] Alternatively, the program code contained on the computer-readable storage medium may be transmitted using any appropriate medium, including but not limited to wireless, wired, optical cable, RF, etc., or any suitable combination thereof.

[0160] In a specific implementation, the program code for performing the operations of the present disclosure may be written in any combination of one or more programming languages, including object-oriented programming languages ​​such as Java, C++, and conventional procedural programming languages ​​such as C or similar programming languages. The program code may be executed entirely on the user computing device, partially on the user terminal device, as a standalone software package, partially on the user computing device and partially on a remote computing device, or entirely on a remote computing device or server. In the case of a remote computing device, the remote computing device may be connected to the user computing device via any type of network, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computing device (e.g., via the Internet using an Internet service provider).

[0161] The present disclosure provides a computer program product or computer program, which includes computer instructions stored in a computer-readable storage medium. A processor of a computer device reads the computer instructions from the computer-readable storage medium and executes the computer instructions, causing the computer device to perform the data transmission method provided in any of the various optional embodiments of the present disclosure.

[0162] It should be noted that although several modules or units of the device for action execution are mentioned in the detailed description above, this division is not mandatory. In fact, according to the embodiments of the present disclosure, the features and functions of two or more modules or units described above can be concretized in one module or unit. Conversely, the features and functions of one module or unit described above can be further divided into multiple modules or units to be concretized.

[0163] Furthermore, although the steps of the method of the present disclosure are described in a particular order in the accompanying drawings, this does not require or imply that the steps must be performed in this particular order, or that all steps shown must be performed to achieve the desired results. Additionally or alternatively, some steps may be omitted, multiple steps may be combined into one step, and / or one step may be decomposed into multiple steps.

[0164] Through the description of the above embodiments, it will be readily understood by those skilled in the art that the example embodiments described herein can be implemented via software or via a combination of software and necessary hardware. Therefore, the technical solutions according to the embodiments of the present disclosure can be embodied in the form of a software product, which can be stored in a non-volatile storage medium (such as a CD-ROM, USB flash drive, or mobile hard drive) or on a network and includes several instructions for causing a computing device (such as a personal computer, server, mobile user terminal, or network device) to execute the methods according to the embodiments of the present disclosure.

[0165] Other embodiments of the present disclosure will readily occur to those skilled in the art after considering the specification and practicing the invention disclosed herein. This disclosure is intended to cover any variations, uses, or adaptations of the present disclosure that follow the general principles of the present disclosure and include common knowledge or customary techniques in the art not disclosed herein. The description and examples are to be considered as exemplary only, with the true scope of the present disclosure being indicated by the appended claims.

Claims

1. A data transmission method, characterized in that: include: After completing transmission of a data packet for a time slice using the currently connected satellite, obtaining network status information of each satellite, wherein each satellite includes the currently connected satellite, and the data packet is divided into multiple time slices for transmission; Determine the transmission rate of each satellite based on the network status information of each satellite; Determine the remaining service time of each satellite; Determine a target satellite from among the satellites based on the transmission rate and remaining service time of each satellite; Switch from the currently connected satellite to the target satellite, and use the target satellite to transmit the next time slice of the data packet.

2. The method according to claim 1, characterized in that The network status information includes downlink resource occupancy information, channel quality information and ephemeris information; The downlink resource occupancy information includes at least one of the following: downlink time domain resources, frequency domain resources, code domain resources and space domain resources, wherein the frequency domain resources include channel bandwidth; The channel quality information includes at least one of the following: satellite-to-ground link attenuation value, satellite transmit power, satellite downlink transmit frequency, satellite antenna gain, user terminal antenna gain, and satellite-to-ground link noise power; The ephemeris information includes at least one of the following: a running speed and a position of a satellite.

3. The method according to claim 2, characterized in that Determining the transmission rate of each satellite according to the network status information of each satellite includes: Determining a satellite-to-ground link signal-to-noise ratio for each satellite based on one or more of the following information: a satellite-to-ground link attenuation value, satellite transmit power, satellite antenna gain, user terminal antenna gain, satellite downlink transmit frequency, satellite-to-ground link noise power, and a first distance between the satellite and the user terminal; The transmission rate of each satellite at a current moment is determined based on one or more of the following information: the channel bandwidth of each satellite and the signal-to-noise ratio of the satellite-to-ground link.

4. The method according to claim 2, characterized in that The determining of the remaining service time of each satellite includes: Determine the service time of each satellite and the time slot resource length of a time slice; The remaining service time of each satellite is determined based on the service time of each satellite, the time slot resource length of one time slice, and the sequence number of the last time slice in which transmission has been completed.

5. The method according to claim 4, characterized in that Determining the service time of each satellite includes: Determine a second distance at which each satellite can provide service to the user terminal; Determining, based on the second distances corresponding to the respective satellites, a third distance between a starting position and an ending position at which each satellite can provide service to the user terminal; The service time of each satellite is determined based on the operating speed of each satellite and the third distance corresponding to each satellite.

6. The method according to claim 5, characterized in that Determining the second distance at which each satellite can provide service to the user terminal includes: The second distance corresponding to each satellite is determined based on one or more of the following information: channel bandwidth, data transmission rate threshold, satellite-to-ground link attenuation value, satellite transmit power, satellite antenna gain, user terminal antenna gain, satellite downlink transmission frequency, and satellite-to-ground link noise power.

7. The method according to claim 1, characterized in that Determining a target satellite from among the satellites according to the transmission rate and remaining service time of the satellites includes: Determine the time slot resource length of a time slice; Based on the transmission rate of each satellite, determine the amount of data transmitted by each satellite within the time slot resource length of one time slice; The weighted sum of the amount of data transmitted by each satellite within the time slot resource length of a time slice and the remaining service time of each satellite is calculated according to the adjustment coefficient to obtain the score of each satellite. The target satellite is determined from among the satellites based on the scores of the satellites.

8. The method according to claim 1, characterized in that After determining the remaining service time of each satellite, the method further includes: Determine the minimum slot resource length for a resource scheduling allocation; A target satellite is determined from among the satellites according to the minimum time slot resource length, the transmission rate of each satellite and the remaining service time.

9. The method according to claim 1, characterized in that After determining the remaining service time of each satellite, the method further includes: Determine the minimum slot resource length for a resource scheduling allocation; Determine the time slot resource length of a time slice; A target satellite is determined from among the satellites according to the minimum time slot resource length, the time slot resource length of one time slice, the transmission rate of each satellite and the remaining service time.

10. The method according to claim 1, characterized in that After determining the remaining service time of each satellite, the method further includes: Determine the minimum slot resource length for a resource scheduling allocation; Determine the time slot resource length of a time slice; The sequence number of the last time slice that has completed transmission is recorded as m, and the remaining data amount of the data packet after the mth time slice is transmitted is determined; Determine the time required for each satellite to transmit the remaining amount of data corresponding to the mth time slice; The target satellite is determined from among the satellites based on the time required for each satellite to transmit the remaining data corresponding to the mth time slice, the minimum time slot resource length, the time slot resource length of one time slice, the transmission rate of each satellite and the remaining service time.

11. The method according to claim 10, characterized in that The determining of the remaining amount of data of the data packet after transmission of the mth time slice includes: Determine the time slot resource length of a time slice; Based on the transmission rate of each satellite, determine the amount of data transmitted by each satellite within the time slot resource length of one time slice; The remaining data amount corresponding to the m-1th time slice is determined based on the remaining data amount corresponding to the m-1th time slice and the data amount transmitted by each satellite within the time slot resource length of one time slice.

12. The method according to claim 10, characterized in that The determining of the time required for each satellite to transmit the remaining data amount corresponding to the mth time slice includes: Determine the time slot resource length of a time slice; Based on the transmission rate of each satellite, determine the amount of data transmitted by each satellite within the time slot resource length of one time slice; Based on the amount of data transmitted by each satellite within the time slot resource length of one time slice and the remaining amount of data corresponding to the mth time slice, the time required for each satellite to transmit the remaining amount of data corresponding to the mth time slice is determined.

13. The method according to claim 1, wherein The method further comprises: Determining the total data volume of the data packet; Determine the time slot resource length of a time slice; The number of time slices into which the data packet is divided is determined based on the total data volume, the time slot resource length of one time slice, and the transmission rate of each satellite.

14. A data transmission device, characterized in that: include: an acquisition module configured to acquire network status information of each satellite after completing transmission of a data packet for a time slice using a currently connected satellite, wherein each satellite includes the currently connected satellite, and the data packet is divided into multiple time slices for transmission; A first determining module is configured to determine a transmission rate of each satellite according to network status information of each satellite; A second determination module is configured to determine the remaining service time of each satellite; A third determination module is configured to determine a target satellite from among the satellites based on the transmission rate and remaining service time of each satellite; The switching module is configured to switch from the currently connected satellite to the target satellite, and use the target satellite to transmit the next time slice of the data packet.

15. An electronic device, characterized in that: include: processor; as well as a memory for storing executable instructions of the processor; The processor is configured to perform the method according to any one of claims 1 to 13 by executing the executable instructions.

16. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the method according to any one of claims 1 to 13 is implemented.

17. A computer program product, comprising computer instructions, wherein the computer instructions are stored in a computer-readable storage medium, and when the computer instructions are executed by a processor, the computer program product implements the method according to any one of claims 1 to 13.

Citation Information

Patent Citations

  • DQN-assisted low earth orbit satellite switching decision generation method

    CN116916409A

  • Low earth orbit satellite edge computing service optimization method and system based on double time scales

    CN120200658A

  • Method and apparatus for operations based on remaining service time in a wireless communication system

    US20240340673A1