Data transmission method, apparatus, and related device

By acquiring satellite network status information and selecting a suitable target satellite for switching, the problem of data loss during satellite switching is solved, thus achieving continuity and stability of satellite communication.

CN120729397BActive Publication Date: 2026-01-13CHINA TELECOM CORP LTD +1
View PDF 2 Cites 0 Cited by

Patent Information

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

AI Technical Summary

Technical Problem

In multi-orbit satellite communication architectures, user services are easily interrupted during satellite handover, leading to data loss and affecting the continuity and stability of the communication network.

Method used

By acquiring network status information from each satellite, determining the transmission rate and remaining service time, and selecting a target satellite for switching, continuous transmission of data packets is ensured.

Benefits of technology

It improves the continuity and stability of data transmission during satellite handover and reduces data loss.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120729397B_ABST
    Figure CN120729397B_ABST
Patent Text Reader

Abstract

The present disclosure provides a data transmission method and device and related equipment, relating to the technical field of communication. The method comprises: after completing the transmission of one time slice of a data packet by using a currently connected satellite, obtaining network state 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 according to the network state information of each satellite; determining the remaining service time of each satellite; determining a target satellite from each satellite according to 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 perform the transmission of the next time slice of the data packet. Through the above 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] This disclosure relates to the field of communication technology, and in particular to a data transmission method, apparatus and related equipment. Background Technology

[0002] With the increasing number of satellites in orbit and the development of inter-satellite communication technology, multi-orbit satellite communication architectures are being constructed. In a multi-orbit architecture, when a current satellite is unable to serve a user, its downlink services are often forced to interrupt. Users need to undergo a handover process to connect to another satellite, and may lose data being transmitted, resulting in 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] This disclosure provides a data transmission method, apparatus, and related equipment to improve the continuity and stability of data transmission between user terminals and satellites.

[0004] According to one aspect of this disclosure, a data transmission method is provided, comprising: after completing the transmission of a data packet in one time slice using a currently connected satellite, acquiring 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 among the satellites based on the transmission rate and remaining service time of each satellite; switching from the currently connected satellite to the target satellite, and using the target satellite to transmit the data packet in the next time slice.

[0005] In one embodiment of this 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 spatial 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: satellite operating speed and position.

[0006] In one embodiment of this disclosure, determining the transmission rate of each satellite based on the network status information of each satellite includes: determining 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 transmit 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 the current moment based on one or more of the following information: channel bandwidth and satellite-to-ground link signal-to-noise ratio of each satellite.

[0007] In one embodiment of this 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; and 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 sequence number of the last time slice that has been transmitted.

[0008] In one embodiment of this disclosure, determining the service time of each satellite includes: determining a second distance at which each satellite can provide services to a user terminal; determining a third distance between the start and end positions at which each satellite can provide services 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 this disclosure, determining the second distance at which each satellite can provide services 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 transmit frequency, and satellite-to-ground link noise power.

[0010] In one embodiment of this disclosure, determining a target satellite from among the satellites based on the transmission rate and remaining service time of each satellite 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; weighting and summing 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 scores of each satellite.

[0011] In one embodiment of this disclosure, after determining the remaining service time of each satellite, the method further includes: determining the minimum time slot resource length for a single resource scheduling allocation; and identifying the 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 this disclosure, after determining the remaining service time of each satellite, the method further includes: determining the minimum time slot resource length for a single resource scheduling allocation; determining the time slot resource length of a time slice; and determining 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.

[0013] In one embodiment of this disclosure, after determining the remaining service time of each satellite, the method further includes: determining the minimum time slot resource length for a single resource scheduling allocation; determining the time slot resource length of a time slice; denoting the sequence number of the last time slice that has completed transmission as m, and determining the remaining data volume of the data packet after transmitting the m-th time slice; determining the time required for each satellite to transmit the remaining data volume corresponding to the m-th time slice; and determining the target satellite from among the satellites based on the time required for each satellite to transmit the remaining data volume corresponding to the m-th 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 this disclosure, determining the remaining data volume of a data packet after the m-th time slice is transmitted 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 remaining data volume corresponding to the m-th time slice based on the remaining data volume corresponding to the (m-1)-th time slice and the amount of data transmitted by each satellite within the time slot resource length of a time slice.

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

[0016] In one embodiment of this 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 to divide the data packet into 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 this disclosure, a data transmission apparatus is provided, comprising: an acquisition module configured to acquire network status information of each satellite after transmitting a data packet in one 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 configured to determine the transmission rate of each satellite based on the network status information of each satellite; a second determining module configured to determine the remaining service time of each satellite; a third determining module configured to determine a target satellite from among the satellites based on the transmission rate and 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 data packet in the next time slice.

[0018] According to another aspect of this 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 methods described above by executing the executable instructions.

[0019] According to another aspect of this disclosure, a computer-readable storage medium is provided having a computer program stored thereon, which, when executed by a processor, implements any of the methods described above.

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

[0021] In the embodiments of this disclosure, a target satellite is determined from among the satellites based on the transmission rate and remaining service time of each satellite, and the connection is switched from the currently connected satellite 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 should be understood that the above general description and the following detailed description are exemplary and explanatory only, and are not intended to limit this disclosure. Attached Figure Description

[0023] The accompanying drawings, which are incorporated in and form part of this specification, illustrate embodiments consistent with this disclosure and, together with the description, serve to explain the principles of this disclosure. It is obvious that the drawings described below are merely some embodiments of this disclosure, and those skilled in the art can obtain other drawings based on these drawings without any 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 flowchart of a data transmission method according to an embodiment of this disclosure is shown.

