Time-frequency resource allocation method and device, program product, base station, and storage medium

By obtaining the parameters of resource blocks to be allocated and using idle resource records, combining arrays and linked lists to manage resource blocks, the problem of high complexity of time-frequency resource allocation in the existing technology is solved, and more efficient resource allocation is achieved, suitable for systems such as millimeter wave communication.

CN118828933BActive Publication Date: 2025-08-26SICHUAN CHUANGZHI LIANHENG TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202411213111.0
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-08-30
Publication Date
2025-08-26
Estimated Expiration
2044-08-30

AI Technical Summary

Technical Problem

The time-frequency resource allocation method in the prior art is of high complexity, which makes it difficult to efficiently schedule more terminals during the scheduling cycle, especially in the case where the scheduling cycle is shorter in the millimeter wave communication system.

Method used

By obtaining the parameters of the resource block to be allocated and using the parameters of the free resource block in the free resource record, the initial resource block that meets the resource allocation needs are quickly determined from the time-frequency space. After the allocation is completed, the remaining resource blocks are added to the free resource record, and resource management is carried out by combining arrays and linked lists.

Benefits of technology

It reduces the complexity of time-frequency resource allocation and improves the efficiency of resource allocation. It is especially suitable for systems with shorter scheduling cycles, such as millimeter wave communication, which can schedule more terminals in a shorter time.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN118828933B_ABST
    Figure CN118828933B_ABST
Patent Text Reader

Abstract

The present application provides a time-frequency resource allocation method and apparatus, a program product, a base station, and a storage medium. The method includes: obtaining a first resource block parameter corresponding to a resource block to be allocated; determining an initial resource block that meets resource allocation requirements from the idle resource blocks in the time-frequency space by comparing the first resource block parameter with a second resource block parameter in an idle resource record, wherein the idle resource record includes a second resource block parameter corresponding to the idle resource block; determining the resource block to be allocated from the initial resource block based on the first resource block parameter; removing the second resource block parameter corresponding to the initial resource block from the idle resource record; and if there are remaining time-frequency resources in the initial resource block in addition to the resource block to be allocated, adding the second resource block parameter corresponding to the remaining resource block formed by the remaining time-frequency resources to the idle resource record. Compared with the methods in the prior art, the method of using idle resource records to perform time-frequency resource allocation is less complex.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of communication technology, and in particular to a time-frequency resource allocation method and device, a program product, a base station, and a storage medium. Background Art

[0002] In existing technologies, air interface radio resource allocation includes time-frequency resource allocation. Time-frequency resources can generally be viewed as a rectangular grid, with time horizontally distributed (allocated once per Transmission Time Interval (TTI), with 12 or 14 symbols allocated within the slot each time) and vertically distributed (in resource blocks (RBs), with different frequency bands having different numbers of RBs). Time-frequency resource allocation involves allocating a contiguous segment of resources within the time-frequency resource grid (a symbols and b RBs, i.e., a time-frequency resource block) to a requester. Each requester may have different radio resource requirements, and resource allocation involves allocating the required time-frequency resources from the remaining idle time-frequency resources and marking the remaining idle resources.

[0003] Currently, time-frequency resource allocation can be performed using a bitmap approach. The bitmap consists of several bits, with each allocatable minimum resource block (1 symbol and 1 RB) corresponding to a bit in the bitmap. If the bit is 0, the minimum resource block is idle; if the bit is 1, it is allocated. Initially, the bitmap is all 0. Each time a time-frequency resource block is allocated, the corresponding bit in the bitmap is set to 1. The next time a time-frequency resource block is allocated, the block is selected from the area in the bitmap containing all 0 bits. This indicates that the complexity of existing time-frequency resource allocation methods is relatively high. Summary of the Invention

[0004] The purpose of the embodiments of the present application is to provide a time-frequency resource allocation method and apparatus, a program product, a base station, and a storage medium to solve the technical problem of high complexity of the time-frequency resource allocation method in the prior art.

[0005] In the first aspect, an embodiment of the present application provides a time-frequency resource allocation method, including: obtaining a first resource block parameter corresponding to a resource block to be allocated, wherein the first resource block parameter is used to describe the position information and / or size information of the resource block to be allocated in the time-frequency space; determining an initial resource block that meets the resource allocation requirements from the idle resource blocks in the time-frequency space by comparing the first resource block parameter with the second resource block parameter in the idle resource record, wherein the idle resource record includes a second resource block parameter corresponding to the idle resource block, and the second resource block parameter is used to describe the position information and / or size information of the idle resource block in the time-frequency space; determining the resource block to be allocated from the initial resource block according to the first resource block parameter; removing the second resource block parameter corresponding to the initial resource block from the idle resource record; if there are remaining time-frequency resources in the initial resource block in addition to the resource block to be allocated, adding the second resource block parameter corresponding to the remaining resource block formed by the remaining time-frequency resources to the idle resource record.

[0006] In the above scheme, the idle resource record can be used to record the idle resource blocks that are still available in the time-frequency space. Therefore, when allocating resource blocks, it is only necessary to match the appropriate initial resource block from the idle resource blocks recorded above; if the time-frequency resources included in the matched initial resource block are more than the resources currently required, then after the allocation is completed, the remaining resource blocks formed by the remaining time-frequency resources in the initial resource block can be added to the idle resource record so that the allocation of time-frequency resources can continue in the future. Compared with the time-frequency resource allocation method in the prior art, the method of allocating time-frequency resources using idle resource records provided in the embodiment of the present application is less complex, which is conducive to scheduling more terminals within the scheduling period, and is particularly suitable for systems with short scheduling periods such as millimeter wave communications.

[0007] In an optional embodiment, the first resource block parameters include a first symbol number and a first starting symbol, and the second resource block parameters include a second symbol number and a second starting symbol; the second starting symbol corresponding to the initial resource block is not greater than the first starting symbol, and the number of symbols from the first starting symbol to the ending symbol of the initial resource block is not less than the first symbol number, wherein the ending symbol is determined based on the second symbol number and the second starting symbol corresponding to the initial resource block. In the above scheme, the resource block parameters may include the number of symbols and the starting symbol, wherein the number of symbols is used to characterize the total number of symbols included in the resource block, and the starting symbol is used to characterize the first symbol in the resource block. The above two parameters can be used to quickly determine the target resource block from a large number of resource blocks, that is, the resource block to be allocated can be quickly determined from the idle resource record through the above two parameters, thereby improving the efficiency of time-frequency resource allocation and reducing the complexity of time-frequency resource allocation.

[0008] In an optional embodiment, the idle resource record includes an idle resource array, each array element corresponds to a second symbol quantity and is associated with an idle resource linked list, each linked list node represents an idle resource block, the second symbol quantity of the idle resource blocks corresponding to the linked list nodes in the same idle resource linked list is equal to the second symbol quantity corresponding to the array element associated with the idle resource linked list, and each linked list node stores at least the second starting symbol of the idle resource block corresponding to the linked list node. In the above scheme, the idle resource record can be represented by combining the two data structures of an array and a linked list. In this way, the target resource block can be quickly located by querying the array elements in the idle resource array and the linked list nodes in the idle resource linked list, thereby quickly determining the resource block to be allocated from the idle resource record, thereby improving the efficiency of time-frequency resource allocation and reducing the complexity of time-frequency resource allocation.

[0009] In an optional embodiment, the method of comparing the first resource block parameter with the second resource block parameter in the idle resource record to determine the initial resource block that meets the resource allocation requirements from the idle resource blocks in the time-frequency space includes: determining the idle resource linked list associated with the array element in the idle resource array whose corresponding second symbol quantity is not less than the first symbol quantity as a candidate linked list; accessing the candidate linked list in ascending order of the corresponding second symbol quantity, and for each candidate linked list accessed, accessing the linked list nodes therein in turn until a linked list node that meets the first condition is found, and determining the idle resource block corresponding to the linked list node as the initial resource block, wherein the first condition includes that the second starting symbol stored in the linked list node is not greater than the first starting symbol, and the number of symbols of the idle resource block corresponding to the linked list node from the first starting symbol to the end symbol is not less than the first symbol quantity. In the above scheme, by querying the array elements in the idle resource array, a candidate linked list that meets the symbol quantity can be determined from multiple idle resource linked lists; by querying the linked list nodes in the idle resource linked list, a linked list node that meets the first condition can be determined from multiple linked list nodes. The most appropriate initial resource block can be determined at the fastest speed by first determining the candidate linked list and then determining the linked list nodes, and accessing the candidate linked list in ascending order of the number of second symbols.

[0010] In an optional embodiment, the first resource block parameter further includes the first RB number, and the second resource block parameter further includes the second RB number; and / or, the first resource block parameter further includes the first starting RB, and the second resource block parameter further includes the second starting RB, wherein the second starting RB corresponding to the initial resource block is not greater than the first starting RB. In the above scheme, the resource block parameters may include the number of symbols, the starting symbol, the number of RBs and / or the starting RB, wherein the number of symbols is used to characterize the total number of symbols included in the resource block, and the starting symbol is used to characterize the first symbol in the resource block, the number of RBs is used to characterize the total number of RBs included in the resource block, and the starting RB is used to characterize the first RB in the resource block. The above three or four parameters can be used to quickly determine the target resource block from a large number of resource blocks, that is, the above three or four parameters can be used to quickly determine the resource block to be allocated from the idle resource record, thereby improving the efficiency of time-frequency resource allocation and reducing the complexity of time-frequency resource allocation.

[0011] In an optional embodiment, the idle resource record includes an idle resource array, each array element corresponds to a second symbol quantity and is associated with an idle resource linked list, each linked list node represents an idle resource block, and the second symbol quantity of the idle resource block corresponding to the linked list node in the same idle resource linked list is equal to the second symbol quantity corresponding to the array element associated with the idle resource linked list, and each linked list node stores at least the second starting symbol of the idle resource block corresponding to the linked list node, as well as at least one parameter of the second RB quantity and the second starting RB. In the above scheme, the idle resource record can be represented by combining the two data structures of an array and a linked list. In this way, the target resource block can be quickly located by querying the array elements in the idle resource array and the linked list nodes in the idle resource linked list, thereby quickly determining the resource block to be allocated from the idle resource record, thereby improving the efficiency of time-frequency resource allocation and reducing the complexity of time-frequency resource allocation.

[0012] In an optional embodiment, each linked list node stores at least the second starting symbol and the second RB quantity of the idle resource block corresponding to the linked list node, and the linked list nodes in the idle resource linked list are arranged in ascending order according to the second RB quantity; the initial resource block that meets the resource allocation requirements is determined from the idle resource blocks in the time-frequency space by comparing the first resource block parameter with the second resource block parameter in the idle resource record, including: determining a candidate linked list from the idle resource array according to the first symbol quantity, wherein the second symbol quantity corresponding to the candidate linked list is not less than the first symbol quantity; determining the initial resource block that meets the resource allocation requirements from the idle resource blocks in the time-frequency space according to the second symbol quantity The candidate linked list is accessed in ascending order, and for each candidate linked list accessed, the linked list nodes therein are accessed in sequence until a linked list node that meets the second condition is found, and the idle resource block corresponding to the linked list node is determined as the initial resource block, wherein the second condition includes that the second starting symbol stored in the linked list node is not greater than the first starting symbol, the number of symbols from the first starting symbol to the end symbol of the idle resource block corresponding to the linked list node is not less than the first number of symbols, and the absolute value of the difference between the second number of RBs stored in the linked list node and the first number of RBs is the smallest in the candidate linked list. In the above scheme, a candidate linked list that meets the symbol number can be determined from multiple idle resource linked lists by querying the array elements in the idle resource array; and a linked list node that meets the second condition can be determined from multiple linked list nodes by querying the linked list nodes in the idle resource linked list. The candidate linked list is determined first and then the linked list nodes are determined, and the candidate linked list is accessed in ascending order of the second symbol number, and the linked list nodes in the idle resource linked list are arranged in ascending order of the second RB number, so that the most suitable initial resource block can be determined as quickly as possible.

[0013] In an optional embodiment, the second resource block parameters corresponding to the remaining resource blocks formed by the remaining time-frequency resources are added to the idle resource record, including: determining the idle resource linked list associated with the array element whose corresponding second symbol quantity in the idle resource array is equal to the second symbol quantity corresponding to the remaining resource block as the linked list to be updated; creating a linked list node storing the second starting symbol and the second RB quantity corresponding to the remaining resource block, and inserting the linked list node into the linked list to be updated in order from small to large according to the second RB quantity. In the above scheme, after the time-frequency resource allocation is completed, the linked list nodes corresponding to the remaining resource blocks can be inserted into the linked list to be updated in order from small to large according to the second RB quantity, so as to facilitate access to the linked list nodes in order from small to large according to the second RB quantity in the subsequent time-frequency resource allocation process, so as to improve the efficiency of time-frequency resource allocation.

