Data transmission method and electronic equipment

By allocating continuous resource blocks to terminals through a multi-timeslot scheduling mechanism, the problem of discontinuous spectrum resources caused by independent scheduling of single time slots is solved, thereby improving the transmission rate and system throughput, and is suitable for satellite communication systems.

CN121842836APending Publication Date: 2026-04-10CHINA STAR NETWORK SYST RES INST CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-12-12
Publication Date
2026-04-10

AI Technical Summary

Technical Problem

The existing single-slot independent scheduling mode results in discontinuous spectrum resources, leading to low transmission rates. Furthermore, under conditions of dense user access and sudden data traffic, uneven resource allocation, increased transmission latency, and decreased system response speed occur.

Method used

By employing a multi-slot scheduling mechanism, continuous resource blocks are allocated to terminals, and the multi-slot scheduling indication field is used to ensure the continuity of spectrum resources. Priority order and slot order allocation strategies reduce spectrum resource fragmentation and improve transmission rate and system throughput.

Benefits of technology

It enables continuous utilization of spectrum resources, improves transmission rate and system throughput, reduces scheduling calculation frequency and computing power consumption, is suitable for spaceborne platforms with limited computing power, and improves system response rate and user service continuity.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121842836A_ABST
    Figure CN121842836A_ABST
Patent Text Reader

Abstract

The invention relates to the technical field of communication, in particular to a data transmission method and electronic equipment. The method comprises the following steps: allocating a resource block required by data transmission to a terminal based on a data transmission request sent by the terminal; sending downlink control information to the terminal, wherein the downlink control information comprises a multi-slot scheduling indication field; the multi-time-slot scheduling indication field is used for indicating a plurality of time slots occupied by the terminal for transmitting data by using the resource block. By means of the method, the problem that spectrum resources are discontinuous in the single-slot scheduling process can be reduced.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the technical field of communication, in particular to a data transmission method and an electronic device. BACKGROUND

[0002] With the rapid development of 5G networks and low-orbit satellite communication technologies, the global communication field is facing the dual challenges of explosive growth of user access and explosive growth of data traffic, which requires efficient resource utilization and continuous improvement of system throughput under limited spectrum resources.

[0003] The current network resource scheduling method mainly adopts a single-time-slot independent scheduling mode, which is easy to cause low transmission rate between users and base stations when transmitting data. SUMMARY

[0004] The embodiments of the present application provide a data transmission method and an electronic device, which can reduce the occurrence of discontinuous spectrum resources.

[0005] In a first aspect, the embodiments of the present application provide a data transmission method applied to a base station, and the method comprises: allocating resource blocks required by a terminal for data transmission based on a data transmission request sent by the terminal; sending downlink control information to the terminal, wherein the downlink control information includes a multi-time-slot scheduling indication field; The multi-time-slot scheduling indication field is used to indicate that the terminal occupies multiple time slots for data transmission using the resource blocks.

[0006] In a possible implementation, the multiple time slots are continuous, and the allocation of the resource blocks required by the terminal for data transmission comprises: allocating resource blocks to the terminal according to the number of resource blocks required by the terminal and the frequency range to which the resource blocks in the multiple continuous time slots belong.

[0007] In a possible implementation, the allocation of the resource blocks required by the terminal for data transmission comprises: allocating resource blocks required by the terminal for data transmission before the multiple continuous time slots.

[0008] In a possible implementation, the allocation of the resource blocks to the terminal comprises: allocating resource blocks in the multiple continuous time slots to the terminal based on the time sequence of the multiple continuous time slots and the priority order of the terminal, wherein the priority represents the order of allocating resource blocks to the terminal.

[0009] In a possible implementation, the priority order is determined by the following manner: classifying the terminals to obtain a first category of terminals and a second category of terminals, the first category of terminals having a greater capability of receiving signals than the second category of terminals; determining a priority order of the terminals in the first category according to a size order of index values of the terminals in the first category, the index values being determined based on a current instantaneous transmission rate and an average transmission rate in a preset time period of the terminals; determining a priority order of the terminals in the second category according to a size order of index values of the terminals in the second category.

[0010] In a possible implementation, the allocating the resource blocks in the plurality of continuous time slots to the terminals comprises: determining that the resource blocks in the first time slot need to be allocated at present, and when it is determined that the resource blocks required by the first terminal have been allocated at present, if there are remaining unallocated resource blocks in the first time slot, selecting a second terminal from the terminals according to the priority order, the second terminal requiring no more resource blocks than the remaining unallocated resource blocks in the first time slot; allocating the remaining unallocated resource blocks to the second terminal.

[0011] In a possible implementation, the method further comprises: if the resource blocks in the first time slot are not allocated, allocating the resource blocks in the first time slot to a next terminal of the first terminal based on the priority order.

[0012] In a possible implementation, the method further comprises: if the number of resource blocks required by the next terminal is greater than the number of resource blocks in the first time slot, determining a first number of continuous time slots required by the next terminal, the first number being determined based on the number of resource blocks required by the next terminal and the number of resource blocks in the first time slot; allocating the resource blocks in the first number of continuous time slots to the next terminal, a start time slot of the first number of continuous time slots being the first time slot.

[0013] In a possible implementation, the terminals are located in a first region, the first region being a plurality of wave positions served by a first satellite beam; the method further comprises: determining a total number of continuous time slots based on a residence duration of the first satellite beam in each of the wave positions.

[0014] In a second aspect, an embodiment of the present application provides a data transmission method applied to a terminal, the method comprising: transmitting a data transmission request to the base station, the data transmission request being used to indicate the base station to allocate resource blocks required by the terminal for data transmission; receiving downlink control information transmitted by the base station, the downlink control information including a multi-slot indication field; The multi-slot scheduling indication field is used to indicate a plurality of time slots occupied by the terminal for data transmission using the resource blocks.

[0015] In a third aspect, an embodiment of the present application provides a data transmission device, applied to a base station, and the device comprises: allocating resource blocks required by the terminal for data transmission based on a data transmission request transmitted by the terminal; transmitting downlink control information to the terminal, the downlink control information including a multi-slot scheduling indication field; The multi-slot scheduling indication field is used to indicate a plurality of time slots occupied by the terminal for data transmission using the resource blocks.

[0016] In a fourth aspect, an embodiment of the present application provides a data transmission device, applied to a terminal, and the device comprises: transmitting a data transmission request to the base station, the data transmission request being used to indicate the base station to allocate resource blocks required by the terminal for data transmission; receiving downlink control information transmitted by the base station, the downlink control information including a multi-slot indication field; The multi-slot scheduling indication field is used to indicate a plurality of time slots occupied by the terminal for data transmission using the resource blocks.

[0017] In a fifth aspect, an embodiment of the present application provides an electronic device, and the device comprises: at least one processor; and a memory connected with the at least one processor in communication, wherein the memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor to enable the at least one processor to execute the method in the first aspect or the second aspect.

[0018] In a sixth aspect, an embodiment of the present application provides a computer storage medium, which stores a computer program, and the computer program is used to enable a computer to execute the method in the first aspect or the second aspect.

[0019] In a seventh aspect, an embodiment of the present application provides a computer program product, which is used to enable a computer to execute the method in the first aspect or the second aspect.

[0020] In the data transmission method provided by the embodiment of the present application, based on the data transmission request of the terminal, the required resource block is allocated to the terminal, and then the downlink control information containing the multi-slot scheduling indication field is sent to the terminal, so that the terminal determines the multiple time slots occupied by the data transmission using the resource block according to the multi-slot scheduling indication field. In this way, multiple time slots can be indicated to the terminal at the same time, the problem of discontinuous spectrum resources in single-slot scheduling can be reduced, and the possibility of continuous resource blocks allocated to each terminal can be increased. The continuous resource blocks are adjacent in the frequency domain, and the terminal can use a wider spectrum for data transmission. The wider spectrum means a wider bandwidth, and the transmission rate will be higher. In addition, continuous resources can support continuous data transmission and ensure a high transmission rate. The terminal can also complete resource reception and analysis of multiple continuous time slots according to the multi-slot scheduling indication field, thereby improving the efficiency of the downlink control information and reducing the signaling overhead of the physical downlink control channel. BRIEF DESCRIPTION OF DRAWINGS

[0021] Figure 1 An application scenario diagram of the data transmission method provided by the embodiment of the present application is shown in the figure. Figure 2 A flowchart of the data transmission method provided by the embodiment of the present application is shown in the figure. Figure 3 A single-slot resource allocation information sending diagram provided by the embodiment of the present application is shown in the figure. Figure 4 A multi-slot resource allocation information sending diagram provided by the embodiment of the present application is shown in the figure. Figure 5 A complete flowchart of the multi-slot resource allocation method provided by the embodiment of the present application is shown in the figure. Figure 6 A multi-backpack algorithm flowchart provided by the embodiment of the present application is shown in the figure. Figure 7 A multi-slot resource allocation scheme diagram provided by the embodiment of the present application is shown in the figure. Figure 8 Another multi-slot resource allocation scheme diagram provided by the embodiment of the present application is shown in the figure. Figure 9 A multi-slot resource allocation device diagram provided by the embodiment of the present application is shown in the figure. Figure 10 An electronic device diagram provided by the embodiment of the present application is shown in the figure. DETAILED DESCRIPTION