[0026] Figure 3 A flowchart illustrating a method for determining a target satellite according to an embodiment of this disclosure is shown.

[0027] Figure 4 A flowchart illustrating a method for determining satellite service time according to an embodiment of this disclosure is shown.

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

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

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

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

[0032] Figure 9 A flowchart of a transmission time determination method according to an embodiment of this disclosure is shown.

[0033] Figure 10 A flowchart of yet another data transmission method according to an embodiment of this disclosure is shown.

[0034] Figure 11 An embodiment of the present disclosure is shown, which is a data transmission apparatus.

[0035] Figure 12 A schematic diagram of an electronic device provided in an embodiment of this disclosure is shown. Detailed Implementation

[0036] Exemplary embodiments will now be described more fully with reference to the accompanying drawings. However, these exemplary embodiments can be implemented in many forms and should not be construed as limited to the examples set forth herein; rather, they are provided so that this disclosure will be more comprehensive and complete, and will fully convey the concept of the exemplary 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] Furthermore, the accompanying drawings are merely illustrative of this disclosure and are not necessarily drawn to scale. The same reference numerals in the drawings denote the same or similar parts, and therefore repeated descriptions of them will be omitted. Some block diagrams shown in the drawings are functional entities and do not necessarily correspond to physically or logically independent entities. These functional entities may be implemented in software, in one or more hardware modules or integrated circuits, or in different network and / or processor devices and / or microcontroller devices.

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

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

[0040] It should be noted that the terms "a" and "a plurality of" used in this disclosure are illustrative rather than restrictive, and those skilled in the art should understand that, unless otherwise expressly indicated in the context, they should be understood as "one or more".

[0041] It should be noted that, unless otherwise specified, the embodiments of this disclosure and the technical features thereof can be combined with each other.

[0042] To facilitate understanding, the following is an explanation of several terms used in this disclosure:

[0043] UE (User Equipment): UE refers to the communication equipment used by users to access mobile communication networks and provide services such as voice and data. It is both the initiator of communication (such as mobile phones, tablets, and IoT devices) and an important node in the network.

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

[0045] PDSCH (Physical Downlink Shared Channel): PDSCH is an important component of mobile communication systems, used to carry actual user data or service data. Unlike PDCCH, PDSCH is shared, meaning that multiple users can use this channel for data transmission on different time-frequency resources according to network scheduling.

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

[0047] LEO (Low Earth Orbit): LEO refers to orbits between approximately 160 kilometers and 2,000 kilometers above the Earth's surface. Satellites operating within this altitude range have shorter orbital periods (approximately 90 minutes per orbit) and lower latency, making them suitable for applications requiring rapid response, such as internet access and real-time communications.

[0048] MEO (Medium Earth Orbit): MEO orbits are located at a higher altitude 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.

[0049] GEO (Geostationary Earth Orbit): GEO orbits are located at an altitude of approximately 35,786 kilometers above the equator. Satellites in this orbit are synchronized with the Earth's rotation, so they appear to be fixed at a point in the sky. GEO satellites are ideally suited for television broadcasting, weather observation, and long-term stable communications services.

[0050] Channel dispersion in satellite communication refers to the phenomenon caused by the different propagation speeds of different frequency components of a signal as it passes through the communication medium, leading to signal distortion. For satellite communication, two main types of dispersion are involved: frequency dispersion (or group delay dispersion) and multipath time dispersion.

[0051] 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) layer, which is used to statically or semi-statically configure the UE's communication parameters.

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

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

[0054] MAC Layer (Medium Access Control): The MAC layer is a sublayer of the data link layer, responsible for defining and handling how devices share communication channels and how to send data on those channels without causing collisions. It sits above the physical layer and below the logical link control layer.

[0055] Downlink Data Indication: Downlink data indication, also known as DLgrant in DCI, is a mechanism used to trigger or notify a layer to perform downlink data processing or scheduling.

[0056] 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 collisions caused by multiple signals being transmitted simultaneously.

[0057] Figure 1 This diagram illustrates a data transmission system according to an embodiment of the present disclosure. 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 their corresponding satellites via wireless signals. The various types of satellites (LEO, MEO, GEO) are interconnected by dashed arrows, indicating data forwarding between satellites in different orbits. Solid arrows represent the direct transmission path of data from the satellite to the user terminal or ground base station.

[0058] Five data transmission paths were also demonstrated:

[0059] 101: Data transmission path from LEO satellite to user terminal ①.

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

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

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

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

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

[0065] The user terminal may have an application installed to perform the following: after completing the transmission of a data packet for one time slice using the currently connected satellite, obtain the network status information of each satellite, including 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 the 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 data packet for the next time slice.

[0066] Figure 2 A flowchart illustrating a data transmission method according to an embodiment of this disclosure is shown. The method is as follows: Figure 2 As shown, it includes the following steps:

[0067] S201: After completing the transmission of a data packet in one time slice using the currently connected satellite, obtain the network status information of each satellite, including the currently connected satellite, where the data packet is divided into multiple time slices for transmission.

[0068] In one exemplary embodiment, this method can be applied to downlink transmission scenarios in multi-orbit satellite communication, that is, scenarios where satellites transmit data to user terminals. It can be executed by the currently connected satellite, switching from the currently connected satellite to the target satellite by informing the user terminal which satellite is the target satellite, and then the user terminal switches from the currently connected satellite to the target satellite. Alternatively, it can be executed by a server.