[0014] In an optional embodiment, each linked list node stores at least the second starting symbol and the second starting RB of the idle resource block corresponding to the linked list node; the initial resource block that meets the resource allocation requirements is determined from the idle resource blocks in the time-frequency space by comparing the first resource block parameter with the second resource block parameter in the idle resource record, including: determining a candidate linked list from the idle resource array according to the first symbol quantity, wherein the second symbol quantity corresponding to the candidate linked list is not less than the first symbol quantity; accessing the candidate linked list in ascending order of the second symbol quantity, for each candidate linked list accessed, accessing the linked list nodes therein in turn until a linked list node that meets the third condition is queried, and determining the idle resource block corresponding to the linked list node as the initial resource block, wherein the third condition includes that the second starting symbol stored in the linked list node is not greater than the first starting symbol, the number of symbols from the first starting symbol to the end symbol of the idle resource block corresponding to the linked list node is not less than the first symbol quantity, and the second starting RB stored in the linked list node is not greater than the first starting RB. In the above scheme, by querying array elements in the free resource array, a candidate linked list that meets the symbol quantity can be determined from multiple free resource linked lists; by querying linked list nodes in the free resource linked list, a linked list node that meets the third condition can be determined from multiple linked list nodes. Determining the candidate linked list first and then the linked list nodes, and accessing the candidate linked list in ascending order of the second symbol quantity, can quickly determine the most suitable initial resource block.

[0015] In an optional embodiment, the idle resource record includes an idle resource array, each array element corresponds to a second starting symbol and is associated with an idle resource linked list, each linked list node represents an idle resource block, the second starting symbols of the idle resource blocks corresponding to the linked list nodes in the same idle resource linked list are equal to the second starting symbols corresponding to the array elements associated with the idle resource linked list, and each linked list node stores at least the number of second symbols of the idle resource blocks corresponding to the linked list node. In the above scheme, the idle resource record can be represented by combining the two data structures of array and linked list. In this way, the target resource block can be quickly located by querying the array elements in the idle resource array and the linked list nodes in the idle resource linked list, thereby quickly determining the resource block to be allocated from the idle resource record, thereby improving the efficiency of time-frequency resource allocation and reducing the complexity of time-frequency resource allocation.

[0016] In an optional embodiment, the method of determining the resource blocks to be allocated from the initial resource blocks according to the first resource block parameters includes: determining the resource blocks to be allocated from the initial resource blocks according to the first resource block parameters and in accordance with the principle of minimizing the number of remaining resource blocks. In the above scheme, in the process of allocating time-frequency resources, allocation can be performed in accordance with the principle of minimizing the number of remaining resource blocks, thereby reducing the fragmentation of idle resource blocks and improving the utilization rate of time-frequency resources; in addition, since the number of remaining resource blocks is minimized, the number of idle resource blocks in the idle resource record does not increase significantly as resource allocation proceeds, thereby improving the efficiency of resource allocation.

[0017] In a second aspect, an embodiment of the present application provides a time-frequency resource allocation device, comprising: an acquisition module for acquiring a first resource block parameter corresponding to a resource block to be allocated, wherein the first resource block parameter is used to describe the position information and / or size information of the resource block to be allocated in the time-frequency space; a first determination module for determining an initial resource block that meets the resource allocation requirements from the idle resource blocks in the time-frequency space by comparing the first resource block parameter with the second resource block parameter in the idle resource record, wherein the idle resource record includes a second resource block parameter corresponding to the idle resource block, and the second resource block parameter is used to describe the position information and / or size information of the idle resource block in the time-frequency space; a second determination module for determining the resource block to be allocated from the initial resource block based on the first resource block parameter; a removal module for removing the second resource block parameter corresponding to the initial resource block from the idle resource record; and an adding module for adding the second resource block parameter corresponding to the remaining resource block formed by the remaining time-frequency resources to the idle resource record if there are remaining time-frequency resources in the initial resource block in addition to the resource block to be allocated.

[0018] In the above scheme, the idle resource record can be used to record the idle resource blocks that are still available in the time-frequency space. Therefore, when allocating resource blocks, it is only necessary to match the appropriate initial resource block from the idle resource blocks recorded above; if the time-frequency resources included in the matched initial resource block are more than the resources currently required, then after the allocation is completed, the remaining resource blocks formed by the remaining time-frequency resources in the initial resource block can be added to the idle resource record so that the allocation of time-frequency resources can continue in the future. Compared with the time-frequency resource allocation method in the prior art, the method of allocating time-frequency resources using idle resource records provided in the embodiment of the present application is less complex, which is conducive to scheduling more terminals within the scheduling period, and is particularly suitable for systems with short scheduling periods such as millimeter wave communications.

[0019] In an optional embodiment, the first resource block parameters include a first symbol number and a first starting symbol, and the second resource block parameters include a second symbol number and a second starting symbol; the second starting symbol corresponding to the initial resource block is not greater than the first starting symbol, and the number of symbols from the first starting symbol to the ending symbol of the initial resource block is not less than the first symbol number, wherein the ending symbol is determined based on the second symbol number and the second starting symbol corresponding to the initial resource block. In the above scheme, the resource block parameters may include the number of symbols and the starting symbol, wherein the number of symbols is used to characterize the total number of symbols included in the resource block, and the starting symbol is used to characterize the first symbol in the resource block. The above two parameters can be used to quickly determine the target resource block from a large number of resource blocks, that is, the resource block to be allocated can be quickly determined from the idle resource record through the above two parameters, thereby improving the efficiency of time-frequency resource allocation and reducing the complexity of time-frequency resource allocation.

[0020] In an optional embodiment, the idle resource record includes an idle resource array, each array element corresponds to a second symbol quantity and is associated with an idle resource linked list, each linked list node represents an idle resource block, the second symbol quantity of the idle resource blocks corresponding to the linked list nodes in the same idle resource linked list is equal to the second symbol quantity corresponding to the array element associated with the idle resource linked list, and each linked list node stores at least the second starting symbol of the idle resource block corresponding to the linked list node. In the above scheme, the idle resource record can be represented by combining the two data structures of an array and a linked list. In this way, the target resource block can be quickly located by querying the array elements in the idle resource array and the linked list nodes in the idle resource linked list, thereby quickly determining the resource block to be allocated from the idle resource record, thereby improving the efficiency of time-frequency resource allocation and reducing the complexity of time-frequency resource allocation.

[0021] In an optional embodiment, the first determination module is specifically configured to: determine the idle resource linked list associated with the array element in the idle resource array whose corresponding second symbol quantity is not less than the first symbol quantity as a candidate linked list; access the candidate linked list in ascending order of the corresponding second symbol quantity; for each candidate linked list accessed, sequentially access the linked list nodes therein until a linked list node that meets the first condition is found, and determine the idle resource block corresponding to the linked list node as the initial resource block, wherein the first condition includes that the second starting symbol stored in the linked list node is not greater than the first starting symbol, and the number of symbols between the first starting symbol and the end symbol of the idle resource block corresponding to the linked list node is not less than the first symbol quantity. In the above scheme, by querying the array elements in the idle resource array, a candidate linked list that meets the symbol quantity can be determined from multiple idle resource linked lists; by querying the linked list nodes in the idle resource linked list, a linked list node that meets the first condition can be determined from multiple linked list nodes. In particular, determining the candidate linked list first and then determining the linked list nodes, and accessing the candidate linked list in ascending order of the second symbol quantity can determine the most suitable initial resource block at the fastest speed.

[0022] In an optional embodiment, the first resource block parameter further includes the first RB number, and the second resource block parameter further includes the second RB number; and / or, the first resource block parameter further includes the first starting RB, and the second resource block parameter further includes the second starting RB, wherein the second starting RB corresponding to the initial resource block is not greater than the first starting RB. In the above scheme, the resource block parameters may include the number of symbols, the starting symbol, the number of RBs and / or the starting RB, wherein the number of symbols is used to characterize the total number of symbols included in the resource block, and the starting symbol is used to characterize the first symbol in the resource block, the number of RBs is used to characterize the total number of RBs included in the resource block, and the starting RB is used to characterize the first RB in the resource block. The above three or four parameters can be used to quickly determine the target resource block from a large number of resource blocks, that is, the above three or four parameters can be used to quickly determine the resource block to be allocated from the idle resource record, thereby improving the efficiency of time-frequency resource allocation and reducing the complexity of time-frequency resource allocation.

[0023] In an optional embodiment, the idle resource record includes an idle resource array, each array element corresponds to a second symbol quantity and is associated with an idle resource linked list, each linked list node represents an idle resource block, and the second symbol quantity of the idle resource block corresponding to the linked list node in the same idle resource linked list is equal to the second symbol quantity corresponding to the array element associated with the idle resource linked list, and each linked list node stores at least the second starting symbol of the idle resource block corresponding to the linked list node, as well as at least one parameter of the second RB quantity and the second starting RB. In the above scheme, the idle resource record can be represented by combining the two data structures of an array and a linked list. In this way, the target resource block can be quickly located by querying the array elements in the idle resource array and the linked list nodes in the idle resource linked list, thereby quickly determining the resource block to be allocated from the idle resource record, thereby improving the efficiency of time-frequency resource allocation and reducing the complexity of time-frequency resource allocation.

[0024] In an optional embodiment, each linked list node stores at least the second starting symbol and the second RB number of the idle resource block corresponding to the linked list node, and the linked list nodes in the idle resource linked list are arranged in ascending order according to the second RB number; the first determination module is specifically used to: determine a candidate linked list from the idle resource array according to the first symbol number, wherein the second symbol number corresponding to the candidate linked list is not less than the first symbol number; access the candidate linked list in ascending order according to the second symbol number, for each candidate linked list accessed, access the linked list nodes therein in turn until a linked list node that meets the second condition is queried, and determine the idle resource block corresponding to the linked list node as the initial resource block, wherein the second condition includes that the second starting symbol stored in the linked list node is not greater than the first starting symbol, the number of symbols of the idle resource block corresponding to the linked list node from the first starting symbol to the end symbol is not less than the first symbol number, and the absolute value of the difference between the second RB number stored in the linked list node and the first RB number is the smallest in the candidate linked list. In the above scheme, a candidate linked list that satisfies the symbol quantity can be determined from multiple free resource linked lists by querying array elements in the free resource array; and a linked list node that satisfies the second condition can be determined from multiple linked list nodes by querying the linked list nodes in the free resource linked list. Specifically, determining the candidate linked list first and then the linked list node, accessing the candidate linked list in ascending order of the second symbol quantity, and arranging the linked list nodes in the free resource linked list in ascending order of the second RB quantity can determine the most suitable initial resource block at the fastest speed.

[0025] In an optional embodiment, the adding module is specifically used to: determine the idle resource linked list associated with the array element whose corresponding second symbol quantity in the idle resource array is equal to the second symbol quantity corresponding to the remaining resource block as the linked list to be updated; create a linked list node storing the second starting symbol and the second RB quantity corresponding to the remaining resource block, and insert the linked list node into the linked list to be updated in order from the smallest to the largest of the second RB quantity. In the above scheme, after the current time-frequency resource allocation is completed, the linked list nodes corresponding to the remaining resource blocks can be inserted into the linked list to be updated in order from the smallest to the largest of the second RB quantity, so as to facilitate access to the linked list nodes in order from the smallest to the largest of the second RB quantity in the subsequent time-frequency resource allocation process, thereby improving the efficiency of time-frequency resource allocation.

[0026] In an optional embodiment, each linked list node stores at least the second starting symbol and the second starting RB of the idle resource block corresponding to the linked list node; the first determination module is specifically configured to: determine a candidate linked list from the idle resource array based on the first symbol quantity, wherein the second symbol quantity corresponding to the candidate linked list is not less than the first symbol quantity; access the candidate linked list in ascending order of the second symbol quantity, and for each candidate linked list accessed, sequentially access the linked list nodes therein until a linked list node that meets a third condition is found, and determine the idle resource block corresponding to the linked list node as the initial resource block, wherein the third condition includes that the second starting symbol stored in the linked list node is not greater than the first starting symbol, the number of symbols from the first starting symbol to the end symbol of the idle resource block corresponding to the linked list node is not less than the first symbol quantity, and the second starting RB stored in the linked list node is not greater than the first starting RB. In the above scheme, a candidate linked list that meets the symbol quantity can be determined from multiple idle resource linked lists by querying array elements in the idle resource array; and a linked list node that meets the third condition can be determined from multiple linked list nodes by querying linked list nodes in the idle resource linked list. The most appropriate initial resource block can be determined at the fastest speed by first determining the candidate linked list and then determining the linked list nodes, and accessing the candidate linked list in ascending order of the number of second symbols.

[0027] In an optional embodiment, the idle resource record includes an idle resource array, each array element corresponds to a second starting symbol and is associated with an idle resource linked list, each linked list node represents an idle resource block, the second starting symbols of the idle resource blocks corresponding to the linked list nodes in the same idle resource linked list are equal to the second starting symbols corresponding to the array elements associated with the idle resource linked list, and each linked list node stores at least the number of second symbols of the idle resource blocks corresponding to the linked list node. In the above scheme, the idle resource record can be represented by combining the two data structures of array and linked list. In this way, the target resource block can be quickly located by querying the array elements in the idle resource array and the linked list nodes in the idle resource linked list, thereby quickly determining the resource block to be allocated from the idle resource record, thereby improving the efficiency of time-frequency resource allocation and reducing the complexity of time-frequency resource allocation.