[0022] The principles and spirits of the present application will be described below with reference to a number of exemplary embodiments. It should be understood that these embodiments are given only for better understanding of the present application by those skilled in the art, and do not limit the scope of the present application in any way. On the contrary, these embodiments are provided to make the present disclosure more thorough and complete, and to convey the scope of the present disclosure to those skilled in the art.

[0023] Those skilled in the art know that the embodiments of the present application can be implemented as a system, device, method or computer program product. Therefore, the present disclosure can be embodied in the form of a complete hardware, complete software (including firmware, resident software, microcode, etc.), or a combination of hardware and software.

[0024] In this document, it should be understood that any number of elements in the drawings are used for illustration only and not limitation, and any naming is only for distinction and does not have any limiting meaning.

[0025] Some concepts involved in the embodiments of the present application are introduced below.

[0026] Slot: In a wireless communication system (such as LTE, 5G NR), a slot is the basic time unit of time-frequency resource scheduling, used to divide the time structure of a radio frame, and is the core time granularity for realizing flexible resource allocation and multi-user multiplexing.

[0027] Spectrum resource: Spectrum resource is the core basis of wireless communication, which refers to the frequency range (usually in hertz Hz) in the electromagnetic wave spectrum that can be used for wireless communication, broadcasting, radar, navigation and other radio services. It is a kind of limited natural resource, which has the characteristics of scarcity, non-renewability and multiplexing. Its reasonable planning and efficient use directly determines the capacity, coverage and quality of service of the wireless communication system.

[0028] Resource block (Resource Block, RB): In a wireless communication system (such as 4G LTE, 5G NR), it is a basic unit for describing physical resource allocation, and is a core bridge connecting physical layer resources and upper layer data transmission. Its definition is closely related to the frame structure, subcarrier spacing and other parameters of the system, and the purpose is to standardize the division of complex time-frequency resources, so as to facilitate the base station to efficiently schedule user data.

[0029] Resource block group (Resource Block Group, RBG): A group of consecutive RBs, in the embodiments of the present application, the number of RBs in different RBGs can be the same or different, which is not limited here.

[0030] Slot scheduling: In wireless communication systems (such as LTE, 5G NR), slot scheduling is the process of allocating time-frequency resources (such as RBs / RBGs), modulation and coding schemes, transmit power, and other parameters to users in each time slot based on user demand, channel conditions, and system resource state. It is the core mechanism for achieving multi-user multiplexing, ensuring service quality, and improving resource utilization.

[0031] First region: In the embodiments of the present application, the first region can also be referred to as a wave position. The wave position is a sub-region in the ground coverage area corresponding to the satellite base station, as shown in the figure. Each "small square" in the "circular region" represents a wave position for the "circular region". Figure 1

[0032] Hop beam: In wireless communication (especially high-frequency communication such as millimeter wave, terahertz, etc.), hop beam is a technology that dynamically switches beam direction to achieve periodic coverage of different regions or users. It combines the high directivity of beamforming and the flexibility of dynamic scheduling, effectively solving the problem of large path loss and limited coverage in high-frequency communication, while improving spectrum resource utilization.

[0033] Hop wave position: It is a technology that dynamically changes the spatial position (angle, direction, or coverage area) of the signal beam to optimize communication performance. It is closely related to the concept of "hop beam", but focuses more on the hopping strategy of the beam in the spatial position, and the core is to realize anti-interference, expand coverage, or improve resource utilization through "position hopping".

[0034] Terminal to be scheduled: That is, the terminal. In the embodiments of the present application, the terminal to be scheduled is a terminal that needs to be allocated resources.

[0035] Communication system: In the embodiments of the present application, the communication system includes terminals and base stations.

[0036] Radio Network Temporary Identifier (RNTI): In wireless communication systems (such as LTE, 5G NR), RNTI is a temporary number used to identify terminals, specific channels, or services. Its main role is to distinguish and encrypt / decrypt different signals / data at the physical layer and media access control layer.

[0037] Downlink control information: In mobile communication systems, downlink control information is critical control signaling sent by the base station to the user equipment through the physical downlink control channel, used to guide the user equipment to perform uplink and downlink data transmission, resource allocation, and other operations. It is the core information carrier for efficient scheduling of wireless resources.

[0038] ​The downlink control information contains the uplink or downlink data channel scheduling information and other control information of a terminal. The specific content is as follows: Resource allocation information: indicates the physical resource blocks allocated to the terminal, including the resource block position and quantity in the frequency domain, etc., so that the terminal knows which resource blocks to use for data transmission.

[0039] Modulation and coding scheme information: informs the terminal of the modulation method and coding rate used for data transmission, so that the terminal can correctly demodulate and decode the data.

[0040] Hybrid automatic repeat request related information: includes hybrid automatic repeat request process number, new data indication, and redundancy version, etc. The hybrid automatic repeat request process number is used to identify different transmission processes, the new data indication is used to indicate whether it is new data transmission, and the redundancy version is used to determine the version of the retransmitted data.

[0041] Power control information: for uplink transmission, the downlink control information will contain uplink power control commands to instruct the terminal to adjust the uplink transmission power to ensure signal quality and control interference.

[0042] Multi-antenna related information: in the multi-antenna transmission scenario, the downlink control information carries information related to multi-antenna transmission, such as precoding matrix indication and rank indication, etc., which are used to control the mode and parameters of multi-antenna data transmission.

[0043] Slot format information: some downlink control information formats (such as downlink control information 2_0 in 5G network) will inform the terminal of the slot format, indicating the configuration of uplink and downlink transmission in the slot.

[0044] Priority indication information: such as downlink control information 2_1 in 5G network, which can be used to send priority indication information to let the terminal understand the priority of different services or data, so as to reasonably allocate resources and process data.

[0045] Scheduling request related information: can indicate whether the terminal can initiate a scheduling request, or respond to a scheduling request, etc., which is used in scenarios such as terminal application for uplink resources.

[0046] In the third generation partnership project, the content contained in the downlink control information is different according to the downlink control information format. Taking the 5G new radio as an example, the downlink control information includes: Format indication: occupies 1 bit, which is used to indicate whether the downlink control information is uplink or downlink scheduling information, 0 represents uplink, and 1 represents downlink.

[0047] The resource allocation information includes the following: Frequency domain resource indication: indicates the frequency domain resource of the physical uplink shared channel or the physical downlink shared channel, and the number of bits occupied is determined by factors such as the number of resource blocks of the current active bandwidth part.

[0048] Time domain resource indication: generally occupies 4 bits, indicating the time domain resource of the physical uplink shared channel or the physical downlink shared channel, representing the table index of the time domain resource table start and length indication value.

[0049] Virtual resource block to physical resource block mapping indication: occupies 1 bit, indicating the mapping method of the physical downlink shared channel from the virtual resource block to the physical resource block, 0 representing non-interleaving and 1 representing interleaving.

[0050] Physical resource block bundling size indication: the field exists in the downlink control information 1_1, used to indicate the physical resource block bundling size of the physical downlink shared channel.

[0051] Modulation and coding scheme indication: generally occupies 5 bits, representing the table index of different modulation methods, target code rates and spectral efficiencies of the physical uplink shared channel or the physical downlink shared channel.

[0052] Hybrid automatic repeat request related information: New data indication: occupies 1 bit, indicating whether the current transmission is new data or retransmission data.

[0053] Redundancy version: occupies 2 bits, indicating the redundancy version.

[0054] Hybrid automatic repeat request process number indication: occupies 4 bits, used to identify different hybrid automatic repeat request transmission processes.

[0055] Power control information: the downlink control information scheduling the physical uplink shared channel contains the transmission power control command of the physical uplink shared channel, and the downlink control information 1_0 contains the transmission power control indication of the physical uplink control channel, used to instruct the terminal to adjust the uplink transmission power.

[0056] Downlink assignment indication: the field exists in the downlink control information 1_0, occupies 2 bits, and represents how many subframes containing downlink transmission in the hybrid automatic repeat request feedback window.

[0057] Bandwidth part indicator: the field exists in the downlink control information 1_1, used to indicate the active bandwidth part of the current terminal.

[0058] The data transmission method provided by the embodiment of the application is described below based on the drawings.

[0059] The application scenario of the data transmission method provided by the embodiment of the application is shown in Figure 1 , taking a satellite network as an example.

[0060] Figure 1The middle satellite moves from left to right, and the area it serves (i.e., the circular area) also moves from left to right. Each circular area is divided into multiple wave positions. Taking the middle circular area as an example, beam 1 is used to serve terminals in the left four wave positions, beam 2 is used to serve terminals in the middle six wave positions, and beam 3 is used to serve terminals in the right four wave positions. Taking beam 1 as an example, beam 1 covers the four wave positions in the order of 1-2-3-4, where beam 1 cycles from wave position 1 to wave position 4, and returns to wave position 1 for one beam coverage period. In the embodiment of the application, one beam coverage period is one resource allocation period, and is also one scheduling period.