[0069] For example, the currently connected satellite is the satellite currently transmitting data to the user terminal. 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 has completed transmitting the m-th time slice. The currently connected satellite obtains the network status information of each satellite at the current time, determines the transmission rate and remaining service time of each satellite at the current time, and identifies the target satellite at the current time.

[0070] For example, the network status information of each satellite refers to the channel quality index of each satellite at the current moment.

[0071] For example, data packets are data that needs to be sent from a satellite to a user terminal, and are divided into multiple parts, each of which is transmitted over a time slice.

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

[0073] Downlink resource occupancy information refers to the downlink transmission resource parameters occupied by the user terminal at the current moment, used to describe the allocation status 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 transmission capacity. Ephemeris information refers to the set of data describing the satellite's position and motion in its orbit, which is crucial for calculating the satellite's exact position at a specific point in time.

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

[0075] Time-domain resources are resource allocations along the time dimension, such as time slots, which define the opportunities for a user terminal to send data within a specific time period. Frequency-domain resources are resource allocations along 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, directly affecting the transmittable data rate. Code-domain resources are resource allocations implemented through spreading codes, used to distinguish different users or data streams. Spatial-domain resources are resource allocations implemented through beam direction, used to specify the space communication path between the user terminal and the satellite.

[0076] 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.

[0077] Satellite-to-ground link attenuation values ​​include atmospheric attenuation and directional attenuation, among others, for the communication link between the user terminal and the satellite. Atmospheric attenuation is the signal strength loss due to absorption and scattering as the signal passes through the atmosphere, and it is related to frequency and weather conditions. Directional attenuation is the signal strength reduction 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, affecting the signal coverage and strength. Satellite downlink transmit frequency is the frequency used by the satellite to transmit signals, affecting the signal's ability to penetrate the atmosphere. Satellite antenna gain is the signal amplification capability of the satellite antenna in a specific direction, affecting signal transmission efficiency. User terminal antenna gain is the signal amplification capability of the user terminal antenna in a specific direction, affecting the strength of the received signal. Satellite-to-ground link noise power refers to the sum of all noise sources affecting the communication quality between the satellite and the user terminal.

[0078] In one embodiment, the ephemeris information includes at least one of the following: the satellite's orbital velocity and position. In fact, the satellite's orbital velocity and position at any given time can be calculated based on the ephemeris information.

[0079] S202, determine the transmission rate of each satellite based on the network status information of each satellite.

[0080] In one embodiment of this disclosure, determining the transmission rate of each satellite based on the network status information of each satellite includes: determining 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 transmit 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 the current moment based on one or more of the following information: channel bandwidth and satellite-to-ground link signal-to-noise ratio of each satellite.

[0081] In this embodiment, the signal-to-noise ratio of the satellite-to-ground link 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.

[0082] In one optional embodiment, the transmission rate of each satellite is determined based on the network status information of each satellite, including: determining the signal-to-noise ratio of the satellite-to-ground link for each satellite based on the 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; and determining the transmission rate of each satellite at the current moment based on the channel bandwidth and satellite-to-ground link signal-to-noise ratio of each satellite.

[0083] In an alternative embodiment, the signal-to-noise ratio of the nth satellite can be calculated using the following formula. :

[0084] (1)

[0085] in, N is the total number of satellites. For satellite launch power, and These represent the satellite antenna gain and the user terminal antenna gain, respectively. The distance between the user terminal and the satellite is given by f, the satellite downlink transmission frequency is given by c, the speed of light is given by θ, and the noise power of the satellite-to-ground link is given by θ. This represents the noise power of the satellite-to-ground link.

[0086] In an alternative embodiment, the transmission rate of the nth satellite can be calculated using the following formula. :

[0087] (2)

[0088] in It is the channel bandwidth of the nth satellite, and the transmission rate is measured in bits per second.

[0089] In one optional embodiment, the transmission rate of each satellite is determined based on the network status information of each satellite, including: determining the signal-to-noise ratio of the satellite-to-ground link of each satellite based on the satellite transmit power, satellite antenna gain, user terminal antenna gain, satellite downlink transmit 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, satellite-to-ground link signal-to-noise ratio, and channel dispersion of each satellite.

[0090] S203, determine the remaining service time for each satellite.

[0091] In one embodiment of this 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; and 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 sequence number of the last time slice that has been transmitted.

[0092] For example, the total service time of each satellite refers to the cumulative duration for which the satellite can provide services to user terminals, while the remaining service time refers to the remaining duration for which the satellite can still provide services to user terminals as of the current moment. The time slot resource length of a time slice refers to the duration of the time slice.

[0093] In this embodiment, the remaining service time of a 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 been transmitted. This is then used to prepare for identifying the target satellite.

[0094] In an alternative embodiment, the remaining service time of the nth satellite can be calculated using the following formula. :

[0095] (3)

[0096] in, Let n be the remaining service time of the nth satellite. The length of a time slot resource for a time slice.

[0097] S204. Based on the transmission rate and remaining service time of each satellite, the target satellite is determined from among the satellites.

[0098] S205, switch from the currently connected satellite to the target satellite, and use the target satellite to transmit the data packet in the next time slice.

[0099] If the currently connected satellite and the target satellite are the same, no handover is needed, and the currently connected satellite continues to transmit data to the user terminal. If necessary, the connection is switched from the currently connected satellite to the target satellite, which is then used for the transmission of the data packet in the (m+1)th time slice. This embodiment of the present disclosure solves the problem of data loss caused by satellite handover through the above-described technical means, thereby improving the continuity and stability of data transmission between the user terminal and the satellite.