[0028] In an optional embodiment, the second determination module is specifically configured to: determine the resource blocks to be allocated from the initial resource blocks according to the first resource block parameters and in accordance with the principle of minimizing the number of the remaining resource blocks. In the above scheme, during the time-frequency resource allocation process, allocation can be performed in accordance with the principle of minimizing the number of the remaining resource blocks, thereby reducing the fragmentation of the idle resource blocks and improving the utilization rate of the time-frequency resources; in addition, since the number of the remaining resource blocks is minimized, the number of idle resource blocks in the idle resource record does not increase significantly as the resource allocation proceeds, thereby also improving the efficiency of resource allocation.

[0029] In a third aspect, an embodiment of the present application provides a computer program product, comprising computer program instructions, which, when read and executed by a processor, execute the time-frequency resource allocation method as described in the first aspect.

[0030] In a fourth aspect, an embodiment of the present application provides a base station, comprising: a memory, a processor, a signal transceiver, and a bus, wherein the memory stores computer program instructions, and when the computer program instructions are read and run by the processor, the time-frequency resource allocation method as described in the first aspect is executed.

[0031] In a fifth aspect, an embodiment of the present application provides a computer-readable storage medium, which stores computer program instructions. When the computer program instructions are executed by a computer, the computer executes the time-frequency resource allocation method as described in the first aspect.

[0032] In order to make the above-mentioned objects, features and advantages of the present application more obvious and easy to understand, the following specifically cites the embodiments of the present application and provides a detailed description in conjunction with the accompanying drawings. BRIEF DESCRIPTION OF THE DRAWINGS

[0033] In order to more clearly illustrate the technical solutions of the embodiments of the present application, the following is a brief introduction to the drawings required for use in the embodiments of the present application. It should be understood that the following drawings only show certain embodiments of the present application and therefore should not be regarded as limiting the scope. For ordinary technicians in this field, other relevant drawings can be obtained based on these drawings without creative work.

[0034] Figure 1 A wireless communication system that can be used to execute the time-frequency resource allocation method provided in the embodiment of the present application;

[0035] Figure 2 A flowchart of a time-frequency resource allocation method provided in an embodiment of the present application;

[0036] Figure 3 A schematic diagram of the structure of an idle resource record provided in an embodiment of the present application;

[0037] Figure 4 A schematic diagram of determining resource blocks to be allocated provided in an embodiment of the present application;

[0038] Figure 5 A schematic diagram of a second method of determining resource blocks to be allocated provided in an embodiment of the present application;

[0039] Figure 6 A schematic diagram of a third method for determining resource blocks to be allocated provided in an embodiment of the present application;

[0040] Figure 7 A schematic diagram of a fourth method for determining resource blocks to be allocated provided in an embodiment of the present application;

[0041] Figure 8 A structural block diagram of a time-frequency resource allocation device provided in an embodiment of the present application;

[0042] Figure 9 This is a structural block diagram of an electronic device provided in an embodiment of the present application. DETAILED DESCRIPTION

[0043] The technology described in the embodiments of the present application can be applied to wireless communication systems such as New Radio (NR) and Long Term Evolution (LTE), and can also be used in communication systems such as Code Division Multiple Access (CDMA), Time Division Multiple Access (TDMA), Frequency Division Multiple Access (FDMA), Orthogonal Frequency Division Multiple Access (OFDMA), Single-Carrier Frequency Division Multiple Access (SC-FDMA), and even communication systems that are still in the research stage, such as 6G communication systems, etc.

[0044] The techniques described in the embodiments of this application can be used in the systems and radio technologies mentioned above, as well as in other systems and radio technologies. In the following text, for simplicity, the scheme of this application is mainly explained using the 5G NR system as an example, and the terms used are mainly those in the 5G NR system. When the scheme is applied to other communication systems, the relevant terms can be replaced with similar concepts in other systems.

[0045] Please refer to Figure 1 , Figure 1 A wireless communication system 100 can be used to implement the time-frequency resource allocation method provided in an embodiment of the present application. The wireless communication system 100 includes a terminal 110 and a base station 120, both of which can be multiple. It should be understood that the wireless communication system 100 may also include other components, such as core network equipment, Figure 1 The devices shown are mainly related to air interface resource scheduling.

[0046] The terminal 110 may be a terminal-side device such as a mobile phone, tablet computer, laptop computer, personal computer, personal digital assistant, wearable device, vehicle-mounted device, etc. The terminal 110 may be a fixed-position device or a movable device.

[0047] Base station 120 can be a terrestrial base station and / or a satellite base station. That is, the wireless communication system 100 does not necessarily need to include both types of base stations. For example, a satellite communication system can include both types of base stations, while a terrestrial millimeter wave system can include only terrestrial base stations. It should be noted that in the field of communications, a base station can be referred to as a Node B (NB), an evolved Node B (eNB), an access point, a base transceiver station (BTS), a radio base station, a radio transceiver, a basic service set (BSS), an extended service set (ESS), or other appropriate terms in the field. As long as the same technical effect is achieved, the term "base station" is not limited to a specific technical term.

[0048] Terminal 110 can access base station 120, communicate with base station 120, and then communicate with other terminals 110 through base station 120 and possible core network equipment, for example, to implement voice calls, file transfers, etc. In other words, wireless communication system 100 can, but is not limited to, enabling communication between different terminals 110.

[0049] In wireless communication system 100, one of the main tasks of base station 120 is to schedule connected terminals 110. This involves allocating and managing radio resources used by terminals 110, including time resources and frequency resources. In the 5G NR protocol stack, scheduling can be performed at the MAC layer. After scheduling is complete, terminal 110 uses the allocated radio resources for uplink or downlink communications with base station 120 based on the scheduling results.

[0050] For 5G NR systems, scheduling is repeated on a TTI basis. Within each TTI, the base station 120 schedules the terminals 110 connected to the base station 120. Possible TTI values ​​include 1ms, 0.5ms, and 0.25ms. Shorter TTIs can provide faster scheduling response times, higher frequency reuse, and more refined resource allocation, helping to improve system capacity and throughput. Longer TTIs can reduce scheduling overhead and the amount of control signaling, helping to reduce system complexity and power consumption. In 5G NR systems, the TTI length is typically set to 1ms, but flexible configuration of the TTI length is also supported. For example, in millimeter wave systems, the TTI can be configured to 0.125ms. However, existing technologies do not provide a good solution for scheduling a large number of terminals 110 within such a short time.

[0051] The inventors have found through long-term research that one of the reasons for the poor scheduling performance of the existing technology is that within each TTI, the base station has a high complexity in allocating time-frequency resources to the terminal, resulting in low allocation efficiency. Based on the above reasons, the time-frequency resource allocation method, program product, base station, and storage medium provided in the embodiments of the present application can record the allocable time-frequency resources according to the granularity of free resource blocks, rather than the granularity of the minimum resource block. Therefore, when allocating time-frequency resources, only a few parameter comparisons are required to complete the allocation, and the complexity of the allocation process is relatively low.

[0052] The specific content of the solution will be introduced later. In addition, it should be pointed out that in addition to the solution itself, the above analysis of the reasons for the poor scheduling performance of existing communication systems is also the inventor's contribution to this application, rather than a conclusion already existing in the prior art. The technical solution in the embodiment of this application will be described below in conjunction with the drawings in the embodiment of this application.

[0053] Please refer to Figure 2 , Figure 2 This is a flow chart of a method for allocating time-frequency resources provided in an embodiment of the present application. The method can be, but is not limited to, executed by a base station in a wireless communication system. The wireless communication system can be Figure 1 The wireless communication system 100 in the embodiment of the present invention can be a base station in the wireless communication system. Figure 1 The base station 120 in the embodiment may have Figure 1 For the 5G NR protocol stack, the method can be performed at the MAC layer. The time-frequency resource allocation method may include the following steps:

[0054] Step S201: Acquire a first resource block parameter corresponding to a resource block to be allocated, wherein the first resource block parameter is used to describe position information and / or size information of the resource block to be allocated in a time-frequency space.

[0055] Step S202: Determine an initial resource block that meets the resource allocation requirements from the idle resource blocks in the time-frequency space by comparing the first resource block parameter with the second resource block parameter in the idle resource record, wherein the idle resource record includes the second resource block parameter corresponding to the idle resource block, and the second resource block parameter is used to describe the position information and / or size information of the idle resource block in the time-frequency space.

[0056] Step S203: Determine a resource block to be allocated from the initial resource block according to the first resource block parameter.

[0057] Step S204: remove the second resource block parameter corresponding to the initial resource block from the idle resource record.

[0058] Step S205: If there are remaining time-frequency resources in the initial resource block except the resource block to be allocated, the second resource block parameters corresponding to the remaining resource blocks formed by the remaining time-frequency resources are added to the idle resource record.

[0059] Specifically, in the above step S201, the resource block to be allocated refers to the time-frequency resources that need to be allocated to the data transmission in order to support the subsequent data transmission, which includes at least one symbol and at least one RB.

[0060] The first resource block parameter is used to describe the position information of the resource block to be allocated in the time-frequency space, for example: one or more of the parameters such as the starting symbol corresponding to the resource block to be allocated, the starting RB corresponding to the resource block to be allocated, etc.; or, the first resource block parameter is used to describe the size information of the resource block to be allocated in the time-frequency space, for example: one or more of the parameters such as the number of symbols corresponding to the resource block to be allocated, the number of RBs corresponding to the resource block to be allocated, the starting symbol and the ending symbol corresponding to the resource block to be allocated, the starting RB and the ending RB corresponding to the resource block to be allocated, etc.; or, the first resource block parameter is used to describe the position information and size information of the resource block to be allocated in the time-frequency space.

[0061] The time-frequency space includes two dimensions, namely the time dimension and the frequency dimension; wherein the time dimension can be represented by the number of symbols, and the frequency dimension can be represented by the number of RBs. It can be understood that the time-frequency space described in the embodiment of the present application is not an infinite space. Since resource scheduling is performed in a TTI cycle, the time-frequency space in this step can be understood as the time-frequency space within a TTI. It can be understood that steps S201 to S205 can be repeated in each TTI, and after each TTI ends, the idle resource record can be cleared.

[0062] It should be noted that the embodiments of the present application do not specifically limit the specific implementation method for obtaining the first resource block parameters corresponding to the resource block to be allocated in step S201, and those skilled in the art may make appropriate adjustments based on actual circumstances. For example, during downlink data transmission, the base station may determine the first resource block parameters based on the amount of data it needs to transmit to the terminal; or, during uplink data transmission, the base station may receive the amount of data to be transmitted from the terminal and determine the first resource block parameters based on the amount of data, etc.

[0063] In the above step S202, the idle resource record includes a second resource block parameter corresponding to the idle resource block. The idle resource block refers to a time-frequency resource that is not allocated in the time-frequency space, which also includes multiple symbols and multiple RBs. It should be noted that the embodiment of the present application does not specifically limit the specific implementation of the above idle resource record, and those skilled in the art can make appropriate adjustments based on actual conditions. For example, the idle resource record can be implemented by a data structure such as an array, a linked list, a hash table, a tree, or a combination thereof. An example of implementation through a combination of an array and a linked list will be given later.

[0064] The second resource block parameter is used to describe the position information of the idle resource block in the time-frequency space, for example: one or more of the parameters such as the starting symbol corresponding to the idle resource block, the starting RB corresponding to the idle resource block, etc.; or, the second resource block parameter is used to describe the size information of the idle resource block in the time-frequency space, for example: one or more of the parameters such as the number of symbols corresponding to the idle resource block, the number of RBs corresponding to the idle resource block, the starting symbol and the ending symbol corresponding to the idle resource block, the starting RB and the ending RB corresponding to the idle resource block, etc.; or, the second resource block parameter is used to describe the position information and size information of the idle resource block in the time-frequency space.

[0065] Generally, there are multiple idle resource blocks in the time-frequency space, so it is necessary to determine an initial resource block that meets the resource allocation requirements from the multiple idle resource blocks, so that the resource blocks to be allocated can be further determined based on the initial resource block.

[0066] Among them, meeting the resource allocation requirements means that the position information of the idle resource block matches the position information of the resource block to be allocated; or, meeting the resource allocation requirements means that the size information of the idle resource block matches the size information of the resource block to be allocated; or, meeting the resource allocation requirements means that the position information of the idle resource block matches the position information of the resource block to be allocated, and the size information of the idle resource block matches the size information of the resource block to be allocated.

[0067] It should be noted that the aforementioned "match" can, but does not necessarily, mean exact identicalness. For example, a match between the position information of an idle resource block and the position information of a resource block to be allocated can indicate that the idle resource block includes the starting symbol or starting RB of the resource block to be allocated; or a match between the size information of an idle resource block and the size information of a resource block to be allocated can indicate that the idle resource block is larger than the resource block to be allocated, thereby enabling the resource block to be allocated to be extracted from the idle resource block.