[0061] With the rapid development of 5G networks and low-orbit satellite communication technologies, the global communication field is facing the dual challenges of a sharp increase in user access and a sharp increase in data traffic, which requires efficient resource utilization and continuous improvement of system throughput under limited spectrum resources. Currently, communication systems not only need to meet the demand of a large number of users online at the same time, but also must ensure the continuity and real-time nature of data transmission, thereby ensuring high-quality services in various business scenarios. However, due to the defects of traditional single-time-slot independent scheduling methods, such as scattered spectrum resources, resource fragmentation, and high scheduling calculation frequency, the problems of uneven resource allocation, increased transmission delay, and decreased system response speed become increasingly apparent in the case of user access density and data traffic burst. Especially in low-orbit satellite communication systems, due to the limited computing resources and energy consumption on the satellite, how to realize the global joint optimization scheduling of resources in multiple continuous time slots under limited computing power has become a key technical problem to be solved. Traditional scheduling algorithms are often limited to independent scheduling calculation in each transmission time interval, and cannot fully consider the unevenness of resource distribution between continuous time slots, which not only affects the continuity of resource utilization, but also increases the computing burden of the scheduler. At the same time, due to the large differences in the demand for time-frequency resources and channel conditions of different users, how to ensure fairness and quality of service becomes another challenge in multi-user mixed scheduling. Therefore, in recent years, researchers have begun to explore the overall collection of resources in multiple continuous time slots, and through cross-time-slot joint scheduling, to realize the global optimization configuration of resource demand and available resources, thereby effectively reducing resource fragmentation and improving resource utilization while ensuring system real-time performance.

[0062] The current mainstream low-orbit satellite communication and 5G network resource scheduling method mainly adopts a traditional single-time-slot independent scheduling mode, that is, resource allocation and scheduling decisions are made respectively in each transmission time interval, that is, the resource allocation scheme of the next time slot is determined by real-time measurement and calculation of the spectrum resource state in each time slot. Although this method has certain real-time and flexibility in theory, in actual application, the independent scheduling of each time slot is easy to cause the dispersion of spectrum resources, and thus leads to serious resource fragmentation. In addition, under the background of large-scale user access and massive data transmission, each time slot needs to be scheduled and calculated independently, which not only increases the computing burden of the system, but also faces the dilemma of insufficient computing power and high energy consumption in the on-board or other resource-limited environment.

[0063] Based on the problem of low transmission rate caused by discontinuous spectrum resources in the current single-time-slot resource scheduling, an embodiment of the present application provides a data transmission method applied to a base station, as shown in the figure, the method comprises: Figure 2 S201: allocating resource blocks required for data transmission for the terminal based on the data transmission request sent by the terminal.

[0064] The current network resource scheduling method mainly adopts a single-time-slot independent scheduling mode, that is, resource allocation and scheduling decisions are made respectively in each transmission time interval, and the resource allocation of each time slot is only based on the current instantaneous state (such as user channel quality, service demand) to make independent decisions, which also easily leads to fragmentation of spectrum resources. For example, when user 1 needs multiple resource blocks to complete data transmission, in time slot 1, user 1 is allocated resource block group A, in time slot 2, due to the instantaneous demand of user 2, resource block group B is allocated to user 2, in time slot 3, resource block group C is continuously allocated to user 1, and resource block group A and resource block group C are discontinuous resources, that is, the base station cannot allocate continuous resources to user 1. Discontinuous spectrum resources make data unable to be transmitted continuously, which easily leads to low transmission rate between the user and the base station.

[0065] In the embodiment of the present application, the time for allocating resource blocks to the terminal can be referred to as a resource allocation period, and in the resource allocation period, the terminal can also be scheduled (that is, the terminal transmits data in the period), so the resource allocation period can also be referred to as a scheduling period. In different communication systems, the resource allocation period is different, and the first region is also different. For example Figure 1 ​In the satellite communication system shown, the resource allocation period can be the beam coverage period, that is, the sum of the dwell times of beam 1 on wave positions 1, 2, 3, and 4. For example, if the dwell time of beam 1 on wave position 1 is 10ms, the dwell time of beam 1 on wave position 2 is 5ms, the dwell time of beam 1 on wave position 3 is 5ms, and the dwell time of beam 1 on wave position 1 is 10ms, then in this satellite communication system, the resource allocation period is 10 + 5 + 5 + 10 = 30ms. The first area can be multiple wave positions served by the first satellite beam, such as... Figure 1 The wave positions corresponding to medium beam 1 are wave position 1, wave position 2, wave position 3 and wave position 4.

[0066] In a communication system with a fixed base station, where the signal coverage area is fixed, the resource allocation period can be set based on historical service conditions. For example, during the early morning hours when service volume is low, a shorter resource allocation period can be set. This application does not specifically limit the setting of the resource allocation period. The first area can be the serving cell corresponding to the fixed base station or the serving cell corresponding to a satellite base station; this application does not specifically limit this.

[0067] In this embodiment, the terminals that need resource allocation are determined before the resource allocation cycle arrives. After the resource allocation cycle arrives, if another terminal sends a data transmission request, the base station will not process it in the current resource allocation cycle, but will schedule the data transmission request received in the current resource allocation cycle to the next resource allocation cycle. For example, time slots 1-5 constitute one resource allocation cycle, and time slots 6-10 constitute the next resource allocation cycle. Data transmission requests from terminals are received in time slots 1-5, and resource blocks are allocated to the terminals. However, these resource blocks correspond to time slots 6-10. When time slots 6-10 arrive, the resource allocation results are read directly, and the terminals are scheduled. Similarly, resource blocks are allocated to terminals in time slots 6-10 that are in the next resource allocation cycle.

[0068] by Figure 1 Taking the satellite communication system shown as an example, its beam coverage period is continuous, meaning the resource allocation period is continuous. Since the number of bytes contained in the data transmission requests received by the base station varies, meaning the amount of data the terminal needs to transmit differs, this embodiment further filters the terminals that need resource allocation from those sending data transmission requests based on user requirements. For downlink transmission, the number of requested bytes for each terminal can be obtained through the downlink radio link control queue length; for uplink transmission, each terminal reports its buffer level to the base station through a buffer status report based on its radio link control queue length. This embodiment does not specifically limit how the amount of data the terminal needs to transmit is determined.

[0069] In a possible implementation, a terminal whose byte number exceeds the preset byte number is screened as a terminal requiring resource allocation.

[0070] Further, the byte number required by the terminal for transmission is converted into the number of resource blocks. Specifically, the number of RBs required for completing data transmission can be calculated according to the current available symbol number, the modulation and coding scheme, and the data amount to be transmitted. Since an RBG is composed of a group of RBs (the number of RBs included in each RNG can be the same), the number of RBGs required for completing data transmission can also be directly determined.

[0071] In a possible implementation, the number of RBGs can be determined in the following manner: According to the symbol number and the modulation and coding scheme, the corresponding transmission size is queried from a mapping table of RBG-byte number required by the terminal for transmission in the modulation and coding scheme generated in advance. If the data transmission requirement of the terminal exceeds the maximum transmission capacity that can be supported by a single time slot, the maximum number of RBGs allowed is directly allocated; otherwise, the majority of data requirements is first subtracted through iteration of complete RBG blocks, and then the binary search combined with the sequential fine adjustment method is used to accurately calculate the minimum number of RBGs required for the remaining data. Finally, the total number of required RBGs is recorded in the relevant field of the user, and the value is returned.

[0072] After the terminal to be scheduled and the number of resource blocks required by the terminal to be scheduled are determined, a plurality of continuous time slots in the resource allocation period and the frequency range to which the resource blocks to be allocated in each time slot belong need to be determined.

[0073] In a possible implementation, the terminal is located in a first region, and the first region is a plurality of wave positions served by a first satellite beam; Determining a plurality of continuous time slots in the resource allocation period includes: Determining the total number of continuous time slots based on the residence duration of the first satellite beam at each wave position.

[0074] For example, a time slot is 0.5 ms, the first satellite beam corresponds to two wave positions, the residence duration at the first wave position is 5 ms, the residence duration at the second wave position is 10 ms, and each time slot is 0.5 ms. Therefore, the number of continuous time slots corresponding to the first wave position is 10, the number of continuous time slots corresponding to the second wave position is 20, and the total number of continuous time slots in the current resource allocation period is 10+20=30.

[0075] The frequency range to which the resource blocks to be allocated in each time slot belong is continuous, and the frequency range to which the resource blocks to be allocated in two adjacent time slots belong is also continuous. The length of each resource allocation period can be the same, which is not limited here.

[0076] After determining the number of resource blocks required by the terminal to complete data transmission, in order to ensure that the spectrum corresponding to the resource blocks allocated to the terminal is continuous, the resource blocks need to be allocated in the order of the spectrum range corresponding to the resource blocks.

[0077] Further, the resource allocation needs to be performed in the order of the allocation of time slots and the priority order of the terminals.

[0078] Specifically, the allocation order of the time slots can be as follows.

[0079] Based on the time range of each of the time slots, the allocation order of the plurality of continuous time slots is determined.

[0080] For example, the time range of the first time slot in the two continuous time slots is 0-5 ms, and the time range of the second time slot is 5-10 ms. The resource blocks in the first time slot are allocated first, and then the resource blocks in the second time slot are allocated. When allocating the resource blocks in the time slots, the resource blocks are allocated in the order of the frequency range corresponding to the resource blocks, for example, the resource blocks with the smallest frequency range are allocated first.

[0081] In a possible implementation, the priority order of the terminals can be as follows.

[0082] The sensitivity of each terminal when receiving data, the current instantaneous transmission rate of each terminal, and the average transmission rate of each terminal in a preset time period are determined, and the priority order of the terminals requiring resource allocation is determined; The terminals with a sensitivity greater than a preset sensitivity are determined to belong to a first terminal category, and the terminals with a sensitivity not greater than the preset sensitivity are determined to belong to a second terminal category; Based on the current instantaneous transmission rate of each terminal and the average transmission rate of each terminal in a preset time period, an index value of each terminal is determined; The priority order of the terminals in the first terminal category is determined in the order of the index values of the terminals in the first terminal category, and the priority order of the terminals in the second terminal category is determined in the order of the index values of the terminals in the second terminal category.