[0100] Figure 3 A flowchart illustrating a method for determining a target satellite according to an embodiment of this disclosure is shown. The method is as follows: Figure 3 As shown, it includes the following steps:

[0101] S301, determines the length of a time slot resource for a time slice;

[0102] S302, based on the transmission rate of each satellite, determine the amount of data transmitted by each satellite within the time slot resource length of a time slice;

[0103] S303, according to the adjustment coefficient, the data transmitted by each satellite within the time slot resource length of a time slice and the remaining service time of each satellite are weighted and summed to obtain the score of each satellite;

[0104] S304 identifies the target satellite from among the various satellites based on their scores.

[0105] In this embodiment, the time slot resource length of a time slice is first determined. This time slot resource length is determined when data packets are divided into multiple time slices for transmission. Then, the transmission rate of each satellite is multiplied by the time slot resource length of a time slice to obtain the amount of data transmitted by each satellite within that time slot resource length. Finally, the amount of data transmitted by a satellite within that time slot resource length and its remaining service time are weighted and summed according to an adjustment factor to obtain the satellite's score. The satellite with the highest score is selected 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 at the current moment, thereby avoiding data loss caused by satellite handover and improving the continuity and stability of data transmission between the user terminal and the satellite.

[0106] In an alternative embodiment, the target satellite can be determined using the following formula. :

[0107] (4)

[0108] Where α is the adjustment coefficient, t(m) is the current time, which is the time when the m-th time slice has been transmitted, and arg max() is to take the maximum value. This represents the score of the nth satellite.

[0109] In one optional embodiment, determining the target satellite from among the satellites based on the transmission rate and remaining service time of each satellite includes: weighting and summing the transmission rate and remaining service time of each satellite according to a preset weight to obtain a score for each satellite; and determining the target satellite from among the satellites based on the scores of each satellite.

[0110] Figure 4 A flowchart illustrating a satellite service time determination method according to an embodiment of this disclosure is shown. The method is as follows: Figure 4 As shown, it includes the following steps:

[0111] S401, determining the second distance at which each satellite can provide services to the user terminal;

[0112] S402, based on the second distance corresponding to each satellite, determine the third distance between the starting position and the ending position where each satellite can provide services to the user terminal;

[0113] S403 determines the service time of each satellite based on its operating speed and its corresponding third distance.

[0114] In this embodiment, when the distance between a satellite and a user terminal is less than a corresponding second distance, the satellite can provide service to the user terminal. Since satellites orbit the Earth, based on the distance between a satellite and a user terminal being equal to the corresponding second distance, the starting and ending positions where the satellite can provide service to the user terminal can be determined, and then a third distance between the starting and ending positions can be calculated. Finally, based on the satellite's orbital speed and its corresponding third distance, the satellite's service time is determined. These technical means improve the accuracy of determining the satellite's service time.

[0115] In one embodiment of this disclosure, determining the second distance at which each satellite can provide services 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 transmit frequency, and satellite-to-ground link noise power.

[0116] In one optional embodiment, determining the second distance at which each satellite can provide services 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 transmit frequency, and satellite-to-ground link noise power.

[0117] In an alternative embodiment, the second distance corresponding to the nth satellite can be calculated using the following formula. :

[0118] (5)

[0119] Where ε is the data transmission rate threshold. If If so, it is considered that the satellite no longer has the ability to provide services.

[0120] By employing the aforementioned technical means, the accuracy of calculating the second distance corresponding to the nth satellite can be improved.

[0121] Figure 5 A flowchart illustrating another method for determining a target satellite according to an embodiment of this disclosure is shown. The method is as follows: Figure 5 As shown, it includes the following steps:

[0122] S501, determine the minimum hourly slot resource length for a single resource scheduling allocation;

[0123] S502 determines the target satellite from among the various satellites based on the minimum time slot resource length, the transmission rate of each satellite, and the remaining service time.

[0124] The embodiments disclosed herein further improve the continuity and stability of data transmission between user terminals and satellites through the above-described technical means.

[0125] In one exemplary embodiment, satellites with remaining service time greater than the minimum time slot resource length are identified, and the satellite with the highest score among the satellites with remaining service time greater than the minimum time slot resource length is selected as the target satellite.

[0126] In one alternative embodiment, the target satellite can be determined using the following formulas. :

[0127] (4)

[0128] (6)

[0129] in, The remaining service time for the target satellite.

[0130] Figure 6 A flowchart illustrating another method for determining a target satellite according to an embodiment of this disclosure is shown. The method is as follows: Figure 6 As shown, it includes the following steps:

[0131] S601, determine the minimum hourly slot resource length for a single resource scheduling allocation;

[0132] S602, determines the length of a time slot resource for a time slice;

[0133] S603 determines 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.

[0134] The embodiments disclosed herein further improve the continuity and stability of data transmission between user terminals and satellites through the above-described technical means.

[0135] In one exemplary embodiment, satellites with remaining service time greater than the minimum time slot resource length and the time slot resource length of the time slice are identified, and the time slot resource length of the time slice is determined from the satellites with remaining service time greater than the minimum time slot resource length and the time slot resource length of the time slice.

[0136] In one alternative embodiment, the target satellite can be determined using the following formulas. :

[0137] (4)

[0138] (6)

[0139] (7)

[0140] in, The remaining service time for the target satellite.

[0141] Figure 7 A flowchart illustrating yet another method for determining a target satellite according to an embodiment of this disclosure is shown. The method is as follows: Figure 7 As shown, it includes the following steps:

[0142] S701, determine the minimum hourly slot resource length for a single resource scheduling allocation;

[0143] S702, determines the length of a time slot resource for a time slice;

[0144] S703, denoted as m as the sequence number of the last time slice that has been transmitted, and the remaining data amount of the data packet after the m-th time slice has been transmitted;

[0145] S704, determine the time required for each satellite to transmit the remaining data corresponding to the m-th time slice;

[0146] S705 determines the target satellite from among the satellites based on the time required for each satellite to transmit the remaining data corresponding to the m-th 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.

[0147] The embodiments disclosed herein further improve the continuity and stability of data transmission between user terminals and satellites through the above-described technical means.

[0148] In one exemplary embodiment, satellites whose remaining service time is greater than the minimum time slot resource length and the time required to transmit the remaining data corresponding to the m-th time slot by a set coefficient multiple are identified. The time slot resource length of the time slot 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 slot.

[0149] In one alternative embodiment, the target satellite can be determined using the following formulas. :

[0150] (4)

[0151] (6)

[0152] (7)

[0153] (8)

[0154] Where β is a set coefficient. The time required to transmit the remaining data corresponding to the m-th time slice for each satellite.

[0155] Figure 8 A flowchart illustrating a method for determining the amount of remaining data according to an embodiment of this disclosure is shown. The method is as follows: Figure 8 As shown, it includes the following steps:

[0156] S801 determines the length of a time slot resource for a time slice;

[0157] S802, based on the transmission rate of each satellite, determines the amount of data transmitted by each satellite within the time slot resource length of a time slice;

[0158] S803, based on the remaining data amount corresponding to the (m-1)th time slice and the amount of data transmitted by each satellite within the time slot resource length of one time slice, determine the remaining data amount corresponding to the m-th time slice.

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

[0160] In an alternative embodiment, the remaining data quantity D(m) corresponding to the m-th time slice can be determined using the following formula:

[0161] (9)

[0162] Where D(m-1) represents the amount of remaining data corresponding to the (m-1)th time slice. It is the amount of data transmitted by the nth satellite within the time slot resource length of a time slice.

[0163] Figure 9 A flowchart illustrating a transmission time determination method according to an embodiment of this disclosure is shown. The method is as follows: Figure 9 As shown, it includes the following steps:

[0164] S901, determines the length of a time slot resource for a time slice;

[0165] S902, based on the transmission rate of each satellite, determines the amount of data transmitted by each satellite within the time slot resource length of a time slice;

[0166] S903, based on the amount of data transmitted by each satellite within the time slot resource length of one time slot and the amount of remaining data corresponding to the m-th time slot, determines the time required for each satellite to transmit the amount of remaining data corresponding to the m-th time slot.

[0167] In this embodiment, the remaining data amount corresponding to the m-th 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 amount corresponding to the m-th time slice, thereby improving the accuracy of calculating the time required to transmit the remaining data amount.

[0168] In an optional embodiment, the amount of remaining data corresponding to the m-th time slice can be determined using the following formula. :

[0169] (10)

[0170] In one embodiment of this 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 to divide the data packet into based on the total data volume, the time slot resource length of a time slice, and the transmission rate of each satellite.

[0171] In an alternative embodiment, the number of time slices can be determined using the following formula. M :

[0172] (11)

[0173] in, This indicates the total amount of data in the data packet.

[0174] In one embodiment of this disclosure, the method further includes: determining the total data volume of the data packet; determining the time slot resource length of a time slice; determining the minimum time slot resource length for a single resource scheduling allocation; and determining the number of time slices to divide the data packet into 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.

[0175] In an alternative embodiment, the number of time slices can be determined using the following formula. M :

[0176] (12)

[0177] in, The minimum hourly slot resource length allocated for a single resource scheduling operation.

[0178] The minimum time slot resource length allocated in a single resource scheduling operation refers to the smallest unit of time that can be allocated during time-based resource scheduling; it is the basic granularity of scheduling. This parameter determines the fineness of scheduling and the efficiency of resource utilization.

[0179] In one optional embodiment, the distance between the user terminal and the nth satellite It is determined according to the following formula:

[0180] (13)

[0181] in, The Euclidean coordinates represent the user terminal's position. Since the user terminal's range of motion is much smaller than the distance between the user terminal and the satellite, the user terminal can be considered to be in a quasi-stationary state. This represents the Euclidean coordinates of satellite n, which can be obtained from ephemeris information. || represents the L2 norm operation.

[0182] When calculating the number of time slices, Let be the Euclidean coordinates of satellite n when the user terminal accesses the network. When calculating the transmission rate of satellite n within a certain time slice, Let n be the Euclidean coordinates of satellite n at the initial moment of this time slice.

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

[0184] Figure 10 This invention discloses a flowchart of yet another data transmission method according to an embodiment of the present disclosure, the method being as follows: Figure 10 As shown, it includes the following steps:

[0185] Execute the following loop:

[0186] S1001, determine whether m is equal to M, where m is the sequence number of the time slice, the initial value of m is 1, and M is the number of time slices;

[0187] S1002, when m equals M, then the transmission of all time slices of the data packet is completed, and the loop is exited;

[0188] S1003, when m is less than M, determine the amount of remaining data corresponding to the m-th time slice;

[0189] S1004, determine whether the remaining data volume corresponding to the m-th time slice is zero;

[0190] S1005, when the remaining data amount corresponding to the m-th time slice is zero, it is determined that the transmission of all time slices of the data packet has been completed, and the loop is exited;

[0191] S1006, when the remaining data amount corresponding to the m-th time slice is not zero, obtain the network status information of each satellite at the current moment;