[0068] It can be understood that when the number of idle resource blocks in the time-frequency space is 0, the initial resource block cannot be determined at this time; when the number of idle resource blocks in the time-frequency space is 1, it can be judged whether the idle resource block meets the resource allocation requirements. If it does, the idle resource block can be determined as the initial resource block, otherwise the initial resource block cannot be determined.

[0069] In step S203, since the size of the initial resource block may be larger than the size of the resource block to be allocated, the resource block to be allocated may be determined from the initial resource block based on the first resource block parameter. It should be noted that the embodiments of the present application do not impose any specific limitations on the specific implementation method for determining the resource block to be allocated from the initial resource block, and those skilled in the art may make appropriate adjustments based on actual circumstances. For example, a resource block that meets the size information of the resource block to be allocated may be determined from the initial resource block; or a resource block that meets the location information of the allocated resource block may be determined from the initial resource block, etc.

[0070] It can be understood that if the size of the initial resource block is determined to be equal to the size of the resource block to be allocated by comparing the first resource block parameters corresponding to the resource block to be allocated and the second resource block parameters corresponding to the initial resource block, the initial resource block can be directly determined as the resource block to be allocated.

[0071] In the above steps S204-S205, after the resource block to be allocated is determined, the resource block is no longer an idle resource block, so the idle resource record needs to be updated. First, the second resource block parameter corresponding to the initial resource block can be removed from the idle resource record; then, it can be determined whether there are any remaining time-frequency resources in the initial resource block except for the resource block to be allocated; if there are no remaining time-frequency resources in the initial resource block except for the resource block to be allocated, the update can be ended; if there are any remaining time-frequency resources in the initial resource block except for the resource block to be allocated, the second resource block parameter corresponding to the remaining resource block formed by the remaining time-frequency resources can be added to the idle resource record, and then the update can be ended. It can be understood that the remaining resource block at this time is the new idle resource block.

[0072] In the above scheme, the idle resource record can be used to record the idle resource blocks that are still available in the time-frequency space. Therefore, when allocating resource blocks, it is only necessary to match the appropriate initial resource block from the idle resource blocks recorded above; if the time-frequency resources included in the matched initial resource block are more than the resources currently required, then after the allocation is completed, the remaining resource blocks formed by the remaining time-frequency resources in the initial resource block can be added to the idle resource record so that the time-frequency resources can be allocated later. Compared with the time-frequency resource allocation method in the prior art, the method of allocating time-frequency resources using idle resource records provided in the embodiment of the present application records the allocable time-frequency resources according to the granularity of the idle resource block, rather than the granularity of the minimum resource block (1 symbol and 1 RB). Therefore, when allocating time-frequency resources, only a few parameter comparisons are needed to complete the allocation. The complexity of the allocation process is low, which is conducive to scheduling more terminals within the scheduling period. It is particularly suitable for systems with short scheduling periods such as millimeter wave communications.

[0073] Furthermore, the embodiment of the present application does not specifically limit the specific implementation of the first resource block parameter in the above step S201 and the specific implementation of the second resource block parameter in the above step S202.

[0074] The following is an introduction to the specific implementation methods of the first resource block parameters and the second resource block parameters in the four cases provided in the embodiments of the present application: in the first case, the first resource block parameters may include the number of first symbols and the first starting symbol, and the second resource block parameters include the number of second symbols and the second starting symbol; in the second case, the first resource block parameters may include the number of first symbols, the first starting symbol and the number of first RBs, and the second resource block parameters may include the number of second symbols, the second starting symbol and the second number of RBs; in the third case, the first resource block parameters may include the number of first symbols, the first starting symbol and the first starting RB, and the second resource block parameters may include the number of second symbols, the second starting symbol and the second starting RB; in the fourth case, the first resource block parameters may include the number of first symbols, the first starting symbol, the number of first RBs and the first starting RB, and the second resource block parameters may include the number of second symbols, the second starting symbol, the number of second RBs and the second starting RB.

[0075] The specific implementations of step S202 in the above four cases are introduced below.

[0076] In the first case, the first resource block parameters may include a first number of symbols and a first starting symbol, and the second resource block parameters may include a second number of symbols and a second starting symbol. In this case, the second resource block parameters corresponding to the initial resource block need to meet the following conditions: the second starting symbol corresponding to the initial resource block is not greater than the first starting symbol, and the number of symbols from the first starting symbol to the end symbol of the initial resource block is not less than the first number of symbols, wherein the end symbol is determined based on the second number of symbols corresponding to the initial resource block and the second starting symbol.

[0077] As an implementation, the end symbol can be obtained by adding the second symbol quantity to the second start symbol corresponding to the initial resource block. For example, assuming that the second start symbol is 4 and the second symbol quantity is 10, the end symbol can be determined to be 14.

[0078] Taking the implementation of idle resource records through a combination of arrays and linked lists as an example, the structure of an idle resource record provided in an embodiment of the present application is introduced: the idle resource record may include an idle resource array, each array element corresponds to a second symbol quantity and is associated with an idle resource linked list, wherein the array element associated with the idle resource linked list can refer to the array element pointing to the idle resource linked list, or it can refer to the data element being an object representing the idle resource linked list; each linked list node represents an idle resource block, and the second symbol quantity of the idle resource blocks corresponding to the linked list nodes in the same idle resource linked list is equal to the second symbol quantity corresponding to the array element associated with the idle resource linked list, and each linked list node stores at least the second starting symbol of the idle resource block corresponding to the linked list node.

[0079] Please refer to Figure 3 , Figure 3 A schematic diagram of the structure of an idle resource record provided in an embodiment of the present application. The idle resource record includes an idle resource array, where each array element corresponds to a second symbol number (Symbolnum). The idle resource array includes 14 array elements, each corresponding to Symbolnum 1 through Symbolnum 14, where Symbolnum n indicates that the second symbol number corresponding to the array element is n. Furthermore, in this embodiment of the present application, the array elements in the idle resource array can be arranged in ascending order according to the corresponding second symbol numbers.

[0080] Each array element is respectively associated with an idle resource linked list, each linked list node represents an idle resource block, and each linked list node stores at least the second starting symbol of the idle resource block corresponding to the linked list node.

[0081] Among them, the idle resource linked list associated with array element Symbolnum 3 includes 2 linked list nodes, which correspond to idle resource block 1 and idle resource block 2 respectively, and the number of second symbols corresponding to these two idle resource blocks is 3; the idle resource linked list associated with array element Symbolnum 7 includes 1 linked list node, which corresponds to idle resource block 3, and the number of second symbols corresponding to this idle resource block is 7; the idle resource linked list associated with array element Symbolnum 13 includes 3 linked list nodes, which correspond to idle resource block 4, idle resource block 5 and idle resource block 6 respectively, and the number of second symbols corresponding to these three idle resource blocks is 13; the idle resource linked lists associated with other array elements are empty linked lists.

[0082] Therefore, the idle resource records can be represented by combining the two data structures of array and linked list. In this way, the target resource block can be quickly located by querying the array elements in the idle resource array and the linked list nodes in the idle resource linked list, thereby quickly determining the resource block to be allocated from the idle resource records, thereby improving the efficiency of time-frequency resource allocation and reducing the complexity of time-frequency resource allocation.

[0083] Based on the above idle resource record, step S202 in the embodiment of the present application may specifically include the following steps:

[0084] In step 1, the idle resource linked list associated with the array element in the idle resource array whose corresponding second symbol quantity is not less than the first symbol quantity is determined as a candidate linked list.

[0085] Step 2) Access the candidate linked list in ascending order of the corresponding second symbol quantity. For each candidate linked list accessed, access the linked list nodes therein in turn until a linked list node that meets the first condition is queried, and determine the idle resource block corresponding to the linked list node as the initial resource block, wherein the first condition includes that the second starting symbol stored in the linked list node is not greater than the first starting symbol, and the number of symbols in the idle resource block corresponding to the linked list node from the first starting symbol to the end symbol is not less than the first symbol number.

[0086] Below Figure 3 Taking the idle resource record shown as an example, the above steps 1) to 2) are introduced. Assuming that the number of first symbols corresponding to the resource block to be allocated is 12 and the first starting symbol corresponding to the resource block to be allocated is 4, then:

[0087] First, the idle resource linked list associated with the array element whose corresponding second symbol number is not less than 12 in the idle resource array is determined as the candidate linked list, that is, the candidate linked list includes the idle resource linked list associated with the array element Symbolnum 12, the idle resource linked list associated with the array element Symbolnum 13, and the idle resource linked list associated with the array element Symbolnum 14.

[0088] Then, the idle resource linked list associated with the array element Symbolnum 12 is accessed. Since the idle resource linked list is an empty linked list, there is no linked list node that meets the first condition in the idle resource linked list.

[0089] Next, access the idle resource linked list associated with the array element Symbolnum 13: first access the linked list node corresponding to the idle resource block 4 in the idle resource linked list, and judge whether the second starting symbol stored in the linked list node is not greater than the first starting symbol. If the second starting symbol stored in the linked list node is greater than the first starting symbol, it means that the linked list node does not meet the first condition; then access the linked list node corresponding to the idle resource block 5 in the idle resource linked list, and judge whether the second starting symbol stored in the linked list node is not greater than the first starting symbol. If the second starting symbol stored in the linked list node is not greater than the first starting symbol, then judge whether the number of symbols from the first starting symbol to the end symbol of the idle resource block 5 is not less than the first symbol number. If the idle resource block 5 If the number of symbols from the first starting symbol to the ending symbol is less than the first number of symbols, it means that the linked list node does not meet the first condition; next, access the linked list node corresponding to the idle resource block 6 in the idle resource linked list to determine whether the second starting symbol stored in the linked list node is not greater than the first starting symbol. If the second starting symbol stored in the linked list node is not greater than the first starting symbol, determine whether the number of symbols from the first starting symbol to the ending symbol of the idle resource block 6 is not less than the first number of symbols. If the number of symbols from the first starting symbol to the ending symbol of the idle resource block 6 is not less than the first number of symbols, it means that the linked list node meets the first condition, and the idle resource block 6 can be determined as the initial resource block.

[0090] At this time, after idle resource block 6, if there are idle resource blocks corresponding to other linked list nodes in the idle resource linked list associated with array element Symbolnum 13, access to the remaining idle resource blocks can be skipped; similarly, after the idle resource linked list associated with array element Symbolnum 13, if there are idle resource linked lists associated with other array elements, access to the remaining idle resource linked lists can also be skipped. That is, only one initial resource block that meets the requirements needs to be found. In the above scheme, by querying the array elements in the idle resource array, a candidate linked list that meets the symbol quantity can be determined from multiple idle resource linked lists; by querying the linked list nodes in the idle resource linked list, a linked list node that meets the first condition can be determined from multiple linked list nodes. Among them, determining the candidate linked list first and then determining the linked list node, and accessing the candidate linked list in the order of the second symbol quantity from small to large can determine the most suitable initial resource block at the fastest speed.

[0091] Furthermore, based on the above embodiment, the above step S205 may specifically include the following steps:

[0092] Step 1) determining the idle resource linked list associated with the array element whose corresponding second symbol quantity in the idle resource array is equal to the second symbol quantity corresponding to the remaining resource block as the linked list to be updated.

[0093] Step 2) Create a linked list node storing the second starting symbol corresponding to the remaining resource blocks, and insert the linked list node into the linked list to be updated.

[0094] Specifically, in the above step 1), assuming that the number of second symbols corresponding to the remaining resource blocks is 7, the idle resource linked list associated with the array element Symbolnum 7 is determined as the linked list to be updated.

[0095] In the second case, the first resource block parameters may include the first number of symbols, the first starting symbol, and the first number of RBs, and the second resource block parameters may include the second number of symbols, the second starting symbol, and the second number of RBs. In this case, the second resource block parameters corresponding to the initial resource block need to meet the following conditions: the second starting symbol corresponding to the initial resource block is not greater than the first starting symbol, and the number of symbols from the first starting symbol to the end symbol of the initial resource block is not less than the first number of symbols.

[0096] It is understandable that, since the number of RBs included in the time-frequency resources used by the base station and the terminal during data transmission can be greater than, less than, or equal to the number of RBs required for data transmission, the number of RBs corresponding to the resource blocks to be transmitted may not be limited during the time-frequency resource allocation process. However, in order to reduce the number of data transmissions, an idle resource block with a second number of RBs similar to the first number of RBs may be selected as the initial resource block.

[0097] Taking the implementation of idle resource records through a combination of arrays and linked lists as an example, the structure of an idle resource record provided in an embodiment of the present application is introduced: the idle resource record includes an idle resource array, each array element corresponds to a second symbol quantity and is associated with an idle resource linked list, wherein the array element associated with the idle resource linked list can refer to the array element pointing to the idle resource linked list, or it can refer to the data element being an object representing the idle resource linked list; each linked list node represents an idle resource block, and the second symbol quantity of the idle resource block corresponding to the linked list node in the same idle resource linked list is equal to the second symbol quantity corresponding to the array element associated with the idle resource linked list, and each linked list node stores at least the second starting symbol and the second RB quantity of the idle resource block corresponding to the linked list node.