[0083] The sensitivity is used to represent the ability of the terminal to receive signals, and specifically represents the ability of the terminal to capture signals with a signal strength less than a preset strength. In addition, the ability to receive signals can also be represented by other parameters, such as maximum supported modulation order, actual throughput, and anti-interference ability. In addition to classifying the terminals by the ability to receive signals, the terminals can also be classified by other parameters. In some special communication systems, the terminals can not need to be classified, and the embodiments of the present application do not specifically limit the classification method and whether the terminals are classified.

[0084] Further, each terminal can also be classified into multiple terminal categories (more than 2) according to the sensitivity as described above, and the embodiments of the present application do not make specific limitation thereon.

[0085] In a possible implementation, each terminal in each terminal category can be sorted by a proportional fair algorithm and an enhanced proportional fair algorithm.

[0086] (1) Proportional fair algorithm

[0087] The index value of each terminal is calculated by the formula M = r / R, where M is the index value, R is the average transmission rate of the terminal in a preset time period, and r is the instantaneous transmission rate of the terminal.

[0088] (2) Enhanced proportional fair algorithm

[0089] The index value of each terminal is calculated by the formula M = (100-P) r / R D, where M is the index value, R is the average transmission rate of the terminal in a preset time period, r is the instantaneous transmission rate of the terminal, P is the priority of the logical channel where the terminal is located, and D is the delay budget factor.

[0090] Specifically, sorting can be performed in descending order of the index value, and the higher the index value, the higher the priority.

[0091] In another possible implementation, in a scenario where the terminals are not classified, each terminal can be sorted directly in descending order of the index value.

[0092] For two terminals with the same index value, the terminal with a greater demand for the number of RBGs can be set to a higher priority.

[0093] After determining the allocation order of each time slot and the priority order of each terminal, the resource blocks to be allocated in each time slot are allocated to each terminal in the priority order and the allocation order.

[0094] It should be noted that for terminals with smaller reception capacity (i.e., lower sensitivity), the base station needs to increase the transmission power to send messages to the terminal, and increasing the transmission power requires resource blocks, so when allocating resource blocks to terminals with smaller sensitivity, resource blocks required for increasing the transmission power need to be reserved in advance. When allocating resource blocks to terminals, a terminal category can be determined first, specifically, the terminal category to which the terminal with the largest index value belongs can be selected, and then the terminals in the terminal category are allocated in the priority order, which is not limited here.

[0095] In the embodiment of the present application, first, the maximum number of RBGs available in each time slot in the current resource allocation period is summed up, and then the number of RBGs consumed in sending the synchronization information block, the system message block 1 and the system message block 2 is subtracted, and the remaining part is allocated to each terminal as the resource block to be allocated. It should be noted that, in order to ensure that the resource block allocated to the terminal is continuous, the "remaining part" is required to ensure the continuity of the spectrum as much as possible.

[0096] After the resource summary of each time slot is completed, the resource allocation process can be performed, in which the resource allocation of each time slot and each terminal is recorded in real time.

[0097] In a possible implementation, in order to record the resource allocation of each time slot and each terminal in real time, and to make the allocation process more explicit and clear, two lists are constructed in advance to record the allocation of each time slot and the current demand of each terminal. The allocation of each time slot can be as shown in Table 1 below.

[0098] Table 1

[0099] The current demand of each terminal can be as shown in Table 2 below.

[0100] Table 2

[0101] Further, the service type, channel state, resource demand, user category and the like of the terminal can also be recorded in Table 2 above, and the embodiment of the present application does not make specific limitation.

[0102] In addition, the embodiment of the present application also sets several parameters to represent the allocation of the resource block in the time slot and the information of the terminal. For example, T is set to represent the total number of resource blocks to be allocated, A is set to represent the time slot allocation scheme array, MV is set to represent the capacity of the knapsack corresponding to each time slot (i.e. the initial number of resource blocks to be allocated in each time slot), SC is set to represent the category of the terminal, SI is set to represent the current temporary resource allocation scheme of any time slot, MA is set to represent the maximum number of resource blocks that each category of terminal can receive, CV is set to represent the current temporary resource block allocation scheme of any terminal, and CI is set to represent the optimal resource block allocation scheme of any terminal. The embodiment of the present application does not make specific limitation on the representation form of the above parameters.

[0103] Since the resource allocation is performed according to the above allocation order and the above priority order, it is easy to obtain which time slot needs to be allocated and which terminal is currently allocated.

[0104] When it is determined that the resource blocks to be allocated in the current first time slot are needed to be allocated and the resource blocks needed by the first terminal are currently allocated, the allocation of the resource blocks to be allocated in the current first time slot includes any of the following cases.

[0105] (1) Some resource blocks in the first time slot are allocated to the first terminal, and some resource blocks are not allocated.

[0106] If there are resource blocks allocated to the first terminal and there are remaining resource blocks to be allocated in the first time slot, a second terminal whose number of resource blocks needed to complete data transmission is less than or equal to the number of the remaining resource blocks to be allocated is selected from the terminals that need to allocate resource blocks according to the priority order. The remaining resource blocks to be allocated are allocated to the second terminal.

[0107] Through the embodiments of the present application, it can be ensured that the resource blocks of one time slot are allocated to one terminal, that is, it is ensured that the resource blocks of different time slots are not allocated to the same terminal as much as possible, and it is ensured that the terminal completes data reception, decoding, and feedback operations in one time slot, which greatly reduces the round-trip delay and is suitable for time delay sensitive services such as real-time video call, automatic driving control instruction transmission, etc.

[0108] (2) There are no resource blocks allocated to the first terminal in the first time slot. (That is, all resource blocks in the first time slot are not allocated.)

[0109] When the resource blocks to be allocated in the first time slot are not allocated, the resource blocks to be allocated in the first time slot are allocated to the next terminal of the first terminal.

[0110] In a possible implementation, the number of resource blocks needed by the next terminal to complete data transmission is greater than the number of resource blocks to be allocated in the first time slot, at which time the demand of the next terminal is divided, and at least two consecutive time slots of resource blocks to be allocated are allocated to the next terminal; wherein the number of consecutive time slots is determined based on the number of resource blocks needed by the next terminal to complete data transmission and the number of resource blocks to be allocated in each time slot. The at least two consecutive time slots are based on the first time slot as the starting time slot.

[0111] The above allocation process is used for each time slot of resource blocks to be allocated and each terminal to be scheduled until the last time slot. If all the resource blocks to be allocated in the time slots are allocated in the current resource allocation period, and there are still terminals that have not been allocated resource blocks, the remaining terminals need to be arranged to the next resource allocation period.

[0112] In a possible implementation, according to the resource allocation method described above, if there are few remaining resource blocks in a time slot, and there are still terminals to be allocated resources, the remaining resource blocks in each time slot are summarized, and the remaining resource blocks are allocated to the terminals to be allocated resources.

[0113] The resource allocation scheme described above is executed before the resource allocation period arrives, and after the resource allocation period arrives, only the allocation scheme of the current time slot needs to be obtained from the cache (recorded allocation scheme of the time slot) and executed, and there is no need to repeatedly execute the complex multi-time slot joint scheduling calculation. The system realizes the lightweight operation mode of "one calculation, multi-time slot execution" through the preloaded allocation scheme, significantly reduces the frequency and overall computing power consumption of real-time scheduling calculation, and is especially suitable for satellite platforms and edge nodes with limited computing power, and improves the system response rate.

[0114] As shown in the application scenario shown in Figure 1 In the application scenario shown in

[0115] The embodiments of the present application introduce a multi-time slot scheduling mechanism to flexibly schedule resources in multiple consecutive time slots to improve the continuity of user service and the system throughput efficiency, in view of the characteristics of high-speed movement of satellites, limited beam resources, and dynamic changes in covered users.

[0116] S202: Send downlink control information to the terminal.

[0117] After resource allocation, when scheduling resources, the base station will issue downlink control information to each terminal, and the downlink control information includes a field indicating the number of consecutive time slots and resource block allocation information of the corresponding time slots. The downlink control information is issued through a physical downlink control channel. When the base station issues the downlink control information, it will be scrambled using the scrambling code corresponding to a certain terminal, and each terminal will use the scrambling code for descrambling. If the parsing is successful, it is determined that this downlink control information is for itself.

[0118] The field indicating the number of continuous time slots (i.e. multi-time slot scheduling indication field) is a newly added field based on the original downlink control information, occupying 3 bits, used to indicate the number of continuous time slots to which the current downlink control information applies. The field information is shown in Table 3 (adjustable). The base station can dynamically adjust the number of aggregated time slots according to the service demand and channel condition, so as to achieve the balance between flexibility and resource saving. In addition, this mechanism can also reduce the power consumption of the terminal, because the terminal does not need to decode the downlink control information in each time slot, but only needs to decode once when receiving the aggregated downlink control information to obtain the multiple time slot resource allocation information. For example, the base station sends downlink control information to terminal 1 in the first time slot, where the field is 001 (i.e. the first time slot and the next time slot of the first time slot, i.e. the resource block allocation information of the continuous 2 time slots is carried in the downlink control information), and the terminal can obtain the multiple time slots it needs by parsing the downlink control information, i.e. using the corresponding resource block to transmit data in the first time slot and using the corresponding resource block to transmit data in the second time slot, and the base station does not need to send downlink control information to the terminal in the second time slot.