[0192] S1007, determine the transmission rate of each satellite based on the network status information of each satellite;

[0193] S1008, determine the remaining service time for each satellite;

[0194] S1009, Based on the transmission rate and remaining service time of each satellite, the target satellite is determined from among the satellites;

[0195] S1010, Determine whether the currently connected satellite and the target satellite are the same;

[0196] S1011, if the currently connected satellite and the target satellite are the same, then update m with the value of m plus 1, and use the currently connected satellite to transmit the m-th time slice;

[0197] S1012, if the currently connected satellite and the target satellite are not the same, update m with the value of m plus 1, switch from the currently connected satellite to the target satellite, and use the target satellite to transmit the m-th time slice.

[0198] In this embodiment, the data transmission process is divided into multiple cyclic steps. Before each cycle begins, it is determined whether the sequence number m of the current time slice is equal to the total number M. If they are equal, it means that all time slices have been transmitted, and the process ends; otherwise, it is further determined whether the remaining data volume is zero. If it is zero, the process ends. If there is still data to be transmitted, the network status information of each satellite is obtained, and then a target satellite is selected. Subsequently, it is compared whether the currently connected satellite and the target satellite are consistent: if they are consistent, the value of m is updated and the original satellite is used to transmit the next time slice; if they are inconsistent, the value of m is updated and the target satellite is switched for subsequent transmission. Through the above technical means, the transmission path can be dynamically adjusted to adapt to link changes and resource fluctuations in satellite communication, thereby improving the overall transmission efficiency.

[0199] The above scheme can be viewed as a satellite handover decision algorithm.

[0200] In one application scenario, assume there are two satellites available for service in the current network, designated Satellite 1 (LEO satellite) and Satellite 2 (MEO satellite). The amount of data to be transmitted to the user terminal is 100 Mbits. After initial access, Satellite 1 provides downlink data transmission service to the user terminal, with each time slice length... The time slice is divided into 10 time slices. The adjustment factor α is set to 0.8.

[0201] When the first time slice expires, m=1, and Satellite 1 acquires the network status information for the current period. The remaining data volume is calculated to be 85 Mbits, and the remaining service time for Satellite 1 is calculated to be... Satellite 2 remaining service time Satellite 1 executes the satellite handover decision algorithm to obtain the combined objective function of Satellite 1 and Satellite 2:

[0202] (14)

[0203] Therefore, the switching decision algorithm outputs satellite 1. Satellite 1 continues to send data to the user until the second time slice expires.

[0204] When the second time slice expires, m=2, and Satellite 1 acquires the network status information for the current period. The remaining data volume is calculated to be 70 Mbits, and the remaining service time for Satellite 1 is calculated to be... Satellite 2 remaining service time Satellite 1 executes the handover decision algorithm to obtain the combined objective function of Satellite 1 and Satellite 2:

[0205] (15)

[0206] Therefore, the switching decision algorithm outputs satellite 1. Satellite 1 continues to send data to the user until the third time slice expires.

[0207] Similarly, when the fifth time slice expires, m=5, and Satellite 1 acquires the network status information for the current period. The remaining data volume is calculated to be 24 Mbits, and the remaining service time for Satellite 1 is calculated to be... Satellite 2 remaining service time Satellite 1 executes the handover decision algorithm to obtain the combined objective function of Satellite 1 and Satellite 2:

[0208] (16)

[0209] Therefore, the switch decision algorithm outputs satellite 2. Satellite 1 then informs the user terminal to switch to satellite 2 after the fifth time slice, and simultaneously sends the remaining user data to satellite 2. This process continues until m=10 or the user data transmission is complete.

[0210] Based on the same inventive concept, this disclosure also provides a data transmission device, as shown in the following embodiments. Since the principle by which the data transmission device solves the problem is similar to that of the above method embodiments, the implementation of the data transmission device can refer to the implementation of the above method embodiments, and repeated details will not be elaborated further.

[0211] Figure 11 This disclosure illustrates a data transmission apparatus, such as... Figure 11 As shown, the data transmission device may include:

[0212] The acquisition module 1101 is configured to acquire network status information of each satellite after the data packet is transmitted in one 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.

[0213] The first determining module 1102 is configured to determine the transmission rate of each satellite based on the network status information of each satellite.

[0214] The second determining module 1103 is configured to determine the remaining service time of each satellite;

[0215] The third determining module 1104 is configured to determine the target satellite from among the satellites based on the transmission rate and remaining service time of each satellite.

[0216] The switching module 1105 is configured to switch from the currently connected satellite to the target satellite and use the target satellite to transmit data packets in the next time slice.

[0217] In one embodiment of this 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 spatial 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: satellite operating speed and position.

[0218] In some embodiments, the first determining 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 transmit frequency, satellite-to-ground link noise power, and a first distance between the satellite and the user terminal; and to determine the transmission rate of each satellite at the current moment based on one or more of the following information: channel bandwidth and satellite-to-ground link signal-to-noise ratio of each satellite.

[0219] In some embodiments, the second determining module 1103 is further configured to determine the service time of each satellite and the time slot resource length of a time slice; and to determine 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 sequence number of the last time slice that has been transmitted.

[0220] In some embodiments, the second determining 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 start position and the end 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.

[0221] In some embodiments, the second determining 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 transmit frequency, and satellite-to-ground link noise power.

[0222] In some embodiments, the third determining 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 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 determine the target satellite from among the satellites based on the scores of each satellite.