[0098] As an implementation method, the nodes in the idle resource linked list may be arranged in ascending order according to the number of second RBs; as another implementation method, the nodes in the idle resource linked list may not be arranged in ascending order according to the number of second RBs.

[0099] Therefore, the idle resource records can be represented by combining the two data structures of array and linked list. In this way, the target resource block can be quickly located by querying the array elements in the idle resource array and the linked list nodes in the idle resource linked list, thereby quickly determining the resource block to be allocated from the idle resource records, thereby improving the efficiency of time-frequency resource allocation and reducing the complexity of time-frequency resource allocation.

[0100] Based on the above idle resource record, step S202 in the embodiment of the present application may specifically include the following steps:

[0101] Step 1) determining a candidate linked list from the idle resource array according to the first symbol quantity, wherein the second symbol quantity corresponding to the candidate linked list is not less than the first symbol quantity.

[0102] Step 2) Access the candidate linked list in ascending order of the number of second symbols. For each candidate linked list accessed, access the linked list nodes therein in turn until a linked list node that meets the second condition is queried, and determine the idle resource block corresponding to the linked list node as the initial resource block, wherein the second condition includes that the second starting symbol stored in the linked list node is not greater than the first starting symbol, the number of symbols in the idle resource block corresponding to the linked list node from the first starting symbol to the end symbol is not less than the first symbol number, and the absolute value of the difference between the second RB number stored in the linked list node and the first RB number is the smallest in the candidate linked list.

[0103] In the above step 2), the absolute value of the difference between the second RB number and the first RB number stored in the linked list node in the second condition is the smallest in the candidate linked list, and can also be replaced by the difference between the second RB number and the first RB number stored in the linked list node meeting a preset condition, for example: the absolute value of the difference between the second RB number and the first RB number is less than a threshold, or the absolute value of the difference between the second RB number and the first RB number is within a specified range, etc.

[0104] Below Figure 3 Taking the idle resource record shown in the figure as an example, the above steps 1) to 2) are introduced. Assuming that the number of first symbols corresponding to the resource block to be allocated is 12, the first starting symbol corresponding to the resource block to be allocated is 4, the first number of RBs corresponding to the resource block to be allocated is 700, the second number of RBs corresponding to idle resource block 4 is 500, the second number of RBs corresponding to idle resource block 5 is 700, and the second number of RBs corresponding to idle resource block 6 is 800, then:

[0105] First, the idle resource linked list associated with the array element whose corresponding second symbol number is not less than 12 in the idle resource array is determined as the candidate linked list, that is, the candidate linked list includes the idle resource linked list associated with the array element Symbolnum 12, the idle resource linked list associated with the array element Symbolnum 13, and the idle resource linked list associated with the array element Symbolnum 14.

[0106] Then, the idle resource linked list associated with the array element Symbolnum 12 is accessed. Since the idle resource linked list is an empty linked list, there is no linked list node that meets the first condition in the idle resource linked list.

[0107] Next, access the idle resource linked list associated with the array element Symbolnum 13: first access the linked list node corresponding to the idle resource block 4 in the idle resource linked list, and determine whether the second starting symbol stored in the linked list node is not greater than the first starting symbol. If the second starting symbol stored in the linked list node is not greater than the first starting symbol, then determine whether the number of symbols from the first starting symbol to the end symbol of the idle resource block 4 is not less than the first number of symbols. If the number of symbols from the first starting symbol to the end symbol of the idle resource block 4 is not less than the first number of symbols, then determine whether the absolute value of the difference between the second RB number and the first RB number stored in the linked list node is the smallest in the candidate linked list. If the absolute value of the difference between the second RB number and the first RB number stored in the linked list node is not the smallest in the candidate linked list, it means that the linked list node does not meet the second condition; then access Ask the linked list node corresponding to the idle resource block 5 in the idle resource linked list to determine whether the second starting symbol stored in the linked list node is not greater than the first starting symbol. If the second starting symbol stored in the linked list node is not greater than the first starting symbol, then determine whether the number of symbols from the first starting symbol to the end symbol of the idle resource block 5 is not less than the first symbol number. If the number of symbols from the first starting symbol to the end symbol of the idle resource block 5 is not less than the first symbol number, then determine whether the absolute value of the difference between the second RB number and the first RB number stored in the linked list node is the smallest in the candidate linked list. If the absolute value of the difference between the second RB number and the first RB number stored in the linked list node is the smallest in the candidate linked list (0), it means that the linked list node meets the second condition, and the idle resource block 5 can be determined as the initial resource block.

[0108] At this point, after free resource block 5, if there are free resource blocks corresponding to other linked list nodes in the free resource linked list associated with array element Symbolnum 13, access to the remaining free resource blocks can be skipped. Similarly, after the free resource linked list associated with array element Symbolnum 13, if there are free resource linked lists associated with other array elements, access to the remaining free resource linked lists can also be skipped. In other words, only one initial resource block that meets the requirements needs to be found.

[0109] Assume that the number of first symbols corresponding to the resource block to be allocated is 12, the first starting symbol corresponding to the resource block to be allocated is 4, the number of first RBs corresponding to the resource block to be allocated is 700, the number of second RBs corresponding to idle resource block 4 is 500, the number of second RBs corresponding to idle resource block 5 is 600, and the number of second RBs corresponding to idle resource block 6 is 800, then:

[0110] First, the idle resource linked list associated with the array element whose corresponding second symbol number is not less than 12 in the idle resource array is determined as the candidate linked list, that is, the candidate linked list includes the idle resource linked list associated with the array element Symbolnum 12, the idle resource linked list associated with the array element Symbolnum 13, and the idle resource linked list associated with the array element Symbolnum 14.

[0111] Then, the idle resource linked list associated with the array element Symbolnum 12 is accessed. Since the idle resource linked list is an empty linked list, there is no linked list node that meets the first condition in the idle resource linked list.

[0112] Next, access the idle resource linked list associated with the array element Symbolnum 13: first access the linked list node corresponding to the idle resource block 4 in the idle resource linked list, and determine whether the second starting symbol stored in the linked list node is not greater than the first starting symbol. If the second starting symbol stored in the linked list node is not greater than the first starting symbol, then determine whether the number of symbols from the first starting symbol to the end symbol of the idle resource block 4 is not less than the first symbol number. If the number of symbols from the first starting symbol to the end symbol of the idle resource block 4 is not less than the first symbol number, then determine whether the absolute value of the difference between the second RB number and the first RB number stored in the linked list node is equal to or greater than ... The smallest in the candidate linked list. If the absolute value of the difference between the second RB quantity and the first RB quantity stored in the linked list node is not the smallest in the candidate linked list, it means that the linked list node does not meet the second condition; then access the linked list node corresponding to the idle resource block 5 in the idle resource linked list to determine whether the second starting symbol stored in the linked list node is not greater than the first starting symbol. If the second starting symbol stored in the linked list node is not greater than the first starting symbol, then determine whether the number of symbols from the first starting symbol to the end symbol of the idle resource block 5 is not less than the first symbol number. If the number of symbols from the first starting symbol to the end symbol of the idle resource block 5 is less than the first symbol number, If the number of symbols between the first and second RB numbers stored in the linked list node is not less than the first number of symbols, then it is determined whether the absolute value of the difference between the second RB number and the first RB number stored in the linked list node is the smallest in the candidate linked list. If it is not determined whether the absolute value of the difference between the second RB number and the first RB number stored in the linked list node is the smallest in the candidate linked list, then the linked list node corresponding to the idle resource block 6 in the idle resource linked list is accessed to determine whether the second starting symbol stored in the linked list node is not greater than the first starting symbol. If the second starting symbol stored in the linked list node is not greater than the first starting symbol, then it is determined whether the number of symbols between the first starting symbol and the end symbol of the idle resource block 6 is not less than the first number of symbols. If the number of symbols between the first starting symbol and the end symbol of the idle resource block 6 is not less than the first number of symbols, then it is determined whether the absolute value of the difference between the second RB number and the first RB number stored in the linked list node is the smallest in the candidate linked list. If the absolute value of the difference between the second RB number and the first RB number stored in the linked list node is the smallest in the candidate linked list and is equal to the difference corresponding to the idle resource block 5, then it means that the linked list node corresponding to the idle resource block 5 meets the second condition, and the idle resource block 5 can be determined as the initial resource block.

[0113] At this point, after free resource block 5, if there are free resource blocks corresponding to other linked list nodes in the free resource linked list associated with array element Symbolnum 13, access to the remaining free resource blocks can be skipped. Similarly, after the free resource linked list associated with array element Symbolnum 13, if there are free resource linked lists associated with other array elements, access to the remaining free resource linked lists can also be skipped. In other words, only one initial resource block that meets the requirements needs to be found.

[0114] In the above scheme, by querying the array elements in the idle resource array, a candidate linked list that meets the symbol quantity can be determined from multiple idle resource linked lists; by querying the linked list nodes in the idle resource linked list, a linked list node that meets the second condition can be determined from multiple linked list nodes. Among them, by first determining the candidate linked list and then determining the linked list node, and accessing the candidate linked list in order of the second symbol quantity from small to large, the most suitable initial resource block can be determined at the fastest speed. In addition, since the second condition requires calculating the difference between the second RB quantity stored in the linked list node and the first RB quantity, the linked list nodes in the idle resource linked list are arranged in order of the second RB quantity from small to large, which can reduce the calculation time. At this time, it can also ensure that the most suitable initial resource block is determined at the fastest speed.

[0115] Furthermore, based on the above embodiment, the above step S205 may specifically include the following steps:

[0116] Step 1) determining the idle resource linked list associated with the array element whose corresponding second symbol quantity in the idle resource array is equal to the second symbol quantity corresponding to the remaining resource block as the linked list to be updated.

[0117] Step 2) Create a linked list node storing the second starting symbol and the second RB number corresponding to the remaining resource blocks, and insert the linked list node into the to-be-updated linked list in descending order of the second RB number.

[0118] Specifically, in the above step 1), assuming that the number of second symbols corresponding to the remaining resource blocks is 7, the idle resource linked list associated with the array element Symbolnum 7 is determined as the linked list to be updated.

[0119] In the above scheme, after the time-frequency resource allocation is completed, the linked list nodes corresponding to the remaining resource blocks can be inserted into the linked list to be updated in order from small to large according to the number of the second RB, so as to facilitate access to the linked list nodes in order from small to large according to the number of the second RB in the subsequent time-frequency resource allocation process, thereby improving the efficiency of time-frequency resource allocation.

[0120] In the third case, the first resource block parameters may include the first number of symbols, the first starting symbol, and the first starting RB, and the second resource block parameters may include the second number of symbols, the second starting symbol, and the second starting RB. In this case, the second resource block parameters corresponding to the initial resource block need to meet the following conditions: the second starting symbol corresponding to the initial resource block is not larger than the first starting symbol, the number of symbols from the first starting symbol to the end symbol of the initial resource block is not smaller than the first number of symbols, and the second starting RB corresponding to the initial resource block is not larger than the first starting RB.

[0121] Taking the implementation of idle resource records through a combination of arrays and linked lists as an example, the structure of an idle resource record provided in an embodiment of the present application is introduced: the idle resource record includes an idle resource array, each array element corresponds to a second symbol quantity and is associated with an idle resource linked list, wherein the array element associated with the idle resource linked list can refer to the array element pointing to the idle resource linked list, or it can refer to the data element being an object representing the idle resource linked list; each linked list node represents an idle resource block, and the second symbol quantity of the idle resource block corresponding to the linked list node in the same idle resource linked list is equal to the second symbol quantity corresponding to the array element associated with the idle resource linked list, and each linked list node stores at least the second starting symbol and the second starting RB of the idle resource block corresponding to the linked list node.

[0122] Therefore, the idle resource records can be represented by combining the two data structures of array and linked list. In this way, the target resource block can be quickly located by querying the array elements in the idle resource array and the linked list nodes in the idle resource linked list, thereby quickly determining the resource block to be allocated from the idle resource records, thereby improving the efficiency of time-frequency resource allocation and reducing the complexity of time-frequency resource allocation.

[0123] Based on the above idle resource record, step S202 in the embodiment of the present application may specifically include the following steps:

[0124] Step 1) determining a candidate linked list from the idle resource array according to the first symbol quantity, wherein the second symbol quantity corresponding to the candidate linked list is not less than the first symbol quantity.

[0125] Step 2) Access the candidate linked list in ascending order of the number of second symbols. For each candidate linked list accessed, access the linked list nodes therein in turn until a linked list node that meets the third condition is queried, and determine the idle resource block corresponding to the linked list node as the initial resource block, wherein the third condition includes that the second starting symbol stored in the linked list node is not greater than the first starting symbol, the number of symbols in the idle resource block corresponding to the linked list node from the first starting symbol to the ending symbol is not less than the first symbol number, and the second starting RB stored in the linked list node is not greater than the first starting RB.