[0119] Table 3

[0120] In the multi-time slot joint scheduling mechanism, when the field indicating the number of continuous time slots is 1, i.e. downlink control information will be sent in each time slot, as shown in Table 4, to inform the terminal of the resource allocation information of the time slot, it degenerates into the traditional single time slot scheduling mode, each time slot is independently allocated and scheduled resources, the scheduling frequency is high, the calculation is frequent, and the signaling overhead is large. When the field indicating the number of continuous time slots is greater than 1, the system completes the overall allocation of resources of multiple time slots in one scheduling period, as shown in Table 5 (from the k+1th time slot to the k+nth time slot), which reduces the scheduling frequency and control overhead, improves the resource utilization efficiency and system throughput. Figure 3 Figure 4

[0121] ​​For example, the base station determines to allocate the resource blocks within the k+1th time slot to the k+nth time slot to the terminal 1, sets the multi-time slot scheduling indication field when reaching the k+1th time slot, so that the number of the continuous time slots indicated by the multi-time slot scheduling indication field is n, and the base station generates the downlink control information based on the resource allocation information of the resource blocks within the k+1th time slot to the k+nth time slot according to the multi-time slot scheduling indication field. Since the base station sets the multi-time slot scheduling indication field, the base station will not send the downlink control information in the same direction to the terminal 1 within the n continuous time slots (up to the end of the k+nth time slot) after sending the downlink control information in the k+1th time slot. If the base station sends the downlink control information representing the uplink scheduling to the terminal 1 in the k+1th time slot, the base station will not send the downlink control information representing the uplink scheduling to the terminal 1 within the n continuous time slots.

[0122] In addition, the above field can also be dynamically adjusted according to the current service characteristics and user communication behavior of the system: in the scenario of large user service demand, high session persistence and good user stability, it is appropriate to use a larger number of joint time slots to fully improve the spectrum utilization rate, reduce the control signaling overhead, and at the same time avoid too high calculation complexity. In the scenario of small user service demand, dynamic user access and active burst service request, it is appropriate to use a smaller number of joint time slots to improve the rapid response ability of the communication system to new services, shorten the waiting delay, and improve the overall scheduling flexibility and real-time performance.

[0123] Compared with the traditional scheme, the embodiments of the present application have the following advantages in the control mechanism and algorithm design. Firstly, the multi-time slot is dynamically identified by the downlink control information. By adding a 3-bit multi-time slot scheduling indication field in the downlink control information format, the number of continuous time slots applicable to the current downlink control information can be indicated in real time. Secondly, the scheduling span and resource configuration can be dynamically determined by the base station scheduler according to the real-time service load and channel conditions without relying on the radio resource control preconfiguration, and the scheduling granularity and flexibility are greatly improved. In addition, the “one-time scheduling, multi-time slot multiplexing” mechanism greatly reduces the real-time scheduling calculation frequency, relieves the algorithm pressure, and is especially suitable for low algorithm power environments such as on-board satellites and edge base stations. The single downlink control information carries complete multi-time slot scheduling information, reduces the resource occupation of the physical downlink control channel, reduces the decoding pressure and power consumption of the terminal, and improves the efficiency of the system control channel.

[0124] The following is based on Figure 5 The overall flow of the resource allocation method provided by the embodiments of the present application is described.

[0125] S501: Determine the resource blocks to be allocated in each time slot. For different categories of terminals, the number of resource blocks that can be allocated is different.

[0126] S502: Filter the terminals with demand and determine the demand for each terminal. The specific demand can be determined through the implementation method in S201 above, and will not be repeated here.

[0127] S503: Determine the priority order of each terminal. The specific implementation can be carried out in the above-described S201, and will not be repeated here.

[0128] S504: Resource allocation using the multi-knapsack algorithm. The resource allocation method in S201 above can be called the multi-knapsack algorithm, which sets a "knapsack" for each time slot. The total capacity of the knapsack is the total amount of resource blocks that each time slot can provide for the current type of terminal. By "putting" the resource blocks allocated to any terminal into the knapsack, it indicates that some or all of the resource blocks in that time slot are allocated to any terminal.

[0129] S505: Calculate remaining resources and terminals with unmet needs. After allocating resource blocks for each time slot using the multi-knapsack algorithm, further calculate the remaining resource blocks and terminals with unmet needs within the time slot to improve resource utilization.

[0130] S506: Allocate remaining resources to terminals whose needs are not met.

[0131] S507: End the resource allocation for the current cycle.

[0132] S508: Obtain and apply the current time slot resource allocation scheme, which is allocated in the previous resource allocation cycle. Send downlink control information to the corresponding terminal in the corresponding time slot so that the terminal can transmit data according to the resource allocation scheme of the time slot contained in the downlink control information.

[0133] S509: Update terminal resource allocation status and update beam slot counter. (In cases such as...) Figure 1 In the satellite communication system shown, the beam slot counter increments by 1 after each time slot to indicate the procedures to be performed in each time slot. For example, if the base station needs to send downlink control information in time slot 4, when the beam slot counter is 3 (approaching 4), the base station can determine that it will send downlink control information in the next time slot.

[0134] S510: When the dwell time is the last time slot, delete the resource allocation scheme for the current period, in the case of... Figure 1The satellite communication system shown in the figure, the residence time is the last time slot, indicating that the next resource allocation period is about to enter, and the steps of S501~509 need to be performed in the next resource allocation period. Each terminal will complete data transmission according to the resource allocation scheme, and the resource allocation scheme of the current period can be deleted to release the base station storage resource. It should be noted that in the current resource allocation period, the terminals in the next resource allocation period are allocated at the same time, and the terminals in the current period are also scheduled. The resource allocation scheme of the time slot in the current period is allocated in the last resource allocation period.

[0135] S511: determining the completion of data transmission.

[0136] The specific process of the knapsack algorithm in S504 can be as shown in the figure. Figure 6

[0137] S601: obtaining the number of resource blocks to be allocated in the first time slot and the demand of the first terminal. According to the above allocation order (that is, the time order of the continuous multiple time slots) and the above priority order, the first time slot and the first terminal are determined.

[0138] S602: judging whether the number of resource blocks to be allocated in the first time slot is less than the demand of the first terminal, if yes, executing S604, otherwise executing S603.

[0139] S603: allocating the continuous resource blocks in the first time slot to the first terminal, which match the number of resource blocks required by the first terminal for transmission, and then ending.

[0140] S604: judging whether there is an already allocated resource block in the first time slot, if yes, executing S606, otherwise executing S605.

[0141] S605: allocating all the resource blocks to be allocated in the first time slot to the first terminal, and then ending.

[0142] S606: skipping the first terminal, and then ending.

[0143] The embodiments of the application abstract each time slot as a knapsack and abstract the user resource demand as a detachable article, realize cross-time slot resource integration allocation, maximize resource utilization rate and effectively alleviate the resource fragmentation problem. At the same time, combined with the single-type user grouping strategy, the quality of service conflict caused by different terminal capabilities in the same period is avoided, and the service guarantee capability and scheduling flexibility of the system in the multi-service, multi-terminal heterogeneous scene are improved.

[0144] The knapsack resource allocation algorithm will be described in detail based on specific embodiments.

[0145] ​For example, 10 continuous time slots are combined for resource allocation for 10 terminals (hereinafter referred to as terminals). Among them, terminal 8, terminal 2 and terminal 7 are large terminals (first terminal category), and terminal 1, terminal 3, terminal 4, terminal 5, terminal 6, terminal 9 and terminal 10 are small terminals (second terminal category). The number of sessions supported by the large terminal at the same time is greater than that of the small terminal, and the receiving capacity of the large terminal is greater than that of the small terminal.

[0146] The information of each terminal is shown in Table 4 as follows.

[0147] Table 4

[0148] The resource allocation process is as follows: Step 1: Determine the entry of the resource allocation period, initialize the beam time slot counter and the allocation record, and start the resource allocation process.

[0149] Step 2: Determine the number of RBGs required by each terminal to complete data transmission, and the results are shown in Table 5 as follows.

[0150] Table 5

[0151] Step 3: Determine the priority order of the above 10 terminals.

[0152] In a possible implementation, the priority order of the above 10 terminals can be determined according to the above index values, and the index value corresponding to each terminal is shown in Table 6 as follows.

[0153] Table 6

[0154] According to the index user priority ranking result: terminal 6> terminal 8> terminal 4> terminal 1> terminal 2> terminal 10> terminal 3> terminal 9> terminal 7> terminal 5.

[0155] Further, the above 10 terminals can also be divided into two categories (large terminals and small terminals) according to the receiving capacity of the terminal, and then sorted according to the index value in each category, that is, the large terminal user sorting is: terminal 8> terminal 2> terminal 7; The small terminal user sorting is: terminal 6> terminal 4> terminal 1> terminal 10> terminal 3> terminal 9> terminal 5, and the priority of the large terminal is higher than that of the small terminal. The final sorting is: terminal 8> terminal 2> terminal 7> terminal 6> terminal 4> terminal 1> terminal 10> terminal 3> terminal 9> terminal 5.