[0223] In some embodiments, the third determining module 1104 is further configured to determine the minimum time slot resource length for a single resource scheduling allocation; and to determine the 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.

[0224] In some embodiments, the third determining module 1104 is further configured to determine the minimum time slot resource length for a single resource scheduling allocation; determine the time slot resource length for 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 for a time slice, the transmission rate of each satellite, and the remaining service time.

[0225] In some embodiments, the third determining module 1104 is further configured to: determine the minimum time slot resource length for a single resource scheduling allocation; determine the time slot resource length of a time slice; denote the sequence number of the last time slice that has been transmitted as m, and determine the remaining data volume of the data packet after transmitting the m-th time slice; determine the time required for each satellite to transmit the remaining data volume corresponding to the m-th time slice; and determine the target satellite from among the satellites based on the time required for each satellite to transmit the remaining data volume corresponding to the m-th 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.

[0226] In some embodiments, the third determining 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 amount of remaining data corresponding to the m-1th time slice based on the remaining amount of data corresponding to the m-1th time slice and the amount of data transmitted by each satellite within the time slot resource length of a time slice.

[0227] In some embodiments, the third determining 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 amount of data corresponding to the m-th 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 amount of data corresponding to the m-th time slice.

[0228] 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 to divide the data packet into based on the total data volume, the time slot resource length of a time slice, and the transmission rate of each satellite.

[0229] Those skilled in the art will understand that various aspects of this disclosure can be implemented as a system, method, or program product. Therefore, various aspects of this disclosure can be specifically implemented in the following forms: a completely hardware implementation, a completely software implementation (including firmware, microcode, etc.), or a combination of hardware and software aspects, collectively referred to herein as a "circuit," "module," or "system."

[0230] The following reference Figure 12 To describe an electronic device 1200 according to such an embodiment of the present disclosure. Figure 12 The electronic device 1200 shown is merely an example and should not be construed as limiting the functionality and scope of use of the embodiments disclosed herein.

[0231] like Figure 12 As shown, the electronic device 1200 is presented in the form of a general-purpose computing device. The components of the 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 different system components (including memory 1220 and processor 1210).

[0232] The memory stores program code that can be executed by the processor 1210, causing the processor 1210 to perform the steps described in the "Exemplary Methods" section of this specification according to various exemplary embodiments of this disclosure. For example, the processor 1210 can perform the following steps of the above method embodiments: after completing the transmission of a data packet for one time slice 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 the 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 data packet for the next time slice.

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

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

[0235] Bus 1230 can represent one or more of several types of bus structures, including a memory bus or memory controller, peripheral bus, graphics acceleration port, processor, or a local bus using any of the various bus structures.

[0236] Electronic device 1200 can also communicate with one or more external devices 1240 (e.g., keyboard, pointing device, Bluetooth device, etc.), and with one or more first data transmissions that enable a user to interact with electronic device 1200, and / or with any device that enables electronic device 1200 to communicate with one or more other computing devices (e.g., router, modem, etc.). This communication can be performed via input / output (I / O) interface 1250. Furthermore, electronic device 1200 can also communicate with one or more networks (e.g., local area network (LAN), wide area network (WAN), 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 figures, 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.

[0237] 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.

[0238] In some possible implementations, various aspects of this disclosure may also be implemented as a program product comprising program code that, when run on a user terminal device, causes the user terminal device to perform the steps described in the foregoing “Detailed Description” section of this specification according to various exemplary embodiments of this disclosure.

[0239] More specific examples of computer-readable storage media in this disclosure may include, but are not limited to: electrical connections having one or more wires, portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination of the foregoing.

[0240] In this disclosure, a computer-readable storage medium may include a data signal propagated in baseband or as part of a carrier wave, carrying 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, capable of transmitting, propagating, or transmitting a program for use by or in connection with an instruction execution system, apparatus, or device.

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

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

[0243] This disclosure provides a computer program product or computer program including 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 a data transmission method provided in various alternative embodiments of this disclosure.

[0244] It should be noted that although several modules or units for the device used to perform actions have been mentioned in the detailed description above, this division is not mandatory. In fact, according to embodiments of this disclosure, the features and functions of two or more modules or units described above can be embodied in one module or unit. Conversely, the features and functions of one module or unit described above can be further divided and embodied by multiple modules or units.

[0245] Furthermore, although the steps of the method in this disclosure are described in a specific order in the accompanying drawings, this does not require or imply that the steps must be performed in that specific order, or that all the steps shown must be performed to achieve the desired result. Additional or alternative steps may be omitted, multiple steps may be combined into one step, and / or a step may be broken down into multiple steps.

[0246] From the above description of the embodiments, those skilled in the art will readily understand that the exemplary embodiments described herein can be implemented by software or by combining software with necessary hardware. Therefore, the technical solutions according to the embodiments of this 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, portable hard drive, etc.) or on a network, including several instructions to cause a computing device (such as a personal computer, server, mobile user terminal, or network device, etc.) to execute the method according to the embodiments of this disclosure.

[0247] Other embodiments of this disclosure will readily occur to those skilled in the art upon consideration of the specification and practice of the invention disclosed herein. This disclosure is intended to cover any variations, uses, or adaptations of this disclosure that follow the general principles of this disclosure and include common knowledge or customary techniques in the art not disclosed herein. The specification and examples are to be considered exemplary only, and the true scope of this disclosure is indicated by the appended claims.

Claims