[0126] Below Figure 3 Taking the idle resource record shown as an example, the above steps 1) to 2) are introduced. Assuming that the number of first symbols corresponding to the resource block to be allocated is 12 and the first starting symbol corresponding to the resource block to be allocated is 4, then:

[0127] First, the idle resource linked list associated with the array element whose corresponding second symbol number is not less than 12 in the idle resource array is determined as the candidate linked list, that is, the candidate linked list includes the idle resource linked list associated with the array element Symbolnum 12, the idle resource linked list associated with the array element Symbolnum 13, and the idle resource linked list associated with the array element Symbolnum 14.

[0128] Then, the idle resource linked list associated with the array element Symbolnum 12 is accessed. Since the idle resource linked list is an empty linked list, there is no linked list node that meets the first condition in the idle resource linked list.

[0129] Next, access the idle resource linked list associated with the array element Symbolnum 13: first access the linked list node corresponding to the idle resource block 4, and determine whether the second starting symbol stored in the linked list node is not greater than the first starting symbol; if the second starting symbol stored in the linked list node is not greater than the first starting symbol, then determine whether the number of symbols from the first starting symbol to the end symbol of the idle resource block 4 is not less than the first number of symbols; if the number of symbols from the first starting symbol to the end symbol of the idle resource block 4 is not less than the first number of symbols, then determine whether the second starting RB stored in the linked list node is not greater than the first starting RB; if the second starting RB stored in the linked list node is not greater than the first starting RB, it means that the linked list node meets the third condition, and the idle resource block 4 can be determined as the initial resource block.

[0130] At this point, after free resource block 4, if there are free resource blocks corresponding to other linked list nodes in the free resource linked list associated with array element Symbolnum 13, access to the remaining free resource blocks can be skipped. Similarly, after the free resource linked list associated with array element Symbolnum 13, if there are free resource linked lists associated with other array elements, access to the remaining free resource linked lists can also be skipped. In other words, only one initial resource block that meets the requirements needs to be found.

[0131] In the above scheme, by querying array elements in the free resource array, a candidate linked list that meets the symbol quantity can be determined from multiple free resource linked lists; by querying linked list nodes in the free resource linked list, a linked list node that meets the third condition can be determined from multiple linked list nodes. Determining the candidate linked list first and then the linked list nodes, and accessing the candidate linked list in ascending order of the second symbol quantity, can quickly determine the most suitable initial resource block.

[0132] Furthermore, based on the above embodiment, the above step S205 may specifically include the following steps:

[0133] Step 1) determining the idle resource linked list associated with the array element whose corresponding second symbol quantity in the idle resource array is equal to the second symbol quantity corresponding to the remaining resource block as the linked list to be updated.

[0134] Step 2) Create a linked list node storing the second starting symbol and the second starting RB corresponding to the remaining resource blocks, and insert the linked list node into the linked list to be updated.

[0135] Specifically, in the above step 1), assuming that the number of second symbols corresponding to the remaining resource blocks is 7, the idle resource linked list associated with the array element Symbolnum 7 is determined as the linked list to be updated.

[0136] In the fourth case, the first resource block parameters may include the first number of symbols, the first starting symbol, the first number of RBs, and the first RB symbol, and the second resource block parameters may include the second number of symbols, the second starting symbol, the second number of RBs, and the second RB symbol. In this case, the second resource block parameters corresponding to the initial resource block need to meet the following conditions: the second starting symbol corresponding to the initial resource block is not larger than the first starting symbol, the number of symbols from the first starting symbol to the end symbol of the initial resource block is not smaller than the first number of symbols, and the second starting RB corresponding to the initial resource block is not larger than the first starting RB.

[0137] It is understandable that, since the number of RBs included in the time-frequency resources used by the base station and the terminal during data transmission can be greater than, less than, or equal to the number of RBs required for data transmission, the number of RBs corresponding to the resource blocks to be transmitted may not be limited during the time-frequency resource allocation process. However, in order to reduce the number of data transmissions, an idle resource block with a second number of RBs similar to the first number of RBs may be selected as the initial resource block.

[0138] Taking the implementation of idle resource records through a combination of arrays and linked lists as an example, the structure of an idle resource record provided in an embodiment of the present application is introduced: the idle resource record includes an idle resource array, each array element corresponds to a second symbol quantity and is associated with an idle resource linked list, wherein the array element associated with the idle resource linked list can refer to the array element pointing to the idle resource linked list, or it can refer to the data element being an object representing the idle resource linked list; each linked list node represents an idle resource block, and the second symbol quantity of the idle resource block corresponding to the linked list node in the same idle resource linked list is equal to the second symbol quantity corresponding to the array element associated with the idle resource linked list, and each linked list node stores at least the second starting symbol, the second RB quantity and the second starting RB of the idle resource block corresponding to the linked list node.

[0139] As an implementation method, the nodes in the idle resource linked list may be arranged in ascending order according to the number of second RBs; as another implementation method, the nodes in the idle resource linked list may not be arranged in ascending order according to the number of second RBs.

[0140] Therefore, the idle resource records can be represented by combining the two data structures of array and linked list. In this way, the target resource block can be quickly located by querying the array elements in the idle resource array and the linked list nodes in the idle resource linked list, thereby quickly determining the resource block to be allocated from the idle resource records, thereby improving the efficiency of time-frequency resource allocation and reducing the complexity of time-frequency resource allocation.

[0141] Based on the above idle resource record, step S202 in the embodiment of the present application may specifically include the following steps:

[0142] Step 1) determining a candidate linked list from the idle resource array according to the first symbol quantity, wherein the second symbol quantity corresponding to the candidate linked list is not less than the first symbol quantity.

[0143] Step 2) Access the candidate linked list in ascending order of the number of second symbols. For each candidate linked list accessed, access the linked list nodes therein in turn until a linked list node that meets the fourth condition is queried, and determine the idle resource block corresponding to the linked list node as the initial resource block, wherein the fourth condition includes that the second starting symbol stored in the linked list node is not greater than the first starting symbol, the number of symbols from the first starting symbol to the end symbol of the idle resource block corresponding to the linked list node is not less than the first symbol number, the absolute value of the difference between the second RB number and the first RB number stored in the linked list node is the smallest in the candidate linked list, and the second starting RB stored in the linked list node is not greater than the first starting RB.

[0144] In the above step 2), the absolute value of the difference between the second RB number and the first RB number stored in the linked list node in the second condition is the smallest in the candidate linked list, and can also be replaced by the difference between the second RB number and the first RB number stored in the linked list node meeting a preset condition, for example: the absolute value of the difference between the second RB number and the first RB number is less than a threshold, or the absolute value of the difference between the second RB number and the first RB number is within a specified range, etc.

[0145] The specific implementation of the above steps 1) to 2) is similar to the implementation described in the first, second and third cases, and will not be repeated here.

[0146] In the above scheme, a candidate linked list that satisfies the symbol quantity can be determined from multiple free resource linked lists by querying array elements in the free resource array; and a linked list node that satisfies the third condition can be determined from multiple linked list nodes by querying linked list nodes in the free resource linked list. Specifically, determining the candidate linked list first and then the linked list node, accessing the candidate linked list in ascending order of the second symbol quantity, and arranging the linked list nodes in the free resource linked list in ascending order of the second RB quantity can determine the most suitable initial resource block at the fastest speed.

[0147] Furthermore, based on the above embodiment, the above step S205 may specifically include the following steps:

[0148] Step 1) determining the idle resource linked list associated with the array element whose corresponding second symbol quantity in the idle resource array is equal to the second symbol quantity corresponding to the remaining resource block as the linked list to be updated.

[0149] Step 2) Create a linked list node storing the second starting symbol, the second RB number and the second starting RB corresponding to the remaining resource blocks, and insert the linked list node into the to-be-updated linked list in descending order of the second RB number.

[0150] Specifically, in the above step 1), assuming that the number of second symbols corresponding to the remaining resource blocks is 7, the idle resource linked list associated with the array element Symbolnum 7 is determined as the linked list to be updated.

[0151] Furthermore, when the idle resource record provided in the embodiment of the present application is implemented through a combination of an array and a linked list, the idle resource record provided in the embodiment of the present application can also be implemented through the following structure: the idle resource record includes an idle resource array, each array element corresponds to a second starting symbol and is associated with an idle resource linked list, each linked list node represents an idle resource block, and the second starting symbols of the idle resource blocks corresponding to the linked list nodes in the same idle resource linked list are equal to the second starting symbols corresponding to the array elements associated with the idle resource linked list, and each linked list node stores at least the number of second symbols of the idle resource blocks corresponding to the linked list node.

[0152] For example, the first resource block parameters may include a first number of symbols and a first starting symbol, and the second resource block parameters may include a second number of symbols and a second starting symbol. In this case, the second resource block parameters corresponding to the initial resource block need to meet the following conditions: the second starting symbol corresponding to the initial resource block is not greater than the first starting symbol, and the number of symbols from the first starting symbol to the end symbol of the initial resource block is not less than the first number of symbols.

[0153] Based on the above idle resource record, step S202 in the embodiment of the present application may specifically include the following steps:

[0154] In step 1, the idle resource linked list associated with the array element in the idle resource array whose corresponding second starting symbol is not greater than the first starting symbol is determined as a candidate linked list.

[0155] Step 2) Access the candidate linked list in descending order according to the corresponding second starting symbols. For each candidate linked list accessed, access the linked list nodes therein in turn until a linked list node that meets the fifth condition is queried, and determine the idle resource block corresponding to the linked list node as the initial resource block, wherein the fifth condition includes that the number of symbols in the initial resource block from the first starting symbol to the end symbol is not less than the first symbol number.

[0156] Furthermore, the linked list in the above-mentioned free resource record can also be replaced by an array. For example, a fixed-length array is set, and the information of each array is a free block information. The difference between this array and the linked list in the previous embodiment is that this array is fixed-length. For example, 100 free block resources are allocated in advance, and a parameter of the number of valid free blocks indicates how many of the first free blocks in this array are valid. In addition, in the previous embodiment, the linked list is created in real time and updated by updating the linked list nodes; while this array is created for the first time, it is updated by changing the data information in the array.

[0157] Furthermore, the array in the above-mentioned free resource record can be replaced by a linked list, and when the linked list node corresponds to a free block, its associated linked list is dynamically generated.

[0158] Furthermore, based on the above embodiment, the above step S203 may specifically include the following steps:

[0159] According to the first resource block parameter and in accordance with the principle of minimizing the number of remaining resource blocks, resource blocks to be allocated are determined from the initial resource blocks.

[0160] Specifically, as an implementation method, the principle of minimizing the number of remaining resource blocks can be understood as allocating the resource blocks to be allocated according to the priority of the number of intersection edges with the initial resource block from the largest to the smallest. Assuming that the initial resource block includes 10 symbols and 10 RBs, and the resource block to be allocated includes 3 symbols and 3 RBs, the following situations may exist:

[0161] Please refer to Figure 4 , Figure 4 A schematic diagram of the first method for determining the resource blocks to be allocated is provided in an embodiment of the present application, wherein the slash area corresponds to the resource blocks to be allocated, the number of intersection edges between the resource blocks to be allocated and the initial resource blocks is 2, and the number of remaining resource blocks is 2 at this time, and the red area and the blue area are two remaining resource blocks respectively.

[0162] Please refer to Figure 5 , Figure 5 A schematic diagram of the second method for determining the resource blocks to be allocated is provided in an embodiment of the present application, wherein the horizontal line area corresponds to the resource block to be allocated, the number of intersection edges between the resource block to be allocated and the initial resource block is 1, and the number of remaining resource blocks is 3. The red area, blue area and green area are the three remaining resource blocks respectively.

[0163] Please refer to Figure 6 , Figure 6 A schematic diagram of the third method for determining the resource blocks to be allocated is provided in an embodiment of the present application, wherein the vertical line area corresponds to the resource block to be allocated, the number of intersection edges between the resource block to be allocated and the initial resource block is 0, and the number of remaining resource blocks is 4. The red area, blue area, green area and yellow area are three remaining resource blocks respectively.

[0164] As an embodiment, in the above Figure 4 、 Figure 5 as well as Figure 6 In the method of determining the resource blocks to be allocated shown, the preferred method is Figure 4 The resource blocks to be allocated are determined in the manner shown (ie, the manner in which the number of intersection edges between the resource blocks to be allocated and the initial resource blocks is the largest), and the number of remaining resource blocks generated in this case is the smallest.

[0165] Assuming that the initial resource block includes 10 symbols and 10 RBs, and the resource block to be allocated includes 10 symbols and 3 RBs, the following situations may exist: Please refer to Figure 7 , Figure 7 A fourth schematic diagram for determining the resource blocks to be allocated is provided in an embodiment of the present application, wherein the slash area corresponds to the resource blocks to be allocated, the number of intersection edges between the resource blocks to be allocated and the initial resource blocks is 3, the number of remaining resource blocks is 1, and the red area is the remaining resource block.