[0156] Step 4: aggregate the RBG resources in each time slot, and obtain the list of the maximum available time-frequency resources after deducting the occupied part of SSB, SIB1 and SIB2, as shown in Table 7 below. The RBGs corresponding to each time slot are continuous, and when performing resource allocation for a terminal, continuous RBGs are also allocated to the terminal.

[0157] Table 7

[0158] Step 5: perform resource allocation for each terminal according to the knapsack algorithm.

[0159] Each time slot corresponds to a knapsack, and the initial capacity of the knapsack is the maximum number of RBGs corresponding to the time slot, that is, 40. Each knapsack can also correspond to a table for recording the occupation of each RBG in each time slot, as shown in Table 1 above, and a table for recording the current demand of each terminal, as shown in Table 2 above.

[0160] In the order of priority: terminal 8 > terminal 2 > terminal 7 > terminal 6 > terminal 4 > terminal 1 > terminal 10 > terminal 3 > terminal 9 > terminal 5, and the allocation order is time slot 1 ~ time slot 10. For example, RBG resources are allocated to terminal 8 first, as shown in Table 5. The number of RBGs required by terminal 8 is 130, which is greater than 40, and no terminal in the large terminal category has been allocated resources. Therefore, the demand of terminal 8 is split according to the capacity of the knapsack, and 40, 40, 40 and 10 are obtained. The resources of the first three time slots are allocated to terminal 8, that is, the RBGs 1-40 in time slot 1, the RBGs 1-40 in time slot 2 and the RBGs 1-40 in time slot 3 are allocated to terminal 8. In the knapsacks of time slot 1, time slot 2 and time slot 3, 40 is put in, and the allocation of RBGs 1-40 in the knapsacks of time slot 1, time slot 2 and time slot 3 is updated to be allocated to terminal 8 (updated in the table as shown in Table 4 above), and the demand of terminal 8 is updated to be 10 (updated in the table as shown in Table 8 above).

[0161] The number of RBGs corresponding to time slot 4 (40) is greater than the current demand of terminal 8 (10), and the RBGs 1-10 corresponding to time slot 4 are allocated to terminal 8, that is, 10 is put into the knapsack of time slot 4, and the allocation of RBGs in the knapsack of time slot 4 is updated to be "RBGs 1-10 allocated to terminal 8", and the demand of terminal 8 is updated to be 0.

[0162] The RBG of 11-40 in time slot 4 has not been allocated, according to the priority order, the resource allocation for terminal 2 is continued, the number of RBG required by terminal 2 is 35, which is greater than the number of RBG remaining in time slot 4, and there is already allocated RBG in time slot 4, so terminal 2 is skipped, and the resource allocation for terminal 7 is continued, the number of RBG required by terminal 7 is 30, which is the same as the number of RBG remaining in time slot 4, so the RBG of 10-40 in time slot 4 is allocated to terminal 7, 30 is put into the knapsack of time slot 4, and the allocation of RBG in the knapsack of time slot 4 is updated as “the RBG allocated to terminal 7 is 10-40”; the current requirement of terminal 7 is updated as 0.

[0163] According to the priority order, the resource allocation for terminal 2 has not been completed, and the number of RBG in time slot 5 is greater than that of terminal 2, so the RBG of 1-35 in time slot 5 is allocated to terminal 2; 35 is put into the knapsack of time slot 5, and the allocation of RBG in the knapsack of time slot 5 is updated as “the RBG allocated to terminal 2 is 1-35”; the current requirement of terminal 2 is updated as 0.

[0164] The resource allocation for large terminals is completed, and the allocation scheme of terminal 8, terminal 2 and terminal 7 in the large terminal category is stored in the temporary optimal allocation scheme list for storing the current user category which is constructed in advance. The allocation for small terminals (terminal 6) is continued, the number of RBG remaining in time slot 5 is 5, which is less than the number of RBG required by terminal 6, and there is already allocated RBG in time slot 5, i.e. the allocation scheme of large terminals is stored, so the RBG of time slot 6 is directly used for the allocation for terminal 6.

[0165] Specifically, since the receiving capability of small terminals is limited, the base station needs to increase the power when transmitting messages to small terminals, and further consume resources, so the number of available RBG in time slot 6 is updated as 20 (20 RBG are continuous). The requirement of terminal 6 is 25, which is greater than 20, so the requirement of terminal 6 is split into 20 and 5, 20 is put into the knapsack of time slot 6, and the allocation of RBG in the knapsack of time slot 6 is updated as “the RBG allocated to terminal 6 is 1-20”, and the requirement of terminal 6 is updated as 5.

[0166] Similarly, the number of available RBG resources in time slot 7 is updated as 20 (continuous), the current requirement of terminal 6 is 5, which is less than 20, 5 is put into the knapsack of time slot 7, the allocation of RBG in the knapsack of time slot 7 is updated as “the RBG allocated to terminal 6 is 1-5”, and the requirement of terminal 6 is updated as 0.

[0167] The knapsack of time slot 7 still has 6-20 (15) RBGs left. According to the priority order, the resource is continued to be allocated to terminal 4, and the demand of terminal 4 is 18, which is greater than the remaining capacity, and there is already allocated RBG in time slot 7, so terminal 4 is skipped, and the resource is continued to be allocated to terminal 1, and the demand of terminal 1 is 15, so the knapsack of time slot 7 is allocated with 6-20 (15) RBGs, and 15 is put into the knapsack, and the allocation of the RBGs in the knapsack of time slot 7 is updated as “the RBGs allocated to terminal 1 are 6-20”, and the demand of terminal 1 is updated as 0.

[0168] The resource of time slot 8 is continued to be allocated to terminal 4, and the number of RBGs in time slot 8 is 20 (1-20), and the demand of terminal 4 is 18, which is less than 20, so the RBGs of 1-18 in time slot 8 are allocated to terminal 4, 18 is put into the knapsack of time slot 8, and the allocation of the RBGs in the knapsack of time slot 8 is updated as “the RBGs allocated to terminal 4 are 1-18”, and the demand of terminal 4 is updated as 0.

[0169] There are still 19-20 (2) RBGs left in time slot 8, and the resource is continued to be allocated to the remaining terminals, but the number of RBGs of the demands of terminal 10, terminal 3, terminal 9 and terminal 5 is greater than 2, and there is already allocated RBG in time slot 8, so the remaining terminals are skipped, and the resource is allocated by using the resource of time slot 9.

[0170] The number of RBGs in time slot 9 is 20, the demand of terminal 10 is 8 RBGs, which is less than 20, so 8 is put into the knapsack of time slot 9, and the allocation of the RBGs in the knapsack of time slot 9 is updated as “the RBGs allocated to terminal 10 are 1-8”, and the demand of terminal 10 is updated as 0.

[0171] There are still 9-20 (12) RBGs left in time slot 9, and the resource is continued to be allocated to terminal 3, and the demand of terminal 3 is 10, which is less than 12, so 10 is put into the knapsack of time slot 9, and the allocation of the RBGs in the knapsack of time slot 9 is updated as “the RBGs allocated to terminal 3 are 9-18”, and the demand of terminal 3 is updated as 0.

[0172] There are still 19-20 (2) RBGs left in time slot 9, and the demands of the remaining terminals are all greater than 2, and there is already allocated RBG in time slot 9, so the resource is allocated by using the RBGs of time slot 10. The current resource of time slot 10 includes 1-20 (20) RBGs, and the demand of terminal 9 is 12, which is less than 20, so 12 is put into the knapsack of time slot 10, and the allocation of the RBGs in the knapsack of time slot 10 is updated as “the RBGs allocated to terminal 9 are 1-12”, and the demand of terminal 9 is updated as 0.

[0173] There are still 13-20 (8) RBGs left in time slot 10, and the demand of terminal 6 is 10, which is greater than 8, so terminal 5 is not allocated.

[0174] The results of the above knapsack resource allocation algorithm are visualized as follows: Figure 7 As shown: Blank areas represent idle resources (not yet allocated). The horizontal axis represents ten time slots, and the vertical axis represents the RBG resource range. Specifically, RBGs in time slots 1-4 are allocated to terminal 8, RBG in time slot 4 is allocated to terminal 7, RBG in time slot 5 is allocated to terminal 2, RBGs in time slots 6-7 are allocated to terminal 6, RBG in time slot 7 is allocated to terminal 1, RBG in time slot 8 is allocated to terminal 4, RBG in time slot 9 is allocated to terminals 10 and 3, and RBG in time slot 10 is allocated to terminal 9.

[0175] After applying the multi-knapsack algorithm, the system performs statistics on remaining resources and unmet user needs. The remaining resource statistics show that time slot 5 has 5 RBG resources remaining, time slots 8 and 9 each have 2 RBG resources remaining, and time slot 10 has 8 RBG resources remaining. Figure 7 (Middle gray area). Statistics show that terminal 5 has not yet been allocated resources and requires 10 RBGs. Another round of fragmented resource allocation can be performed to fill this gap; 2 RBGs from time slot 9 and 8 RBGs from time slot 10 can be allocated to terminal 5, as follows: Figure 8 As shown.

[0176] To ensure resource continuity, the allocation scheme for time slot 10 is adjusted. Specifically, RBGs 19-20 in time slot 9 and 1-8 in time slot 10 are allocated to user 5, and RBGs 9-20 are allocated to terminal 9. Then, the occupancy status of RBGs 19-20 in time slot 9 is updated to "occupied by terminal 5," and the occupancy status of RBGs 1-8 in time slot 10 is updated to "occupied by terminal 5." The occupancy status of RBGs 9-20 in time slot 10 is also updated.