1. A data transmission method, characterized by, The method is applied to a multi-orbit satellite downlink transmission data scenario, and comprises the following steps: After completing transmission of a time slice of a data packet by a currently connected satellite, network state information of each satellite is obtained, wherein the each satellite includes the currently connected satellite, and the data packet is divided into multiple time slices for transmission; Transmission rates of the each satellite are determined according to the network state information of the each satellite; Residual service times of the each satellite are determined; A minimum time slot resource length of one resource scheduling allocation is determined; According to the minimum time slot resource length, the transmission rates of the each satellite and the residual service times of the each satellite, a target satellite is determined from the each satellite; Transmission of a next time slice of the data packet is performed by switching from the currently connected satellite to the target satellite.

2. The method of claim 1, wherein, The network state information comprises downlink resource occupation information, channel quality information and ephemeris information; The downlink resource occupation information comprises at least one of downlink time domain resources, frequency domain resources, code domain resources and space domain resources, and the frequency domain resources comprise a channel bandwidth; The channel quality information comprises at least one of a satellite-ground link attenuation value, a satellite transmission power, a satellite downlink transmission frequency, a satellite antenna gain, a user terminal antenna gain and a satellite-ground link noise power; The ephemeris information comprises at least one of a satellite running speed and a satellite position.

3. The method of claim 2, wherein, The transmission rates of the each satellite are determined according to the network state information of the each satellite, and the method comprises the following steps: A satellite-ground link signal-to-noise ratio of the each satellite is determined based on one or more of the following information: the satellite-ground link attenuation value, the satellite transmission power, the satellite antenna gain, the user terminal antenna gain, the satellite downlink transmission frequency, the satellite-ground link noise power and a first distance between the satellite and the user terminal; The transmission rate of the each satellite at a current time is determined based on one or more of the following information: a channel bandwidth of the each satellite and the satellite-ground link signal-to-noise ratio.

4. The method of claim 2, wherein, The residual service times of the each satellite are determined, and the method comprises the following steps: A service time of the each satellite and a time slot resource length of one time slice are determined; Based on the service time of the each satellite, the time slot resource length of one time slice and a serial number of a last time slice for which transmission has been completed, the residual service time of the each satellite is determined.

5. The method of claim 4, wherein, The service time of the each satellite is determined, and the method comprises the following steps: A second distance at which the each satellite can provide service to the user terminal is determined; Based on the second distance corresponding to the each satellite, a third distance between a start position and an end position of the each satellite which can provide service to the user terminal is determined; Based on the running speed of the each satellite and the third distance corresponding to the each satellite, the service time of the each satellite is determined.

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

7. The method of claim 1, wherein, After the minimum time slot resource length of one resource scheduling allocation is determined, the method further comprises the following steps: A time slot resource length of one time slice is determined; determining a target satellite from the satellites according to the minimum time slot resource length, a time slot resource length of a time slice, a transmission rate of each satellite, and a remaining service time.

8. The method of claim 1, wherein, After determining the minimum time slot resource length of the one-time resource scheduling allocation, the method further comprises: determining a time slot resource length of a time slice; determining a remaining data amount of the data packet after transmission of an mth time slice; determining a time required by each satellite to transmit the remaining data amount of the data packet after transmission of the mth time slice; determining a target satellite from the satellites according to the time required by each satellite to transmit the remaining data amount of the data packet after transmission of 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.

9. The method of claim 8, wherein, The determining of the remaining data amount of the data packet after transmission of the mth time slice comprises: determining a time slot resource length of a time slice; determining a data amount transmitted by each satellite within the time slot resource length of a time slice based on the transmission rate of each satellite; determining the remaining data amount of the data packet after transmission of the mth time slice based on the remaining data amount of the data packet after transmission of an (m-1)th time slice and the data amount transmitted by each satellite within the time slot resource length of a time slice.

10. The method of claim 8, wherein, The determining of the time required by each satellite to transmit the remaining data amount of the data packet after transmission of the mth time slice comprises: determining a time slot resource length of a time slice; determining a data amount transmitted by each satellite within the time slot resource length of a time slice based on the transmission rate of each satellite; determining the time required by each satellite to transmit the remaining data amount of the data packet after transmission of the mth time slice based on the data amount transmitted by each satellite within the time slot resource length of a time slice and the remaining data amount of the data packet after transmission of the mth time slice.

11. The method of claim 1, wherein, The method further comprises: determining a total data amount of the data packet; determining a time slot resource length of a time slice; determining a number of time slices into which the data packet is divided based on the total data amount, the time slot resource length of a time slice, and the transmission rate of each satellite.

12. A data transmission apparatus, characterized by comprising: application to a multi-orbit satellite downlink transmission data scenario, comprising: an acquisition module configured to acquire network state information of each satellite after transmission of a time slice of a data packet by 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 a transmission rate of each satellite according to the network state information of each satellite; a second determination module configured to determine a remaining service time of each satellite; a third determination module configured to determine a minimum time slot resource length of one-time resource scheduling allocation, and determine a target satellite from the satellites according to the minimum time slot resource length, the transmission rate of each satellite, and the remaining service time; a switching module configured to switch from the currently connected satellite to the target satellite, and perform transmission of a next time slice of the data packet by the target satellite.

13. An electronic device, comprising: comprise: a processor; and ​ a memory for storing executable instructions of the processor; wherein the processor is configured to perform the method of any one of claims 1-11 via execution of the executable instructions.

14. A computer-readable storage medium having stored thereon a computer program, characterized in that, The computer program, when executed by the processor, implements the method of any one of claims 1-11.

15. A computer program product comprising computer instructions stored in a computer readable storage medium, the computer instructions, when executed by a processor, implement the method of any one of claims 1-11.

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