[0166] In the above scheme, in the process of allocating time-frequency resources, allocation can be carried out according to the principle of minimizing the number of remaining resource blocks, thereby reducing the fragmentation of idle resource blocks and improving the utilization rate of time-frequency resources; in addition, since the number of remaining resource blocks is minimized, the number of idle resource blocks in the idle resource record will not increase significantly as the resource allocation proceeds, thereby also improving the efficiency of resource allocation.

[0167] Please refer to Figure 8 , Figure 8 A structural block diagram of a time-frequency resource allocation device provided in an embodiment of the present application, the time-frequency resource allocation device 800 includes: an acquisition module 801, configured to acquire a first resource block parameter corresponding to a resource block to be allocated, wherein the first resource block parameter is used to describe position information and / or size information of the resource block to be allocated in the time-frequency space; a first determination module 802, configured to determine an initial resource block that meets the resource allocation requirements from the idle resource blocks in the time-frequency space by comparing the first resource block parameter with a second resource block parameter in an idle resource record, wherein the idle resource record includes the second resource block parameter corresponding to the idle resource block. Source block parameters, the second resource block parameters are used to describe the position information and / or size information of the idle resource block in the time-frequency space; a second determination module 803 is used to determine the resource block to be allocated from the initial resource block based on the first resource block parameters; a removal module 804 is used to remove the second resource block parameters corresponding to the initial resource block from the idle resource record; an adding module 805 is used to add the second resource block parameters corresponding to the remaining resource blocks formed by the remaining time-frequency resources to the idle resource record if there are remaining time-frequency resources in the initial resource block in addition to the resource block to be allocated.

[0168] In the above scheme, the idle resource record can be used to record the idle resource blocks that are still available in the time-frequency space. Therefore, when allocating resource blocks, it is only necessary to match the appropriate initial resource block from the idle resource blocks recorded above; if the time-frequency resources included in the matched initial resource block are more than the resources currently required, then after the allocation is completed, the remaining resource blocks formed by the remaining time-frequency resources in the initial resource block can be added to the idle resource record so that the allocation of time-frequency resources can continue in the future. Compared with the time-frequency resource allocation method in the prior art, the method of allocating time-frequency resources using idle resource records provided in the embodiment of the present application is less complex, which is conducive to scheduling more terminals within the scheduling period, and is particularly suitable for systems with short scheduling periods such as millimeter wave communications.

[0169] Further, based on the above embodiment, the first resource block parameters include the first number of symbols and the first starting symbol, and the second resource block parameters include the second number of symbols and the second starting symbol; the second starting symbol corresponding to the initial resource block is not greater than the first starting symbol, and the number of symbols from the first starting symbol to the ending symbol of the initial resource block is not less than the first number of symbols, wherein the ending symbol is determined based on the second number of symbols and the second starting symbol corresponding to the initial resource block.

[0170] In the above scheme, the resource block parameters may include the number of symbols and the starting symbol, wherein the number of symbols is used to represent the total number of symbols included in the resource block, and the starting symbol is used to represent the first symbol in the resource block. The above two parameters can be used to quickly determine the target resource block from a large number of resource blocks, that is, the above two parameters can be used to quickly determine the resource block to be allocated from the idle resource record, thereby improving the efficiency of time-frequency resource allocation and reducing the complexity of time-frequency resource allocation.

[0171] Furthermore, based on the above embodiment, the idle resource record includes an idle resource array, each array element corresponds to a second symbol quantity and is associated with an idle resource linked list, each linked list node represents an idle resource block, and the second symbol quantity of the idle resource blocks corresponding to the linked list nodes in the same idle resource linked list is equal to the second symbol quantity corresponding to the array elements associated with the idle resource linked list, and each linked list node stores at least the second starting symbol of the idle resource block corresponding to the linked list node.

[0172] In the above scheme, the idle resource records can be represented by combining the two data structures of array and linked list. In this way, the target resource block can be quickly located by querying the array elements in the idle resource array and the linked list nodes in the idle resource linked list, thereby quickly determining the resource block to be allocated from the idle resource records, thereby improving the efficiency of time-frequency resource allocation and reducing the complexity of time-frequency resource allocation.

[0173] Further, based on the above embodiment, the first determination module 203 is specifically used to: determine the idle resource linked list associated with the array element in the idle resource array whose corresponding second symbol quantity is not less than the first symbol quantity as a candidate linked list; access the candidate linked list in ascending order of the corresponding second symbol quantity, and for each candidate linked list accessed, access the linked list nodes therein in turn until a linked list node that meets the first condition is queried, and determine the idle resource block corresponding to the linked list node as the initial resource block, wherein the first condition includes that the second starting symbol stored in the linked list node is not greater than the first starting symbol, and the number of symbols in the idle resource block corresponding to the linked list node from the first starting symbol to the end symbol is not less than the first symbol number.

[0174] In the above scheme, by querying array elements in the free resource array, a candidate linked list that meets the symbol quantity can be determined from multiple free resource linked lists; by querying linked list nodes in the free resource linked list, a linked list node that meets the first condition can be determined from multiple linked list nodes. Determining the candidate linked list first and then the linked list nodes, and accessing the candidate linked list in ascending order of the second symbol quantity, can quickly determine the most suitable initial resource block.

[0175] Further, based on the above embodiment, the first resource block parameter also includes the first RB number, and the second resource block parameter also includes the second RB number; and / or, the first resource block parameter also includes the first starting RB, and the second resource block parameter also includes the second starting RB, wherein the second starting RB corresponding to the initial resource block is not larger than the first starting RB.

[0176] In the above scheme, the resource block parameters may include the number of symbols, the starting symbol, the number of RBs and / or the starting RB, wherein the number of symbols is used to characterize the total number of symbols included in the resource block, and the starting symbol is used to characterize the first symbol in the resource block, the number of RBs is used to characterize the total number of RBs included in the resource block, and the starting RB is used to characterize the first RB in the resource block. The above three or four parameters can be used to quickly determine the target resource block from a large number of resource blocks, that is, the above three or four parameters can be used to quickly determine the resource block to be allocated from the idle resource record, thereby improving the efficiency of time-frequency resource allocation and reducing the complexity of time-frequency resource allocation.

[0177] Further, based on the above embodiment, the idle resource record includes an idle resource array, each array element corresponds to a second symbol quantity and is associated with an idle resource linked list, each linked list node represents an idle resource block, and the second symbol quantity of the idle resource block corresponding to the linked list node in the same idle resource linked list is equal to the second symbol quantity corresponding to the array element associated with the idle resource linked list, and each linked list node stores at least the second starting symbol of the idle resource block corresponding to the linked list node, as well as at least one parameter of the second RB quantity and the second starting RB.

[0178] In the above scheme, the idle resource records can be represented by combining the two data structures of array and linked list. In this way, the target resource block can be quickly located by querying the array elements in the idle resource array and the linked list nodes in the idle resource linked list, thereby quickly determining the resource block to be allocated from the idle resource records, thereby improving the efficiency of time-frequency resource allocation and reducing the complexity of time-frequency resource allocation.

[0179] Furthermore, based on the above embodiment, each linked list node stores at least the second starting symbol and the second RB number of the idle resource block corresponding to the linked list node, and the linked list nodes in the idle resource linked list are arranged in ascending order according to the second RB number; the first determination module 802 is specifically used to: determine a candidate linked list from the idle resource array according to the first symbol number, wherein the second symbol number corresponding to the candidate linked list is not less than the first symbol number; access the candidate linked list in ascending order according to the second symbol number, for each candidate linked list accessed, access the linked list nodes therein in turn until a linked list node that meets the second condition is queried, and determine the idle resource block corresponding to the linked list node as the initial resource block, wherein the second condition includes that the second starting symbol stored in the linked list node is not greater than the first starting symbol, the number of symbols of the idle resource block corresponding to the linked list node from the first starting symbol to the end symbol is not less than the first symbol number, and the absolute value of the difference between the second RB number stored in the linked list node and the first RB number is the smallest in the candidate linked list.

[0180] In the above scheme, a candidate linked list that satisfies the symbol quantity can be determined from multiple free resource linked lists by querying array elements in the free resource array; and a linked list node that satisfies the second condition can be determined from multiple linked list nodes by querying the linked list nodes in the free resource linked list. Specifically, determining the candidate linked list first and then the linked list node, accessing the candidate linked list in ascending order of the second symbol quantity, and arranging the linked list nodes in the free resource linked list in ascending order of the second RB quantity can determine the most suitable initial resource block at the fastest speed.

[0181] Further, based on the above embodiment, the adding module 805 is specifically used to: determine the idle resource linked list associated with the array element whose corresponding second symbol quantity in the idle resource array is equal to the second symbol quantity corresponding to the remaining resource block as the linked list to be updated; create a linked list node that stores the second starting symbol and the second RB quantity corresponding to the remaining resource block, and insert the linked list node into the linked list to be updated in order from the smallest to the largest according to the second RB quantity.

[0182] In the above scheme, after the time-frequency resource allocation is completed, the linked list nodes corresponding to the remaining resource blocks can be inserted into the linked list to be updated in order from small to large according to the number of the second RB, so as to facilitate access to the linked list nodes in order from small to large according to the number of the second RB in the subsequent time-frequency resource allocation process, thereby improving the efficiency of time-frequency resource allocation.

[0183] Furthermore, based on the above embodiment, each linked list node stores at least the second starting symbol and the second starting RB of the idle resource block corresponding to the linked list node; the first determination module 802 is specifically used to: determine a candidate linked list from the idle resource array according to the first symbol quantity, wherein the second symbol quantity corresponding to the candidate linked list is not less than the first symbol quantity; access the candidate linked list in order from the small to large number of the second symbol quantity, and for each candidate linked list accessed, access the linked list nodes therein in turn until a linked list node that meets the third condition is queried, and determine the idle resource block corresponding to the linked list node as the initial resource block, wherein the third condition includes that the second starting symbol stored in the linked list node is not greater than the first starting symbol, the number of symbols of the idle resource block corresponding to the linked list node from the first starting symbol to the end symbol is not less than the first symbol quantity, and the second starting RB stored in the linked list node is not greater than the first starting RB.

[0184] In the above scheme, by querying array elements in the free resource array, a candidate linked list that meets the symbol quantity can be determined from multiple free resource linked lists; by querying linked list nodes in the free resource linked list, a linked list node that meets the third condition can be determined from multiple linked list nodes. Determining the candidate linked list first and then the linked list nodes, and accessing the candidate linked list in ascending order of the second symbol quantity, can quickly determine the most suitable initial resource block.

[0185] Furthermore, based on the above embodiment, the idle resource record includes an idle resource array, each array element corresponds to a second starting symbol and is associated with an idle resource linked list, each linked list node represents an idle resource block, and the second starting symbols of the idle resource blocks corresponding to the linked list nodes in the same idle resource linked list are equal to the second starting symbols corresponding to the array elements associated with the idle resource linked list, and each linked list node stores at least the number of second symbols of the idle resource blocks corresponding to the linked list node.

[0186] In the above scheme, the idle resource records can be represented by combining the two data structures of array and linked list. In this way, the target resource block can be quickly located by querying the array elements in the idle resource array and the linked list nodes in the idle resource linked list, thereby quickly determining the resource block to be allocated from the idle resource records, thereby improving the efficiency of time-frequency resource allocation and reducing the complexity of time-frequency resource allocation.

[0187] Further, based on the above embodiment, the second determination module 803 is specifically used to: determine the resource blocks to be allocated from the initial resource blocks according to the first resource block parameters and in accordance with the principle of minimizing the number of the remaining resource blocks.

[0188] In the above scheme, in the process of allocating time-frequency resources, allocation can be carried out according to the principle of minimizing the number of remaining resource blocks, thereby reducing the fragmentation of idle resource blocks and improving the utilization rate of time-frequency resources; in addition, since the number of remaining resource blocks is minimized, the number of idle resource blocks in the idle resource record will not increase significantly as the resource allocation proceeds, thereby also improving the efficiency of resource allocation.

[0189] Please refer to Figure 9 , Figure 9 This is a structural block diagram of an electronic device provided in an embodiment of the present application. Figure 9 FIG2 shows a possible structure of the base station 900 provided in an embodiment of the present application. Figure 9 The base station 900 includes: a processor 901, a memory 902, a signal transceiver 903 and a bus 904. The processor 901, the memory 902 and the signal transceiver are interconnected and communicate with each other through the bus 904 and / or other forms of connection mechanisms (not shown).

[0190] The processor 901 includes one or more processors (only one is shown in the figure), which can be an integrated circuit chip with signal processing capabilities. The processor 901 can be a general-purpose processor, including a central processing unit (CPU), a microcontroller unit (MCU), a network processor (NP), or other conventional processors; it can also be a special-purpose processor, including a graphics processing unit (GPU), a neural network processing unit (NPU), a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field programmable gate array (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components. Furthermore, when there are multiple processors 901, some of them can be general-purpose processors, and others can be special-purpose processors.

[0191] The memory 902 includes one or more (only one is shown in the figure), which can be, but is not limited to, random access memory (RAM), read only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), etc.