[0177] In the multi-backpack joint scheduling mechanism proposed in the application, the core optimization goal of the backpack algorithm is to maximize the revenue under the conditions of category constraints and user priority, that is, in each time slot resource allocation process, the scheme with the most total RBG occupation is preferentially selected, thereby improving the overall resource utilization and throughput efficiency of the system. The algorithm traverses different terminal categories in units of terminal categories in the backpack allocation process, and selects the terminal that can be maximally loaded into the current time slot capacity in each category, realizing the optimization of single time slot resource filling. The revenue-oriented allocation strategy ensures the lowest resource fragmentation rate and the highest scheduling revenue. On this basis, in order to consider the quality of service requirements of different service types and the long-term fairness of the system, the backpack algorithm can call multiple scheduling priority calculation functions (such as the proportional fairness algorithm / enhanced proportional fairness algorithm) under the framework of revenue maximization. For quality of service guarantee requirements, the system can use the enhanced proportional fairness algorithm for scheduling index calculation, to preferentially ensure the resource acquisition of high-priority services such as signaling, voice and other delay-sensitive services; and under the long-term fairness goal, the proportional fairness algorithm can be used to balance the throughput improvement and user fairness by comprehensively considering the instantaneous transmission rate and average throughput of users. Therefore, on the basis of revenue maximization, the backpack algorithm realizes the synergistic integration of quality of service guarantee and proportional fairness optimization goal through flexible selection of algorithm functions, and finally realizes the unified optimization of resource allocation efficiency, service experience and system fairness in the global range.

[0178] Step six: extract the allocation scheme of the current time slot from the multi-time slot allocation scheme, perform resource allocation, and update the demand state of the terminal. Since the allocation planning of multiple time slots has been completed, the subsequent time slots only need to directly read and execute the corresponding scheme from the cache without repeated calculation.

[0179] The multi-time slot aggregated downlink control information delivery mechanism can form a deep synergy with the multi-time slot joint lightweight scheduling algorithm, which is an innovative scheduling strategy to improve the resource utilization of 5G NR. The core idea is to allocate resources globally and uniformly in continuous multiple time slots, thereby significantly reducing scheduling calculation overhead and improving user experience. By integrating multiple time slots of uplink and downlink time-frequency resources in one scheduling period and using a multi-backpack optimization algorithm for joint scheduling, global optimal allocation of resources is achieved.

[0180] In the application scenario of the multi-slot resource allocation scheme, when the terminal 8 needs to perform data transmission for four consecutive time slots, the multi-slot downlink control information scheduling mechanism only needs to issue downlink control information once in the first time slot, and the terminal 8 can obtain the allocation of the resource blocks in the four time slots. Compared with the single-slot scheduling mechanism, the base station avoids issuing downlink control information in each time slot, and the terminal also needs to continuously monitor and decode the control information of each time slot. Although this way has higher scheduling granularity flexibility, the cost is a significant increase in the resource occupation rate of the physical downlink control channel, and also causes the terminal power consumption to rise. Compared with the single-slot aggregation scheduling mechanism, the multi-slot scheduling downlink control information can reduce the physical downlink control channel resource consumption while carrying the scheduling information of multiple time slots, and is particularly suitable for periodic or continuous data transmission scenarios.

[0181] In the application scenario of multi-slot resource allocation of the satellite communication system, compared with single-slot resource allocation, the throughput of the enhanced proportional fair algorithm system is improved by 42%, and the delay is reduced by 43%; the throughput is improved by 11% at a higher angle, the delay is reduced by 97%, the throughput is improved by 0.49% at a higher angle, and the delay is reduced by 48%. Multi-slot scheduling shows higher resource utilization, stronger service guarantee capability, higher system throughput and lower delay in handling multiple services and multiple terminal scenarios.

[0182] The present application, through the synergistic effect of multi-slot resource allocation and the knapsack algorithm, not only significantly reduces the computational overhead caused by frequent independent scheduling, but also fully utilizes the limited computing power and spectrum resources on the satellite, thereby greatly improving the overall system throughput and resource utilization. Through reasonable splitting and allocation of different priority and various business needs, the present application not only effectively reduces resource fragmentation, but also takes into account the diversified needs of terminals, ensuring the efficiency and flexibility of the scheduling process.

[0183] Based on the same inventive concept, the embodiment of the present application also provides a data transmission method applied to a terminal: sending a data transmission request to a base station, the data transmission request being used to instruct the base station to allocate resource blocks required for data transmission of the terminal; receiving downlink control information sent by the base station, the downlink control information including a multi-slot indication field; The multi-slot scheduling indication field is used to indicate the multiple time slots occupied by the terminal for transmitting data using the resource blocks. The above-mentioned allocated resource blocks are determined by the base station according to the determined frequency range and the number of resource blocks required by each terminal to complete data transmission. The frequency range is the frequency range to which the resource blocks to be allocated in each time slot within a plurality of consecutive time slots within a resource allocation period belong.

[0184] The data transmission method provided by the embodiment of the application breaks through the limitation of traditional single time slot independent scheduling, optimally allocates resources of multiple time slots, reduces the frequency and complexity of scheduling calculation, effectively reduces the consumption of base station calculation resources, and improves the resource utilization efficiency. Secondly, the application adopts a knapsack algorithm for cross-time slot joint optimization, which can flexibly split and combine user demand, reduce resource fragmentation, and also take into account system throughput, resource utilization and calculation load, to achieve a globally optimal scheduling scheme. Finally, the application constructs a large resource pool and allocates resources according to priority, ensures that the demand of high-priority users is met first, and supports fair scheduling of remaining resources, which improves the overall performance of the system while optimizing the user experience, and is suitable for large-scale low-orbit satellite communication systems with limited computing power on the satellite or resource-constrained ground communication networks.

[0185] In the third generation partnership project, joint scheduling of multiple time slots is also supported. In the standard, the multiple time slot scheduling mechanism is mainly realized through configuration control. First, the standard mainly uses radio resource control layer pre-configuration, allowing the parameters of multiple time slot scheduling to be predefined for users during radio resource control configuration. The base station sends all available time slot aggregation schemes through radio resource control signaling when the connection is established. Secondly, the standard has limited dynamicity. During each actual scheduling process, the downlink control information mainly selects the time domain resource allocation combination previously configured by the radio resource control to indicate through an index value, lacking temporary flexibility adjustment capability. If the business scenario or channel condition changes, the configuration parameters need to be reissued through radio resource control reconfiguration, increasing the control plane signaling burden and delay. In addition, the standard time slot aggregation granularity is limited, and the predefined scheme is limited by terminal capability, configuration complexity and control signaling length, and cannot support continuous large-scale dynamic aggregation.

[0186] Compared with the standard, the innovations of the application in the control mechanism and algorithm design are as follows: First, the downlink control information dynamically identifies multiple time slots: by adding a 3-bit multiple time slot scheduling indication field in the downlink control information format, the number of continuous time slots applicable to the current downlink control information can be indicated in real time (such as supporting flexible aggregation of 1, 2, 4, 8, 10, 12, 16 time slots); Second, flexible control on the full scheduling side: not dependent on radio resource control pre-configuration, the base station scheduler can dynamically determine the scheduling span and resource configuration according to real-time business load and channel conditions, greatly improving the scheduling granularity and flexibility; Moreover, lightweight scheduling architecture: adopting a "one-time scheduling, multiple time slot multiplexing" mechanism, which greatly reduces the real-time scheduling calculation frequency, relieves the computing power pressure, and is especially suitable for low-computing-power environments such as satellites on the satellite and edge base stations.

[0187] Finally, control signaling is simplified: a single downlink control information carries complete multi-slot scheduling information, reduces physical downlink control channel resource occupation, reduces terminal decoding pressure and power consumption, and improves system control channel efficiency.

[0188] Based on the same inventive concept, an embodiment of the present application provides a data transmission device applied to a base station, like Figure 9 as shown in the figure, the device comprises: An allocation module 901, configured to allocate resource blocks required by data transmission to a terminal based on a data transmission request sent by the terminal; A sending module 902, configured to send downlink control information to the terminal, wherein the downlink control information comprises a multi-slot scheduling indication field; The multi-slot scheduling indication field is used to indicate a plurality of time slots occupied by the terminal for data transmission using the resource blocks.

[0189] In a possible implementation, the plurality of time slots are continuous, and the allocation module 901 is configured to: allocate resource blocks to the terminal according to the number of resource blocks required by the terminal and the frequency range to which the resource blocks belong in the plurality of continuous time slots.

[0190] In a possible implementation, the allocation module 901 is configured to: allocate resource blocks required by data transmission to the terminal before the plurality of continuous time slots.

[0191] In a possible implementation, the allocation module 901 is configured to: allocate resource blocks in the plurality of continuous time slots to the terminal based on the time sequence of the plurality of continuous time slots and the priority order of the terminal, wherein the priority order represents the order of allocating resource blocks to the terminal.

[0192] In a possible implementation, the allocation module 901 is configured to: classify the terminal to obtain a first category of terminal and a second category of terminal, wherein the first category has a higher signal receiving capability than the second category; determine the priority order of the terminal in the first category according to the size order of the index value of the terminal in the first category, wherein the index value is determined based on the current instantaneous transmission rate and the average transmission rate in a preset time period of the terminal; determine the priority order of the terminal in the second category according to the size order of the index value of the terminal in the second category.

[0193] In a possible implementation, the allocation module 901 is configured to: determining that a resource block in the first time slot is currently needed to be allocated, and determining that the resource block needed by the first terminal is currently allocated, if there is a remaining unallocated resource block in the first time slot, then selecting a second terminal from the terminals according to the priority order, the number of resource blocks needed by the second terminal is not greater than the remaining unallocated resource block in the first time slot; allocating the remaining unallocated resource block to the second terminal.

[0194] In a possible implementation, the allocation module 901 is configured to: if the resource block in the first time slot is not allocated, allocating the resource block in the first time slot to a next terminal of the first terminal based on the priority order.

[0195] In a possible implementation, the allocation module 901 is configured to: if the number of resource blocks needed by the next terminal is greater than the number of resource blocks in the first time slot, determining a first number of continuous time slots needed by the next terminal, the first number being determined based on the number of resource blocks needed by the next terminal and the number of resource blocks in the first time slot; allocating the resource block in the first number of continuous time slots to the next terminal, and a start time slot in the first number of continuous time slots is the first time slot.

[0196] In a possible implementation, the terminal is located in a first region, the first region is a plurality of wave positions served by a first satellite beam, and the apparatus further includes a determination module configured to: determine a total number of continuous time slots based on a residence duration of the first satellite beam in each of the wave positions.

[0197] Based on the same inventive concept, an embodiment of the present application provides a data transmission apparatus applied to a terminal, the apparatus comprising: a sending request module configured to send a data transmission request to a base station, the data transmission request being used to instruct the base station to allocate a resource block needed by the terminal for data transmission; a receiving module configured to receive downlink control information sent by the base station, and the downlink control information comprises a multi-time slot indication field; The multi-time slot indication field is used to indicate a plurality of time slots occupied by the terminal when transmitting data by using the resource block.

[0198] Based on the same inventive concept, an embodiment of the present application further provides an electronic device, the electronic device comprising: At least one processor; and a memory connected with the at least one processor in communication; the memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor to enable the at least one processor to perform the data transmission method in the above embodiments.

[0199] As shown in Figure 10 The device 1000 includes a processor 1001, a memory 1002 and a communication interface 1003; an antenna 1005. Among them, the processor 1001, the memory 1002, the communication interface 1003 and the antenna 1105 are connected with each other through a bus 1004.

[0200] The processor 1001 is used to read the instructions in the memory 1002 and execute, so that the at least one processor can perform the data transmission method provided by the above embodiments.

[0201] The memory 1002 is used to store various instructions and programs of the data transmission method provided by the above embodiments.

[0202] The communication interface 1003 is used to enable the processor 1001 and other modules of the satellite to communicate.

[0203] The antenna 1005 is used to enable the satellite to communicate with the ground control station and the terminal located on the ground.

[0204] The processor 1001 can be a central processing unit (CPU), a network processor (NP), a graphic processing unit (GPU) or any combination of CPU, NP and GPU. It can also be a hardware chip. The hardware chip can be an application-specific integrated circuit (ASIC), a programmable logic device (PLD) or a combination thereof. The PLD can be a complex programmable logic device (CPLD), a field-programmable gate array (FPGA), a generic array logic (GAL) or any combination thereof.

[0205] Bus 1004 represents one or more of any of several types of bus structures, including a memory bus or memory controller, a peripheral bus, and a local bus using any of a variety of bus architectures.

[0206] Bus 1004 can be a peripheral component interconnect (PCI) bus or an extended industry standard architecture (EISA) bus. The bus can be a proprietary bus, e.g., extended industry standard architecture (EISA) bus, industry standard architecture (ISA) bus, Micro Channel Architecture (MCA) bus, etc. In this case, the bus can be represented by a number of separate buses, e.g., an address bus, a data bus, a control bus, etc. Figure 10 Although only one bus 1004 is shown, it should be understood that the bus 1004 can comprise any number of buses. Channel Architecture (MCA) bus, etc. In this case, the bus can be represented by a number of separate buses, e.g., an address bus, a data bus, a control bus, etc.

[0207] In some possible embodiments, each of the aspects of the data transmission method provided in the present application can also be implemented in the form of a program product, which includes program codes for causing a computer device to execute the steps of the data transmission method according to various example embodiments of the present application described above in the specification when the program product is run on the computer device.

[0208] In addition, the present application also provides a computer readable storage medium, which stores a computer program, and the computer program is used to cause a computer to execute the method described in any one of the above embodiments.

[0209] These computer program instructions can also be stored in a computer readable memory that can direct the computer or other programmable data processing devices to work in a specific manner, so that the instructions stored in the computer readable memory produce a product including an instruction device that implements the function specified in the flow Figure 1 one or more flows and / or blocks Figure 1 one or more blocks or multiple blocks.

[0210] These computer program instructions can also be loaded into a computer or other programmable data processing device, so that a series of operation steps are executed on the computer or other programmable device to produce a computer implemented process, so that the instructions executed on the computer or other programmable device provide steps for implementing the function specified in the flow Figure 1 one or more flows and / or blocks Figure 1 one or more blocks or multiple blocks.

[0211] While the preferred embodiments of the application have been described, additional variations and modifications can be made to these embodiments by those skilled in the art once they have the benefit of the present disclosure without departing from the spirit and scope of the application. Accordingly, it is intended that such additions and modifications be included within the scope of the application. It is the following claims, including any amendments thereto, which define the scope of the application.

[0212] Obviously, numerous modifications and variations of the present application are possible in light of the above teachings. It is therefore to be understood that within the scope of the appended claims and their equivalents, the application can be practiced otherwise than as specifically described.

Claims

1. A data transmission method, characterized in that, Applied to a base station, the method includes: Based on the data transmission request sent by the terminal, allocate the resource blocks required for data transmission to the terminal; Send downlink control information to the terminal, the downlink control information including a multi-slot scheduling indication field; The multi-timeslot scheduling indication field is used to indicate the multiple time slots occupied by the terminal for transmitting data using the resource block.

2. The method according to claim 1, characterized in that, The plurality of time slots are consecutive, and the allocation of resource blocks required for data transmission to the terminal includes: Resource blocks are allocated to the terminal according to the number of resource blocks required by the terminal and the frequency range to which the resource blocks belong within multiple consecutive time slots.

3. The method according to claim 2, characterized in that, The allocation of resource blocks required for data transmission to the terminal includes: Allocate the resource blocks required for data transmission to the terminal before the plurality of consecutive time slots.

4. The method according to claim 2, characterized in that, The allocation of resource blocks to the terminal includes: Based on the time sequence of the multiple consecutive time slots and the priority order of the terminals, resource blocks within the multiple consecutive time slots are allocated to the terminals, where the priority indicates the order in which the terminals allocate resource blocks.

5. The method according to claim 4, characterized in that, The priority order is determined in the following manner: The terminals are classified into a first category of terminals and a second category of terminals, wherein the first category of terminals has a greater signal receiving capability than the second category of terminals. The priority order of terminals in the first category is determined according to the magnitude of their indicator values. The indicator values ​​are determined based on the terminal's current instantaneous transmission rate and the average transmission rate over a preset time period. The priority order of terminals in the second category is determined according to the magnitude of their indicator values.

6. The method according to claim 4, characterized in that, The step of allocating resource blocks within the plurality of consecutive time slots to the terminal includes: If it is determined that resource blocks in the first time slot need to be allocated, and it is determined that the resource blocks required by the first terminal have been allocated, if there are remaining unallocated resource blocks in the first time slot, then a second terminal is selected from the terminals according to the priority order, and the number of resource blocks required by the second terminal is not greater than the number of remaining unallocated resource blocks in the first time slot. The remaining unallocated resource blocks are allocated to the second terminal.

7. The method according to claim 6, characterized in that, The method further includes: If none of the resource blocks in the first time slot are allocated, then based on the priority order, the resource blocks in the first time slot are allocated to the next terminal after the first terminal.

8. The method according to claim 7, characterized in that, The method further includes: If the number of resource blocks required by the next terminal is greater than the number of resource blocks in the first time slot, then a first number of consecutive time slots required by the next terminal is determined, the first number being determined based on the number of resource blocks required by the next terminal and the number of resource blocks in the first time slot; The resource blocks within the first number of consecutive time slots are allocated to the next terminal, wherein the starting time slot of the first number of consecutive time slots is the first time slot.

9. The method according to any one of claims 1 to 8, characterized in that, The terminal is located in a first region, which is a plurality of wavelengths served by a first satellite beam; the method further includes: The total number of consecutive time slots is determined based on the dwell time of the first satellite beam at each of the aforementioned positions.

10. A data transmission method, characterized in that, Applied to a terminal, the method includes: Send a data transmission request to the base station, the data transmission request being used to instruct the base station to allocate resource blocks required for data transmission to the terminal; Receive downlink control information sent by the base station, wherein the downlink control information includes a multi-slot indication field; The multi-timeslot scheduling indication field is used to indicate the multiple time slots occupied by the terminal for transmitting data using the resource block.

11. An electronic device, characterized in that, The device includes: At least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores instructions executable by the at least one processor to cause the at least one processor to perform the method as claimed in claims 1-9 or claim 10.