[0192] The processor 901 and other possible components can access the memory 902 and read and / or write data therein. In particular, the memory 902 can store one or more computer program instructions, and the processor 901 can read and execute these computer program instructions to implement the air interface resource scheduling method provided in the embodiment of the present application.

[0193] The signal transceiver 903 includes one or more (only one is shown in the figure) and can be used to send or receive electrical signals to enable direct or indirect communication with other devices. The signal transceiver 903 can be a wired and / or wireless communication module. For example, a wireless communication module can be used to communicate with UEs, and a wired communication module can be used to communicate with core network devices.

[0194] I understand. Figure 9 The structure shown is for illustration only. The base station 900 may also include Figure 9 More or fewer components than shown, or with Figure 9 For example, the base station 900 may also include components such as antennas and brackets. Figure 9 Each component shown in the figure can be implemented by hardware, software or a combination thereof.

[0195] The base station 900 can be deployed in a wireless communication system, such as a 5G or 4G system. In addition, the base station 900 can be a ground station or a satellite station.

[0196] An embodiment of the present application also provides a computer program product, comprising a computer program stored on a computer-readable storage medium, the computer program including computer program instructions. When the computer program instructions are executed by a computer, the computer is capable of performing the steps of the time-frequency resource allocation method in the above-described embodiment, including, for example, the following: Step S201: Obtaining first resource block parameters corresponding to a resource block to be allocated, wherein the first resource block parameters are used to describe the location information and / or size information of the resource block to be allocated in the time-frequency space. Step S202: Determining an initial resource block that meets the resource allocation requirements from the idle resource blocks in the time-frequency space by comparing the first resource block parameters with second resource block parameters in an idle resource record, wherein the idle resource record includes second resource block parameters corresponding to the idle resource blocks, wherein the second resource block parameters are used to describe the location information and / or size information of the idle resource blocks in the time-frequency space. Step S203: Determining a resource block to be allocated from the initial resource blocks based on the first resource block parameters. Step S204: Removing the second resource block parameters corresponding to the initial resource block from the idle resource record. Step S205: If there are remaining time-frequency resources in the initial resource block except the resource block to be allocated, the second resource block parameters corresponding to the remaining resource blocks formed by the remaining time-frequency resources are added to the idle resource record.

[0197] An embodiment of the present application further provides a computer-readable storage medium storing computer program instructions. When the computer program instructions are executed by a computer, the computer executes the time-frequency resource allocation method described in the aforementioned method embodiment.

[0198] In the embodiments provided in this application, it should be understood that the disclosed devices and methods can be implemented in other ways. The device embodiments described above are merely schematic. For example, the division of the units is only a logical function division. There may be other division methods in actual implementation. For example, multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some communication interface, indirect coupling or communication connection of devices or units, which can be electrical, mechanical or other forms.

[0199] In addition, the units described as separate components may or may not be physically separate, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed across multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.

[0200] Furthermore, the functional modules in each embodiment of the present application can be integrated together to form an independent part, or each module can exist independently, or two or more modules can be integrated to form an independent part.

[0201] It should be noted that if the function is implemented in the form of a software function module and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present application, or the part that contributes to the existing technology, or the part of the technical solution, can be embodied in the form of a software product. The computer software product is stored in a storage medium and includes a number of instructions for enabling a computer device (which can be a personal computer, server, or network device, etc.) to execute all or part of the steps of the method described in each embodiment of the present application. The aforementioned storage medium includes: U disk, mobile hard disk, read-only memory (ROM), random access memory (RAM), disk or optical disk, and other media that can store program code.

[0202] In this document, relational terms such as first and second, etc. are used merely to distinguish one entity or operation from another entity or operation, but do not necessarily require or imply any actual relationship or order between these entities or operations.

[0203] The above description is merely an embodiment of the present application and is not intended to limit the scope of protection of the present application. For those skilled in the art, various modifications and variations of the present application are possible. Any modifications, equivalent substitutions, improvements, etc. made within the spirit and principles of the present application shall be included in the scope of protection of the present application.

Claims

1. A time-frequency resource allocation method, characterized in that: include: Acquire a first resource block parameter corresponding to the resource block to be allocated, wherein the first resource block parameter is used to describe position information and / or size information of the resource block to be allocated in the time-frequency space; determining, from the idle resource blocks in the time-frequency space, an initial resource block that meets the resource allocation requirement by comparing the first resource block parameter with a second resource block parameter in the idle resource record, wherein the idle resource record includes a second resource block parameter corresponding to the idle resource block, and the second resource block parameter is used to describe position information and / or size information of the idle resource block in the time-frequency space; Determining the resource block to be allocated from the initial resource block according to the first resource block parameter; Removing the second resource block parameter corresponding to the initial resource block from the idle resource record; If there are remaining time-frequency resources in the initial resource block in addition to the resource block to be allocated, the second resource block parameters corresponding to the remaining resource blocks formed by the remaining time-frequency resources are added to the idle resource record.

2. The time-frequency resource allocation method according to claim 1, wherein: The first resource block parameter includes a first symbol quantity and a first starting symbol, and the second resource block parameter includes a second symbol quantity and a second starting symbol; The second starting symbol corresponding to the initial resource block is not larger than the first starting symbol, and the number of symbols from the first starting symbol to the ending symbol of the initial resource block is not less than the first number of symbols, wherein the ending symbol is determined based on the second number of symbols corresponding to the initial resource block and the second starting symbol.

3. The time-frequency resource allocation method according to claim 2, wherein: The idle resource record includes an idle resource array, each array element corresponds to a second symbol quantity and is associated with an idle resource linked list, each linked list node represents an idle resource block, the second symbol quantity of the idle resource block corresponding to the linked list nodes in the same idle resource linked list is equal to the second symbol quantity corresponding to the array element associated with the idle resource linked list, and each linked list node stores at least the second starting symbol of the idle resource block corresponding to the linked list node.

4. The time-frequency resource allocation method according to claim 3, wherein: The determining, from the idle resource blocks in the time-frequency space, an initial resource block that meets the resource allocation requirement by comparing the first resource block parameter with the second resource block parameter in the idle resource record includes: Determine the idle resource linked list associated with the array element in the idle resource array whose corresponding second symbol quantity is not less than the first symbol quantity as a candidate linked list; The candidate linked list is accessed in ascending order of the corresponding second symbol quantity. For each candidate linked list accessed, the linked list nodes therein are accessed in turn until a linked list node that meets the first condition is queried, and the idle resource block corresponding to the linked list node is determined as the initial resource block, wherein the first condition includes that the second starting symbol stored in the linked list node is not greater than the first starting symbol, and the number of symbols in the idle resource block corresponding to the linked list node from the first starting symbol to the end symbol is not less than the first symbol number.

5. The time-frequency resource allocation method according to claim 2, wherein: The first resource block parameter further includes a first RB number, and the second resource block parameter further includes a second RB number; and / or, The first resource block parameter further includes a first starting RB, and the second resource block parameter further includes a second starting RB, wherein the second starting RB corresponding to the initial resource block is not larger than the first starting RB.

6. The time-frequency resource allocation method according to claim 5, characterized in that: The idle resource record includes an idle resource array, each array element corresponds to a second symbol quantity and is associated with an idle resource linked list, each linked list node represents an idle resource block, and the second symbol quantity of the idle resource block corresponding to the linked list node in the same idle resource linked list is equal to the second symbol quantity corresponding to the array element associated with the idle resource linked list, and each linked list node stores at least the second starting symbol of the idle resource block corresponding to the linked list node, and at least one parameter of the second RB quantity and the second starting RB.

7. The time-frequency resource allocation method according to claim 6, characterized in that: Each linked list node stores at least the second starting symbol and the second RB quantity of the idle resource block corresponding to the linked list node, and the linked list nodes in the idle resource linked list are arranged in ascending order according to the second RB quantity; The determining, from the idle resource blocks in the time-frequency space, an initial resource block that meets the resource allocation requirement by comparing the first resource block parameter with the second resource block parameter in the idle resource record includes: Determine a candidate linked list from the idle resource array according to the first number of symbols, wherein the number of the second symbols corresponding to the candidate linked list is not less than the first number of symbols; The candidate linked list is accessed in ascending order of the number of the second symbols. For each candidate linked list accessed, the linked list nodes therein are accessed in turn until a linked list node that meets the second condition is queried, and the idle resource block corresponding to the linked list node is determined as the initial resource block, wherein the second condition includes that the second starting symbol stored in the linked list node is not greater than the first starting symbol, the number of symbols in the idle resource block corresponding to the linked list node from the first starting symbol to the end symbol is not less than the first symbol number, and the absolute value of the difference between the second RB number stored in the linked list node and the first RB number is the smallest in the candidate linked list.

8. The time-frequency resource allocation method according to claim 7, wherein: The adding the second resource block parameter corresponding to the remaining resource block formed by the remaining time-frequency resources to the idle resource record includes: Determine the idle resource linked list associated with the array element whose corresponding second symbol quantity in the idle resource array is equal to the second symbol quantity corresponding to the remaining resource block as the linked list to be updated; A linked list node storing a second starting symbol and a second RB quantity corresponding to the remaining resource blocks is created, and the linked list node is inserted into the to-be-updated linked list in descending order of the second RB quantity.

9. The time-frequency resource allocation method according to claim 6, wherein: Each linked list node stores at least the second starting symbol and the second starting RB of the idle resource block corresponding to the linked list node; The determining, from the idle resource blocks in the time-frequency space, an initial resource block that meets the resource allocation requirement by comparing the first resource block parameter with the second resource block parameter in the idle resource record includes: Determine a candidate linked list from the idle resource array according to the first number of symbols, wherein the number of the second symbols corresponding to the candidate linked list is not less than the first number of symbols; The candidate linked list is accessed in ascending order of the number of the second symbols. For each candidate linked list accessed, the linked list nodes therein are accessed in turn until a linked list node that meets the third condition is queried, and the idle resource block corresponding to the linked list node is determined as the initial resource block, wherein the third condition includes that the second starting symbol stored in the linked list node is not greater than the first starting symbol, the number of symbols in the idle resource block corresponding to the linked list node from the first starting symbol to the end symbol is not less than the first number of symbols, and the second starting RB stored in the linked list node is not greater than the first starting RB.

10. The time-frequency resource allocation method according to claim 2, wherein: The idle resource record includes an idle resource array, each array element corresponds to a second starting symbol and is associated with an idle resource linked list, each linked list node represents an idle resource block, the second starting symbols of the idle resource blocks corresponding to the linked list nodes in the same idle resource linked list are equal to the second starting symbols corresponding to the array elements associated with the idle resource linked list, and each linked list node stores at least the number of second symbols of the idle resource blocks corresponding to the linked list node.

11. The time-frequency resource allocation method according to any one of claims 1 to 10, characterized in that: The determining the to-be-allocated resource block from the initial resource block according to the first resource block parameter includes: The resource blocks to be allocated are determined from the initial resource blocks according to the first resource block parameters and in accordance with the principle of minimizing the number of the remaining resource blocks.

12. A time-frequency resource allocation device, characterized in that: include: an acquisition module, configured to acquire a first resource block parameter corresponding to a resource block to be allocated, wherein the first resource block parameter is used to describe position information and / or size information of the resource block to be allocated in a time-frequency space; a first determining module, configured to determine, from the idle resource blocks in the time-frequency space, an initial resource block that meets the resource allocation requirement by comparing the first resource block parameter with a second resource block parameter in an idle resource record, wherein the idle resource record includes a second resource block parameter corresponding to the idle resource block, and the second resource block parameter is used to describe position information and / or size information of the idle resource block in the time-frequency space; A second determining module is configured to determine the resource block to be allocated from the initial resource block according to the first resource block parameter; A removing module, configured to remove the second resource block parameter corresponding to the initial resource block from the idle resource record; An adding module is used to add the second resource block parameters corresponding to the remaining resource blocks formed by the remaining time-frequency resources to the idle resource record if there are remaining time-frequency resources in the initial resource block in addition to the resource block to be allocated.

13. A computer program product, characterized in that The method comprises computer program instructions, which, when read and executed by a processor, executes the time-frequency resource allocation method according to any one of claims 1 to 11.

14. A base station, characterized in that: include: A memory, a processor, a signal transceiver, and a bus, wherein the memory stores computer program instructions, and when the computer program instructions are read and executed by the processor, the time-frequency resource allocation method according to any one of claims 1 to 11 is executed.

15. A computer-readable storage medium, characterized in that The computer-readable storage medium stores computer program instructions, which, when executed by a computer, enable the computer to execute the time-frequency resource allocation method according to any one of claims 1 to 11.

Citation Information

Patent Citations

  • Method for quick allocation of frequency domain resources

    CN102905371A

  • Time-frequency null resource allocation method, computer apparatus, and computer-readable storage medium

    WO2020134145A1