Resource allocation method, device, equipment and computer-readable storage medium
By dynamically adjusting the cell resource allocation within the NR base station baseband board, the base station hardware cost and power consumption issues are resolved, and resource utilization is improved and adaptable to business needs is achieved.
Patent Information
- Application Number
- CN202110745899.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-07-01
- Publication Date
- 2025-09-05
- Estimated Expiration
- 2041-07-01
AI Technical Summary
In the existing technology, the resource allocation method of the NR base station baseband board leads to increased base station hardware costs and power consumption, and is unable to adapt to the changes in cell service needs over time.
By periodically allocating available resources to multiple cells within the same baseband board based on the baseband board's processing capabilities and the actual service needs of the cells, resource sharing and adjustment can be achieved.
It improves the utilization of baseband resources, reduces base station hardware costs and power consumption, and adapts to the dynamic changes in cell business needs.
Smart Images

Figure CN115567951B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of communication technology, and more specifically, to a resource allocation method, apparatus, device, and computer-readable storage medium. Background Art
[0002] New Radio (NR) base stations typically consist of a main control board (MCU) and a baseband board (BBS). The BBS is responsible for physical layer (PL) and layer 2 (L2) processing. The BBS has a fixed processing capability; for example, a single BBS supports six carriers.
[0003] However, in real-world networks, traffic volumes across multiple cells on a baseband board are uneven. Some cells covering hotspots experience high traffic volumes, while others covering less-hotspot areas experience low traffic volumes. Furthermore, within the same cell, traffic volumes fluctuate, with high traffic volumes during work hours and low traffic volumes after hours. Therefore, designing each cell to maximize resource allocation is undoubtedly over-designed, leading to increased costs for basestation hardware and operator electricity bills, as well as increased hardware power consumption. Designing the baseband board to average capacity, statically configuring the support capabilities of each cell, will fail to adapt to changing cell service demands over time. Summary of the Invention
[0004] The present application provides a resource allocation method, apparatus, device, and computer-readable storage medium, which periodically and dynamically allocates available resources to multiple cells within the same baseband board based on the processing capability of the baseband board and the actual business needs of the cell, thereby improving the utilization rate of baseband resources. This can solve the problems of increased costs such as base station hardware and operator electricity bills, high hardware power consumption, etc. caused by allocating resources according to the maximum capacity of the cell in the existing technology, and the problem that static allocation of resources according to the average capacity of the cell cannot adapt to the requirements of cell business needs that change over time.
[0005] In a first aspect, a resource allocation method is provided, the method comprising:
[0006] For each baseband board, periodically obtain the number of resources currently allocated to each activated cell on the board and the resource utilization rate of each activated cell in a resource scheduling cycle;
[0007] Determining a first cell for adjusting the amount of resources based on a preset threshold, resource utilization rates of each activated cell, a maximum amount of resources that can be allocated to each activated cell, and a currently allocated amount of resources;
[0008] Adjust the quantity of resources of the first cell.
[0009] In a second aspect, a resource allocation device is provided, the device comprising:
[0010] An acquisition module is used to periodically acquire the number of resources currently allocated to each activated cell on each baseband board and the resource utilization rate of each activated cell in a resource scheduling cycle;
[0011] A determination module, configured to determine a first cell for adjusting the amount of resources based on a preset threshold, resource utilization rates of each activated cell, a maximum amount of resources that can be allocated to each activated cell, and an amount of currently allocated resources;
[0012] An allocation module is used to adjust the amount of resources of the first cell.
[0013] According to a third aspect, a resource allocation device is provided, the device comprising:
[0014] memory for storing computer programs;
[0015] a transceiver, configured to transmit and receive data under the control of the processor;
[0016] The processor is used to read the computer program in the memory and implement the resource allocation method shown in the first aspect of the present application when executing it.
[0017] In a fourth aspect, a processor-readable storage medium is provided, wherein the processor-readable storage medium stores a computer program, and the computer program is used to enable a processor to implement the resource allocation method shown in the first aspect of the present application when executed.
[0018] The beneficial effects of the technical solution provided by this application are:
[0019] Based on the processing capability of the baseband board and the actual business needs of the cell, available resources are periodically and dynamically allocated to multiple cells within the same baseband board, thereby improving the utilization rate of the baseband board resources. This can solve the problems of increased costs such as base station hardware and operator electricity bills, high hardware power consumption caused by allocating resources according to the maximum capacity of the cell in the existing technology, and the problem that static allocation of resources according to the average capacity of the cell cannot adapt to the requirements of cell business needs that change over time. BRIEF DESCRIPTION OF THE DRAWINGS
[0020] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the following briefly introduces the drawings required for describing the embodiments of the present application.
[0021] Figure 1 A schematic diagram of a resource allocation method according to an embodiment of the present invention;
[0022] Figure 2A schematic diagram of a flow chart of a resource allocation method provided in another embodiment of the present application;
[0023] Figure 3 A schematic diagram of a flow chart of a method for obtaining remaining cell resources in a resource allocation method provided in an embodiment of the present application;
[0024] Figure 4 A schematic diagram of a flow chart of a method for increasing cell resources in a resource allocation method provided in an embodiment of the present application;
[0025] Figure 5 A schematic diagram of a process for initial allocation of cell resources in a resource allocation method provided in an embodiment of the present application;
[0026] Figure 6 A schematic diagram of the structure of a resource allocation device provided in an embodiment of the present application;
[0027] Figure 7 A schematic diagram of the structure of a resource allocation device provided in an embodiment of the present application. DETAILED DESCRIPTION
[0028] The following describes in detail embodiments of the present application, examples of which are shown in the accompanying drawings, wherein the same or similar reference numerals throughout represent the same or similar elements or elements having the same or similar functions. The embodiments described below with reference to the accompanying drawings are exemplary and are only used to explain the present application, and are not to be construed as limiting the present invention.
[0029] It will be understood by those skilled in the art that, unless expressly stated otherwise, the singular forms "a", "an", "said" and "the" used herein may also include the plural forms. It should be further understood that the term "comprising" used in the specification of the present application refers to the presence of the features, integers, steps, operations, elements and / or components, but does not exclude the presence or addition of one or more other features, integers, steps, operations, elements, components and / or groups thereof. It should be understood that when we refer to an element as being "connected" or "coupled" to another element, it may be directly connected or coupled to the other element, or there may be intermediate elements. In addition, "connected" or "coupled" as used herein may include wireless connections or wireless couplings. The term "and / or" used herein includes all or any units and all combinations of one or more associated listed items.
[0030] In order to make the objectives, technical solutions and advantages of this application clearer, the implementation methods of this application will be further described in detail below with reference to the accompanying drawings.
[0031] The technical solution provided in the embodiment of the present application can be applicable to a variety of systems, especially 5G systems. For example, the applicable system can be a global system of mobile communication (GSM) system, a code division multiple access (CDMA) system, a wideband code division multiple access (WCDMA) general packet radio service (GPRS) system, a long term evolution (LTE) system, a LTE frequency division duplex (FDD) system, a LTE time division duplex (TDD) system, an advanced long term evolution (LTE-A) system, a universal mobile telecommunication system (UMTS), a world-wide interoperability for microwave access (WiMAX) system, a 5G new air interface (NR) system, etc. These various systems include terminal equipment and network side equipment. The system may also include a core network part, such as an evolved packet system (EPS), a 5G system (5GS), etc.
[0032] First, several terms involved in this application are introduced and explained:
[0033] The physical layer (PL) is the lowest layer in the OSI model of computer networks and the foundation of the entire open system. It provides transmission media and interconnection equipment for data communication between devices, provides a reliable environment for data transmission, and ensures that the original data can be transmitted on various physical media.
[0034] Layer 2 (L2) refers to the data link layer in the general multilayer communication model of Open Systems Interconnection. The data link layer ensures the initial connection is established, devices output data into data frames, and is responsible for confirming the successful receipt of data from the recipient.
[0035] The NR protocol supports up to eight layers of transmission for a single UE in the downlink, with two codewords mapped to a maximum of four layers, and two codewords mapped to a maximum of eight layers. The uplink supports up to four layers of transmission for a single codeword. Limited by terminal size and cost, current commercial NR terminals support four layers of transmission in the downlink and two layers in the uplink. NR outdoor base stations generally use 64 or 32 antennas for transmission, and can utilize multi-antenna beamforming technology to support multiplexing transmission between multiple users, known as MU-MIMO technology, thereby increasing the number of transmission layers per carrier. Currently, commercial NR equipment can handle 16 layers of transmission per carrier in the downlink and eight layers in the uplink.
[0036] An NR base station consists of a main control board (MCU) and a baseband board, each with a fixed processing capacity. In real-world networks, traffic across multiple cells on a baseband board is unevenly distributed. Some cells covering hotspots experience high traffic, while others covering less-hotspots experience low traffic. Furthermore, within the same cell, traffic fluctuates, with high traffic during work hours and low traffic after hours. Designing resources for each cell based on maximum capacity is undoubtedly over-designed, resulting in increased costs for base station hardware and operator electricity bills, as well as high hardware power consumption. If the baseband board is designed based on average capacity, statically configuring the support capacity for each cell, it cannot adapt to changing cell service demands over time.
[0037] If multiple cells can share the processing power of the entire baseband board, the hardware investment cost can be reduced and resource utilization efficiency can be improved under the premise of a fixed total processing power. However, multiple cells on the base station medium access control (MAC) layer generally adopt an independent parallel scheduling scheme, which cannot dynamically allocate physical resource blocks (PRBs) supported by the board for each transmission time interval (TTI). Therefore, the technical solution provided in the embodiment of the present application periodically and dynamically allocates available PRB resources to multiple cells within the same baseband board based on the processing power of the baseband board and the actual service needs of the cell, thereby improving the utilization of baseband resources. It can solve the problems of the existing technology that allocate resources according to the maximum capacity of the cell, resulting in increased costs such as base station hardware and operator electricity costs, high hardware power consumption, and the problem that static resource allocation according to the average capacity of the cell cannot adapt to the requirements of cell service needs that change over time.
[0038] The following specific embodiments describe in detail the technical solution of the present application and how the technical solution of the present application solves the above-mentioned technical problems. The following specific embodiments can be combined with each other, and the same or similar concepts or processes may not be repeated in some embodiments. The embodiments of the present application will be described below in conjunction with the accompanying drawings.
[0039] The present application provides a resource allocation method, such as Figure 1 As shown, the method includes:
[0040] S101. For each baseband board, periodically obtain the currently allocated resource quantity of each activated cell on the board and the resource utilization rate and allocated resource quantity of each activated cell in a resource scheduling cycle;
[0041] S102. Determine a first cell for adjusting the amount of resources based on a preset threshold, resource utilization rates of each activated cell, a maximum amount of resources that can be allocated to each activated cell, and a currently allocated amount of resources;
[0042] S103: Adjust the quantity of resources of the first cell.
[0043] Specifically, in this embodiment, S101 may include:
[0044] For each activated cell on a board, the total number of resources allocated across all slots within a resource scheduling cycle is calculated as the current number of resources allocated to the cell. The average number of scheduled resources is then calculated based on the current number of resources allocated to the cell and the total number of slots. The ratio of the average number of scheduled resources to the current number of resources allocated to the cell is used to determine the resource utilization rate for the cell.
[0045] S102 may specifically include: when the resource utilization of the first activated cell is greater than the preset threshold, and the number of resources currently allocated to the first activated cell is less than the maximum number of resources that can be allocated to the first activated cell, determining that the first activated cell needs to adjust the number of resources upward (i.e., determining that the first activated cell needs to increase the number of resources), the first cell includes at least one first activated cell.
[0046] That is to say, when the utilization rate of an activated cell is greater than the preset threshold and the number of resources allocated to the activated cell is less than the maximum number of resources that can be allocated to the activated cell, it is determined that the activated cell needs to adjust the number of resources, and a resource increase flag is configured for the activated cell to indicate that the cell has a need to increase resources (i.e., the cell has a need to increase the number of resources).
[0047] S103 may specifically include: adjusting the number of resources of the first cell based on the remaining number of resources of the board or the remaining number of resources of cells on the board that do not need to increase the number of resources.
[0048] A resource allocation method provided in an embodiment of the present application periodically and dynamically allocates available PRB resources to multiple cells within the same baseband board based on the processing capability of the baseband board and the actual business needs of the cell, thereby improving the utilization rate of the baseband resources. It can solve the problems of increased costs such as base station hardware and operator electricity bills, high hardware power consumption, etc. caused by allocating resources according to the maximum capacity of the cell in the existing technology, and the problem that static allocation of resources according to the average capacity of the cell cannot adapt to the requirements of cell business needs that change over time.
[0049] In some embodiments, when there are multiple first cells, S103 may specifically include:
[0050] S1. Determine the remaining number of resources of the board and the number of resources that need to be adjusted in a first cell.
[0051] S2. When the remaining number of resources on the board is greater than the number of resources of the first cell that need to be adjusted this time, allocating the number of resources that need to be adjusted this time to the first cell from the remaining number of resources on the board;
[0052] S3. Perform an operation of adjusting the number of resources on the next first cell until all the first cells are traversed.
[0053] Specifically, in this embodiment, the number of remaining resources of the single board can be determined in the following manner: for a resource scheduling cycle, the number of resources allocated to all activated cells on the single board is accumulated to obtain the number of resources allocated to the single board; the difference between the total number of resources supported by the single board and the number of resources allocated to the single board is determined as the number of remaining resources of the single board.
[0054] The number of resources that need to be adjusted for a cell this time is the product of the average number of scheduled resources and the preset upward adjustment step factor. When the number of remaining resources on a single board is greater than or equal to the number of resources that need to be adjusted for the first cell this time, the number of resources that need to be adjusted this time can be directly allocated to the first cell from the number of remaining resources on the single board. And when the number of remaining resources on a single board is greater than the number of resources that need to be adjusted for the first cell this time, resource adjustment operations can also be performed on the next cell that needs to increase resources, until all cells that need to increase resources are traversed.
[0055] In some embodiments, S103 may further include:
[0056] S4. When the remaining number of resources of the single board is less than the number of resources that need to be adjusted for the first cell this time, determine the remaining number of resources of the second cell, where the second cell is a cell on the single board for which the number of resources does not need to be adjusted upward (i.e., the second cell is a cell on the single board for which the number of resources does not need to be increased);
[0057] S5. Allocate a first resource quantity to the first cell based on the remaining resource quantity of the second cell, where the first resource quantity is the difference between the resource quantity to be adjusted this time and the remaining resource quantity of the board.
[0058] Specifically, in this embodiment, if the number of remaining resources of the single board is less than the number of resources that need to be adjusted for the first cell this time, the remaining resources of the single board cannot meet the demand of the first cell to increase resources this time. Therefore, after allocating the remaining resources of the single board to the first cell, resources can also be allocated to the first cell based on the remaining number of resources of the cell that does not increase resources on the single board to achieve the number of resources that need to be adjusted this time.
[0059] Among them, the number of remaining resources of each cell on the single board can be determined by the following method: according to the number of resources allocated to the cell and the number of all slots in a resource scheduling cycle, the average number of scheduled resources is obtained, and then the difference between the number of resources allocated to the cell and the average number of scheduled resources is determined as the remaining number of resources for the cell.
[0060] In some embodiments, S5 may specifically include:
[0061] Arrange the remaining resources of the plurality of second cells in descending order;
[0062] Allocating resource quantities to the first cell in sequence from the remaining resource quantities of the plurality of second cells arranged in descending order until the allocated resource quantity reaches the first resource quantity;
[0063] The operation of adjusting the amount of resources is performed on the next first cell until all the first cells are traversed.
[0064] That is to say, when there are multiple cells on the board that do not increase resources, after obtaining the remaining number of resources of the cells on the board that do not increase resources, resources can be allocated to the first cell starting from the cell with the most remaining resources until the resource increase needs of the first cell are met.
[0065] When the remaining resources of the cell can meet the resource increase demand of the first cell and there are still surplus remaining resources in the cell, resource adjustment operations can be performed on the next cell with resource increase demand until all cells with resource increase demand are traversed (that is, until all cells with resource increase demand are traversed).
[0066] or,
[0067] Allocate the remaining resources of the plurality of second cells to the first cell. When the first resource quantity is still not reached, end the resource adjustment and wait for the next resource scheduling cycle.
[0068] That is to say, if all the remaining resources of the cells on the board that do not increase resources are allocated to the first cell, and it still cannot meet the demand for resource increase of the first cell, then the resource increase will fail, and the resource adjustment will end. Wait for the next resource scheduling cycle to re-determine whether the first cell needs to increase resources (i.e., increase the number of resources). When the first cell needs to increase resources, determine the number of resources that need to be increased and adjust the number of resources of the first cell.
[0069] In some embodiments, the method further comprises:
[0070] At intervals of a preset period, resources are allocated to the newly created third cell on the board, and resources of the newly deleted cell from the board are recovered, wherein the preset period is much shorter than the resource scheduling period.
[0071] In other words, resources can be periodically allocated to newly created third cells on the board and resources for newly deleted cells can be recovered from the board. The duration of this preset period is much shorter than the duration of the resource scheduling period. For example, the preset period is 5 ms and the resource scheduling period is 100 s. The duration of the period can be configured by the base station. It should be noted that this example does not limit the technical solutions of the embodiments of the present application in any way.
[0072] In some embodiments, when there are multiple third cells, allocating a number of resources for the newly created third cell on the board may specifically include:
[0073] For a third cell, when the number of remaining resources of the single board is greater than the minimum reserved resource number configured for the third cell, a second number of resources is reserved for the third cell from the remaining number of resources of the single board, where the second number of resources is equal to the minimum reserved resource number, or the second number of resources is greater than the minimum reserved resource number and less than or equal to the default number of resources configured for the third cell;
[0074] The operation of allocating the number of resources is performed on the next third cell until all the third cells are traversed.
[0075] Specifically, in this embodiment, the number of remaining resources of the single board can be determined in the following manner: for a preset period, the number of resources allocated to all activated cells on the single board is accumulated to obtain the number of resources allocated to the single board; the difference between the total number of resources supported by the single board and the number of resources allocated to the single board is determined as the number of remaining resources of the single board.
[0076] The minimum number of reserved resources and the default number of resources for a newly created cell on the board can be obtained based on the base station's configuration parameters, and the default number of resources is greater than the minimum number of resources. When the remaining number of resources on the board is greater than or equal to the minimum number of reserved resources for the third cell, the second number of resources can be reserved for the third cell directly from the remaining number of resources on the board. Furthermore, when the remaining number of resources on the board is greater than the second number of resources required to be reserved for the third cell, resource reservation can be performed for the next newly created cell, and this process continues until all newly created cells have been traversed.
[0077] In some embodiments, it may also include:
[0078] When the remaining resource quantity of the single board is less than the minimum reserved resource quantity configured for the third cell, obtaining the remaining resource quantity of other cells on the single board except the third cell;
[0079] A third resource quantity is allocated to the third cell based on the remaining resource quantity of the other cells, where the third resource quantity is a difference between the second resource quantity and the remaining resource quantity of the board.
[0080] Specifically, in this embodiment, if the number of remaining resources of the single board is less than the minimum reserved resource number of the third cell, the remaining resources of the single board cannot meet the resource reservation requirements of the third cell. Therefore, after reserving the remaining resources of the single board for the third cell, resources can also be reserved for the third cell based on the remaining resources of other cells on the single board.
[0081] Among them, the number of remaining resources of each other cell on the single board can be determined by the following method: according to the number of resources allocated to the cell and the number of all slots in a preset period, the average number of scheduled resources is obtained, and then the difference between the number of resources allocated to the cell and the average number of scheduled resources is determined as the remaining number of resources for the cell.
[0082] In some embodiments, when there are multiple other cells, allocating a third amount of resources to the third cell based on the remaining amount of resources of the other cells includes:
[0083] Arrange the remaining resources of the other cells in descending order;
[0084] Allocating resources to the third cell in sequence from the remaining resource quantities of the plurality of other cells arranged in descending order until the allocated resource quantity reaches the third resource quantity;
[0085] The operation of reserving the number of resources is performed on the next third cell until all the third cells are traversed.
[0086] Specifically, in this embodiment, when there are multiple other cells on the board, after obtaining the remaining resource counts of the multiple cells, resources can be allocated to the third cell starting from the cell with the most remaining resources until the resource reservation requirements of the third cell are met.
[0087] When the remaining resources of the cell can meet the resource reservation requirements of the third cell and there are still surplus remaining resources in the cell, resource reservation operation can be performed on the next newly built cell until all newly built cells are traversed.
[0088] In some embodiments, the method further comprises:
[0089] Allocating all remaining resources of the other cells to the third cell, and if the third resource quantity is still not reached, obtaining excess resource quantities of the other cells and arranging them in descending order;
[0090] A fourth amount of resources is allocated to the third cell based on the excess amount of resources of the other cells, where the fourth amount of resources is a difference between the third amount of resources and a total amount of remaining resources of the other cells.
[0091] Specifically, in this embodiment, if all remaining resources of other cells on the board are allocated to the third cell, but the resource reservation requirement of the third cell cannot be met, resources can be allocated to the third cell based on the excess resources of other cells.
[0092] The amount of excess resources allocated to a cell is the difference between the amount of resources allocated to the cell and the amount of default resources in the cell.
[0093] In some embodiments, allocating a fourth amount of resources to the third cell based on the amount of excess resources allocated to the other cells may specifically include:
[0094] allocating resource quantities to the third cell in sequence from the excess resource quantities of the plurality of other cells arranged in descending order until the allocated resource quantity reaches a fourth resource quantity;
[0095] The operation of reserving the number of resources is performed on the next third cell until all the third cells are traversed.
[0096] That is, when there are multiple other cells on the board, after obtaining the excess resource counts of the multiple cells, resources can be allocated to the third cell starting from the cell with the most excess resources until the resource reservation requirements of the third cell are met.
[0097] When the excess resources of the cell can meet the resource reservation requirements of the third cell and there are still surplus excess resources of the cell, resource allocation operation can be performed on the next newly built cell until all newly built cells are traversed.
[0098] or,
[0099] When all excess resource quantities of the other cells are allocated to the third cell and the fourth resource quantity is still not reached, an alarm is triggered.
[0100] That is to say, if all the excess resources of other cells on the single board are allocated to the third cell, and the resource reservation requirements of the third cell cannot be met, the resource reservation will fail, the resource reservation will be ended, and an alarm will be triggered to indicate a parameter configuration error.
[0101] In the above embodiments, based on the consideration of the processing capability of the baseband board and the actual service requirements of the cell, available resources are periodically and dynamically allocated to multiple cells within the same baseband board, thereby realizing the sharing of baseband resources, thereby improving the utilization rate of baseband resources and reducing the hardware cost and power consumption of the base station.
[0102] The embodiment of the present application provides a specific implementation scheme of a resource allocation method, which may be:
[0103] A master control module is added to each baseband board to periodically and dynamically allocate PRB resources to the cells on the corresponding board. The master control module's inputs include the resource adjustment period, resource usage for each cell during the period, and resource adjustment control parameters, including the default number of PRBs for the cell, the minimum number of PRBs for the cell, and the adjustment step size. The master control module outputs the number of PRBs available for each cell. During each resource adjustment period, PRBs are allocated to each cell based on the board's total capacity and PRB usage in each cell, resulting in the total number of PRBs available for all activated cells on the board.
[0104] Specifically, the system calculates resource usage for each activated cell on the board within a resource adjustment cycle. The system then determines the number of PRBs that can be allocated to each cell, combining the base station's default number of PRBs for each cell, the minimum number of PRBs for each cell, and the adjustment step size. The base station can configure the duration of the resource adjustment cycle, for example, 100ms, to indicate the time granularity of resource adjustment.
[0105] The basic principles of resource allocation include:
[0106] The number of PRBs that can be allocated to each activated cell is not less than the minimum number of PRBs configured by the base station to ensure basic services such as user access;
[0107] The number of PRBs that can be allocated to each activated cell shall not exceed the maximum number of PRBs configured by the base station to avoid waste of PRB resources;
[0108] Dynamically allocate resources to all cells based on the actual PRB requirements of each activated cell;
[0109] Resource preemption is used to allocate resources. For all cells, resources are only adjusted upwards, not downwards. When there is a demand for PRB resources, resources are actively preempted. The resources of cells without corresponding business needs are preempted by other cells.
[0110] In addition, the master control module can also allocate PRBs for newly established cells and recycle PRBs for newly deleted cells.
[0111] The following uses uplink resource sharing as an example to illustrate the statistical process of resource usage of each cell in the technical solution of the embodiment of the present application:
[0112] a) Each cell counts the total number of PRBs and uplink time slots allocated in a resource scheduling cycle. When a cell is configured with a resource increase flag, it indicates that the cell has a need for resource increase.
[0113] b) Each cell counts the total number of PRBs allocated in each slot. The total number of PRBs allocated in each slot is the sum of the number of scheduled PRBs for each user equipment in the cell and the number of scheduling layers. In other words, the total number of PRBs allocated in all slots of a cell within a resource scheduling cycle is the number of PRBs allocated in the cell.
[0114] c) When a cell is established or deleted, the total number of PRBs allocated during the resource scheduling period is cleared.
[0115] d) When a cell is established, the maximum number of PRBs that can be allocated to the cell is calculated based on the base station configuration parameters, that is: the maximum number of PRBs that can be allocated to the cell = cell bandwidth * maximum number of allowed flows in the cell.
[0116] e) When performing resource scheduling for each uplink, determine whether a cell may need to increase its resources. Specifically, if the number of PRBs currently allocated to a cell is less than the maximum number of PRBs that can be allocated to the cell, the cell is considered to have a possibility of increasing its resources, and the corresponding flag is set. This flag is used to indicate that the cell may have a possibility of increasing its resources.
[0117] Specifically, in this embodiment, the master control module may include the following five functional modules:
[0118] 1) Single-board prb calculation module;
[0119] 2) Cell prb calculation module;
[0120] 3) Resource increase decision module;
[0121] 4) Resource adjustment module;
[0122] 5) Resource initial allocation module.
[0123] The following is combined with Figure 2 , describes the process of resource scheduling and allocation for cells on a single board within a resource adjustment cycle.
[0124] First, a 5ms timer is maintained on each baseband board. When the 5ms timer times out, the resource initial allocation module is called to allocate PRB resources for the newly established cell and reclaim the PRB resources of the newly deleted cell.
[0125] The specific process of calling the resource initial allocation module to allocate PRB resources for newly established cells and reclaiming PRB resources for newly deleted cells is as follows:
[0126] 1. For newly established cells that have not yet allocated resources:
[0127] a) Call the board prb calculation module to obtain the number of remaining prbs on the board;
[0128] Specifically, in this embodiment, the specific process of calling the board prb calculation module to obtain the number of remaining prbs on the board is as follows:
[0129] (1) Accumulate the number of PRBs allocated to all activated cells on the board to obtain the number of PRBs allocated to the board;
[0130] (2) Subtract the number of PRBs allocated to the board from the total number of PRBs supported by the board to obtain the number of PRBs remaining on the board that can be allocated.
[0131] b) Allocate the minimum reserved PRB number for the cell from the number of remaining PRBs on the board. If the number of remaining PRB resources on the board is greater than the minimum reserved PRB number for the cell, the resource reservation for this cell is considered successful and the next cell is executed.
[0132] c) If the number of remaining PRB resources on the board is insufficient to meet the minimum reserved PRB number of the cell, the cell PRB calculation module is called to obtain the number of remaining PRB resources for each cell on the board;
[0133] Specifically, in this embodiment, the specific process of calling the cell prb calculation module to obtain the number of remaining prb resources of each cell on the board is as follows:
[0134] For activated cells:
[0135] (1) Using the total number of PRBs and the total number of slots allocated to the cell within the period (the period corresponding to the 5ms timer), calculate the average number of scheduled PRBs;
[0136] (2) The total number of PRBs allocated to the cell minus the average number of scheduled PRBs is used to obtain the number of remaining PRBs in the cell;
[0137] For inactive cells: average number of scheduled PRBs, the number of remaining PRBs in the cell is 0.
[0138] d) Sort the remaining PRB resources of each cell in descending order, and continue to allocate resources to the cell from the remaining PRB resources of the cell. If the remaining resources meet the reserved PRB requirements of this cell, the resource reservation of this cell is successful, and the next cell will be executed;
[0139] e) If the remaining resources are insufficient, the number of excess PRBs allocated to each cell is calculated, that is, the difference between the number of PRBs allocated to the cell and the default number of PRBs in the cell, and the cells are sorted in descending order;
[0140] f) Continue to allocate reserved PRB resources for the activated cell from the excess PRB number of the cell. If the excess resources meet the reserved PRB requirements of this cell, the resource reservation of this cell is successful and the next cell is executed;
[0141] g) If the excess resources are insufficient, resource reservation fails and an alarm is issued indicating that the base station parameter configuration is incorrect.
[0142] 2. For cells that have been deleted but still have assignable PRB numbers:
[0143] Clear the number of available PRBs for this cell to zero.
[0144] Secondly, each baseband board also maintains a periodic timer. When the periodic timer times out:
[0145] Call the cell prb calculation module to obtain the prb utilization rate of each cell in the period corresponding to the periodic timer;
[0146] Call the resource increase decision module to determine whether each cell needs to increase resources;
[0147] The resource increase module is called to adjust the resources of the cells that need to increase resources.
[0148] The specific process of calling the cell prb calculation module to obtain the prb utilization rate of each cell in the period corresponding to the periodic timer is as follows:
[0149] 1. For activated cells:
[0150] (1) Calculate the average number of scheduled PRBs using the total number of PRBs and the total number of slots allocated to the cell within the period (the period corresponding to the periodic timer);
[0151] (2) The total number of PRBs allocated to the cell minus the average number of scheduled PRBs is used to obtain the number of remaining PRBs in the cell;
[0152] (3) Divide the average number of scheduled PRBs by the total number of PRBs allocated to the cell to obtain the PRB utilization rate of the cell;
[0153] 2. For inactive cells:
[0154] The average number of scheduled PRBs, the number of remaining PRBs in the cell, and the PRB utilization are all 0.
[0155] The specific process of calling the resource increase decision module to determine whether each cell needs to increase resources is as follows:
[0156] If the PRB utilization rate of the activated cell is greater than the preset threshold and the cell resources may be increased (the number of allocated PRBs is less than the maximum number of PRBs that can be allocated to the cell), it is determined that the cell needs to increase resources and a resource increase flag is configured for the cell.
[0157] The specific process of calling the resource adjustment module to adjust the resources of the cells that need resource adjustment is as follows:
[0158] a) Calculate the number of PRBs that need to be increased in the cell as the average number of scheduled PRBs * the increase step factor;
[0159] b) Call the board prb calculation module to obtain the number of remaining prbs on the board;
[0160] c) Allocate the number of PRBs for the cell to increase resources from the number of PRBs remaining on the board. If the number of PRBs remaining on the board is sufficient, the resource increase of this cell is successful and the next cell is executed.
[0161] d) If the remaining PRB resources on the board are insufficient, the cell PRB calculation module is called to obtain the number of remaining PRB resources for each cell on the board;
[0162] e) Sort the remaining PRB resources of the cells that do not need resource increase in descending order, and continue to allocate increased resources to the cell from the remaining PRB resources of the cell. If the remaining resources meet the needs of the cell, the resource increase of the cell is successful, and the next cell is executed;
[0163] f) If the remaining resources are insufficient, the current resource adjustment is terminated and the next resource adjustment cycle is awaited.
[0164] Therefore, during the resource scheduling process, each cell ensures that the number of PRBs scheduled in each time slot does not exceed the allocated number of PRBs by statistically analyzing the cell resource usage within the resource adjustment period. This maximizes the baseband utilization efficiency while meeting actual business needs, allowing cells within the baseband board to share the baseband board's processing capabilities and reduce base station hardware costs and power consumption.
[0165] The following takes a single board of the baseband board as an example. Figures 3-5 , a detailed description is given of the method for obtaining the remaining resources of a cell, the method for increasing cell resources, and the method for initial allocation of cell resources involved in a resource adjustment cycle of a resource allocation method provided in an embodiment of the present application.
[0166] like Figure 3 As shown, an embodiment of the present application provides a method for obtaining the remaining resources of a cell involved in a resource adjustment cycle in a resource allocation method, including:
[0167] S201. Traverse the cells on the board and determine whether the cell is in an activated state. If so, execute S202; if not, execute S205.
[0168] S202: Determine the average number of scheduled PRBs allocated to the cell during the resource scheduling period.
[0169] Specifically, in this embodiment, the average number of scheduled PRBs is calculated based on the total number of PRBs and the total number of slots allocated to the cell during the resource scheduling period, that is, the average number of scheduled PRBs = the total number of PRBs allocated to the cell / the total number of slots.
[0170] S203: Determine the number of remaining PRBs that are not allocated in the resource scheduling period of the cell.
[0171] Specifically, in this embodiment, the difference between the total number of PRBs allocated to the cell and the average number of scheduled PRBs is determined as the number of remaining PRBs in the cell.
[0172] S204: Determine the PRB usage rate of the cell during the resource scheduling period.
[0173] Specifically, in this embodiment, the prb utilization rate of the cell is obtained according to the ratio of the average number of scheduled prbs to the total number of prbs allocated in the cell.
[0174] S205. Clear the number of allocated prbs, the number of remaining prbs, and the prb utilization rate of the cell, and determine whether the cells on the board are traversed. If so, end. If not, repeat S201-S205 until the cells on the board are traversed.
[0175] It should be understood that the current cell in the above S202 to S204 is any activated cell on the board, and the current cell in S205 is any inactivated cell on the board.
[0176] like Figure 4 As shown, an embodiment of the present application provides a method for increasing cell resources involved in a resource adjustment period in a resource allocation method, including:
[0177] S301. Traverse the activated cells on the board to determine whether the cell is marked as needing to increase resource status. If so, execute S302; if not, execute S309.
[0178] Specifically, in this embodiment, the cells can be traversed by traversing the cell index, and when a cell is configured with a resource increase flag, the cell is determined to be in a state requiring resource increase, that is, the cell has a resource increase (ie, increase in resource quantity) requirement.
[0179] It should be noted that before determining whether a cell is marked as needing to increase resources, it is necessary to traverse the activated cells on the board and determine whether each cell is configured with a resource increase flag based on the preset threshold, the resource utilization of each activated cell, and the currently allocated prb and the maximum prb that can be allocated to each activated cell. Specifically, if the prb utilization of an activated cell is greater than the preset threshold, and the number of prbs allocated to the cell is less than the maximum number of prbs that can be allocated to the cell, it is determined that the cell needs to increase resources and a resource increase flag is configured for the cell. Otherwise, it is determined that the cell does not need to increase resources.
[0180] S302: Determine the number of PRBs that need to be increased in this cell.
[0181] Specifically, in this embodiment, for a cell requiring resource increase (i.e., the first cell mentioned above), the number of PRBs that the cell needs to increase can be determined by multiplying the average number of scheduled PRBs by a preset increase step size factor. For example, the number of PRBs that the cell needs to increase = the average number of scheduled PRBs * the increase step size factor. Where, the average number of scheduled PRBs = the total number of PRBs allocated to the cell / the total number of slots.
[0182] S303: Determine the number of remaining PRBs on the board, and allocate the number of PRBs that need to be increased this time to the current cell from the number of remaining PRBs on the board.
[0183] Specifically, in this embodiment, the number of allocated PRBs of all activated cells on the board can be accumulated to obtain the number of PRBs allocated on the board, and the difference between the total number of PRBs supported by the board and the number of PRBs allocated on the board is determined as the number of remaining PRBs on the board.
[0184] S304: Determine whether the number of remaining PRBs on the board is greater than or equal to the number of PRBs that need to be increased in this cell. If so, determine that the resource increase in this cell is successful. If the number of remaining PRBs on the board is greater than the number of PRBs that need to be increased in this cell, continue to S309; if not, execute S305.
[0185] Specifically, in this embodiment, when the number of remaining PRBs on the board is greater than or equal to the number of PRBs that need to be increased for the current cell, it is determined that the resource increase for the current cell is successful. If the number of remaining PRBs on the board is greater than the number of PRBs that need to be increased for the current cell, it is further determined whether the cells on the board have been traversed. If so, the resource adjustment is terminated. If not, steps S301-S309 need to be repeated until the cells on the board have been traversed and the resource adjustment is terminated.
[0186] S305: Determine the number of remaining PRBs of cells other than the current cell on the board, and sort the remaining PRBs of cells that do not require resource increase in descending order.
[0187] Specifically, in this embodiment, the difference between the number of prbs allocated to each cell and the average scheduled prb number is determined as the remaining prb number of the corresponding cell, and then the remaining prb numbers of the cells on the board that do not require resource increase (i.e., the second cell mentioned above) are arranged in descending order.
[0188] S306 : Continue allocating prb numbers to the cell starting from the cell with the largest number of remaining prbs, until the current increase demand of the cell is met.
[0189] Specifically, in this embodiment, for example, the activated cells on the board are A, B, C, D, E, and F. The current cell is A, and the cells that do not require resource increase are C, D, and F. Assume that the number of PRBs that need to be increased in cell A is 30, the number of remaining PRBs on the board is 10, the number of remaining PRBs in cell C is 5, the number of remaining PRBs in cell D is 10, and the number of remaining PRBs in cell F is 8. The remaining PRBs are arranged in descending order as 10, 8, and 5, corresponding to cells D, F, and C, respectively.
[0190] Cell A has already been allocated 10 PRBs and needs to allocate 20 PRBs (the first resource quantity mentioned above) from the remaining resources of cells C, D, and F. Therefore, the number of PRBs allocated to this cell starts from cell D. That is, first allocate 10 PRBs from cell D to cell A, then allocate 8 PRBs from cell F to cell A, and finally allocate 2 of the 5 PRBs from cell C to cell A to meet the current increase in cell A's demand.
[0191] S307. Determine whether the number of remaining PRBs in the cell can meet the number of PRBs that needs to be increased in this cell. If not, execute S308. If so, determine that the resources of this cell are successfully increased, and when there are still remaining PRBs after allocating the first number of PRBs to this cell from the total number of remaining PRBs in the cell, execute S309.
[0192] As described in the above example, if the remaining PRB counts of cells C, D, and F, which do not require resource increase, can satisfy the PRB count required for this increase in cell A, then the resource increase in cell A is determined to be successful. Since the remaining PRB counts of cells C, D, and F are greater than the PRB count required for this increase in cell A, it is also possible to determine whether the cells on the board have been traversed. If so, the resource adjustment is terminated. If not, S301-S309 need to be repeated until all cells on the board have been traversed, terminating the resource adjustment.
[0193] S308: There are no available resources in the current resource adjustment cycle, and the process waits for the next resource adjustment cycle.
[0194] Assume that the number of PRBs that need to be increased in cell A is 40, the number of PRBs remaining on the board is 10, the number of PRBs remaining in cell C is 5, the number of PRBs remaining in cell D is 10, and the number of PRBs remaining in cell F is 8. Cell A has already allocated 10 PRBs and needs to allocate 30 PRBs (the first resource quantity mentioned above) from cells C, D, and F. Even if the remaining PRBs in cells C, D, and F are allocated to cell A, it still cannot meet the current increase in cell A's demand. Therefore, for cell A, there are no available resources in the current resource adjustment cycle, and it needs to wait for the next resource adjustment cycle.
[0195] S309: Determine whether the cells on the board are completely traversed. If so, end the process. If not, repeat S301-S309 until all cells on the board are completely traversed.
[0196] like Figure 5 As shown, a method for initial allocation of cell resources involved in a resource adjustment cycle in a resource allocation method according to an embodiment of the present application is provided, including:
[0197] S401. Traverse the cells on the board and determine whether the cell is an activated cell and the number of allocated PRBs is 0. If so, execute S402; if not, execute S411.
[0198] Specifically, in this embodiment, when a cell on the board is an activated cell and the number of allocated PRBs is 0, it indicates that the cell is a newly built cell (ie, the third cell mentioned above).
[0199] S402. Determine the number of remaining prbs on the single board, and allocate the number of prbs that need to be reserved for this cell from the number of remaining prbs on the single board (the second number of resources mentioned above). The number of prbs that need to be reserved is equal to the minimum reserved prb number, or the number of prbs that need to be reserved is greater than the minimum reserved prb number and is less than or equal to the default number of prbs configured for this cell.
[0200] Specifically, in this embodiment, the number of allocated PRBs of all activated cells on the board can be accumulated to obtain the number of PRBs allocated on the board, and the difference between the total number of PRBs supported by the board and the number of PRBs allocated on the board is determined as the number of remaining PRBs on the board.
[0201] The minimum reserved PRB number and the default PRB number of a cell are pre-configured by the base station for the cell. The minimum reserved PRB number of a cell is used to ensure the number of resources for basic services such as user equipment access in the cell.
[0202] S403. Determine whether the number of remaining prbs on the board is greater than or equal to the minimum reserved prb number of the cell. If so, determine that the resource reservation of the cell is successful. When the number of remaining prbs on the board is greater than the second resource quantity, continue to execute S412; if not, execute S405.
[0203] Specifically, in this embodiment, when the number of remaining PRBs on the board is greater than or equal to the minimum reserved PRB number of the cell, it is determined that the resource reservation of the cell is successful. If the number of remaining PRBs on the board is greater than the second resource quantity, it is further determined whether the cells on the board have been traversed. If so, the resource allocation is terminated. If not, steps S401-S412 need to be repeatedly executed until the cells on the board have been traversed and the resource adjustment is terminated.
[0204] S404: Calculate the remaining prb numbers of other cells on the board and sort them in descending order.
[0205] Specifically, in this embodiment, the difference between the number of PRBs allocated to each cell and the average number of scheduled PRBs is determined as the remaining number of PRBs in the corresponding cell, and then the remaining number of PRBs in each cell is arranged in descending order.
[0206] S405 : Continue allocating prbs to the cell starting from the cell with the largest number of remaining prbs, until the number of prbs required to be reserved by the cell is met.
[0207] Specifically, in this embodiment, for example, 12 prbs (the second number of resources mentioned above) need to be reserved for cell G. The activated cells on the board are A, B, C, D, E, F, and G, and the current cell is G. Assume that the minimum reserved prb number for cell G is 10, the remaining prb number on the board is 2, the remaining prb number for cell A is 5, the remaining prb number for cell B is 0, the remaining prb number for cell C is 6, the remaining prb number for cell D is 1, the remaining prb number for cell E is 0, and the remaining prb number for cell F is 3. The remaining prb numbers are arranged in descending order as 6, 5, 3, 1, 0, and 0, corresponding to cells C, A, F, D, B, and E, respectively.
[0208] Cell G has already been allocated 2 PRBs and needs to allocate 10 PRBs (the third resource quantity mentioned above) from the remaining resources of cells A, B, C, D, E, and F. Therefore, the number of PRBs allocated to this cell starts from cell C. That is, first allocate 6 PRBs from cell C to cell G, and then allocate 4 of the 5 PRBs from cell A to cell G to meet the resource reservation requirement of cell G.
[0209] S406. Determine whether the number of remaining PRBs in the cell can meet the number of PRBs that need to be reserved in the cell. If so, determine that the resource reservation of the cell is successful. When the number of remaining PRBs in the cell is greater than the minimum reserved PRB number in the cell, continue to execute S412; if not, execute S407.
[0210] As described in the above example, the number of remaining PRBs in cells C, A, F, and D can satisfy the third number of resources required to be allocated to cell G, and thus the resource reservation for cell G is determined to be successful. Since the sum of the number of remaining PRBs on the board and the total number of remaining PRBs in cells C, A, F, and D is greater than the number of PRBs required for this resource reservation in cell G, it is also possible to determine whether the cells on the board have been traversed. If so, the process ends; if not, S401-S412 need to be repeated until all cells on the board have been traversed and the process ends.
[0211] S407: Calculate the number of over-allocated PRBs of other cells on the board and sort them in descending order.
[0212] Assume that: the number of prbs that need to be reserved for cell G this time is 22 (the second resource quantity above), the remaining number of prbs on the single board is 2, the remaining number of prbs in cell A is 5, the remaining number of prbs in cell B is 0, the remaining number of prbs in cell C is 6, the remaining number of prbs in cell D is 1, the remaining number of prbs in cell E is 0, and the remaining number of prbs in cell F is 3.
[0213] Even if the remaining PRBs on the board and the total number of remaining PRBs in cells C, A, F, and D are allocated to cell G, the number of PRBs that cell G needs to reserve is still insufficient. The difference between the number of PRBs allocated to each cell and the default number of PRBs in the cell can be calculated to obtain the number of excess PRBs for the corresponding cell and sort them in descending order.
[0214] S408: Continue allocating prbs to the cell starting from the cell with the largest number of over-allocated prbs until the number of prbs that need to be reserved in the cell is met.
[0215] Assume that the number of excess PRBs in cell A is 2, the number of excess PRBs in cell B is 4, the number of excess PRBs in cell C is 1, the number of excess PRBs in cell D is 2, the number of remaining PRBs in cell E is 0, and the number of excess PRBs in cell F is 0. Then the number of excess PRBs in descending order is 4, 2, 2, 1, 0, 0, corresponding to cells B, A, D, C, F, and E respectively.
[0216] Cell G has already been allocated 17 PRBs (2 PRBs remaining on the board, plus the remaining resources of cells A, B, C, D, E, and F, totaling 15 PRBs). It needs to allocate 5 PRBs (the fourth resource quantity mentioned above) from the excess resources of cells A, B, C, D, E, and F. Therefore, the number of PRBs allocated to this cell starts from cell B. That is, first allocate 4 PRBs from cell B to cell G, and then allocate 1 of the 3 PRBs from cell A to cell G to meet the number of PRBs reserved for cell G.
[0217] S409. Determine whether the number of excess PRBs in the cell can meet the number of PRBs that need to be reserved in the cell. If so, determine that the resource reservation of the cell is successful. When the number of excess PRBs in the cell is greater than the number of PRBs that need to be reserved in the cell, continue to execute S412; if not, execute S410.
[0218] As described in the above example, the number of remaining PRBs on the board and the total number of remaining PRBs in cells C, A, F, and D, as well as the number of over-allocated PRBs in cells B, A, D, C, F, and E, can satisfy the number of PRBs that need to be reserved for cell G. Therefore, it is determined that the resources for cell G have been successfully reserved. Since the number of over-allocated PRBs in cells B, A, D, C, F, and E still has remaining PRBs after reserving resources for cell G, it can also be determined whether the cells on the board have been traversed. If so, the process ends. If not, S401-S412 need to be repeated until all cells on the board have been traversed and the process ends.
[0219] S410: Determine that resource allocation in the cell fails, and trigger an alarm to indicate a parameter configuration error.
[0220] Assume that the number of prbs that need to be reserved for cell G this time is 30. Since the remaining resources of the single board (2 prbs), the remaining resources of cells A, B, C, D, E, and F (a total of 15 prbs), and the excess resources of cells A, B, C, D, E, and F (a total of 15 prbs) are all allocated to cell G, the number of prbs that need to be reserved for cell G this time (30 prbs) cannot be met. Therefore, it is determined that the resource reservation of cell G has failed, and an alarm is triggered to indicate a parameter configuration error.
[0221] S411. Determine whether the cell is an unactivated cell and the number of allocated prbs is greater than 0. If so, clear the number of prbs allocated to the cell and execute S412; if not, execute S412.
[0222] Specifically, in this embodiment, when the judgment result of S401 is that a cell is an inactivated cell, the cell is an inactivated cell, and it is necessary to continue to determine whether the number of prbs allocated to the cell is greater than zero. If so, the prb of the cell needs to be cleared to achieve the recovery of the prb of the deleted cell.
[0223] S412: Determine whether the cells on the board are completely traversed. If so, end the process. If not, repeat S401-S412 until all cells on the board are completely traversed.
[0224] In the above, combined with the Figure 1-5 A resource allocation method provided in an embodiment of the present application is described in detail below with reference to the attached Figure 6 and 7 A resource allocation device and apparatus provided in this application are described in detail respectively.
[0225] The embodiment of the present application provides a resource allocation device, such as Figure 6 As shown, the device 50 includes: a memory 501, a transceiver 502 and a processor 503, wherein:
[0226] Memory 501, used for storing computer programs;
[0227] a transceiver 502, configured to transmit and receive data under the control of the processor 503;
[0228] The processor 503 is configured to read the computer program stored in the memory 501 and execute the method shown in any one of the above embodiments.
[0229] For the contents not described in detail in the device 50 provided in the embodiment of the present application, reference can be made to the method provided in the above embodiment. The beneficial effects that can be achieved by the device 50 provided in the embodiment of the present application are the same as those of the method provided in the above embodiment, and will not be repeated here.
[0230] It should be understood that in the above embodiments, Figure 6 The bus architecture in the embodiment can include any number of interconnected buses and bridges, specifically linking together various circuits of one or more processors represented by processor 503 and memory represented by memory 501. The bus architecture can also link together various other circuits such as peripheral devices, voltage regulators, and power management circuits, which are all well known in the art and therefore will not be described further herein. The bus interface provides an interface. The transceiver 502 can be multiple components, that is, including a transmitter and a receiver, providing a unit for communicating with various other devices on a transmission medium, such as a wireless channel, a wired channel, an optical cable, and the like. The processor 503 is responsible for managing the bus architecture and general processing, and the memory 501 can store data used by the processor 503 when performing operations.
[0231] The processor 503 may be a central processing unit (CPU), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA), or a complex programmable logic device (CPLD). The processor may also adopt a multi-core architecture.
[0232] Based on the same inventive concept, the embodiment of the present application further provides a resource allocation device, such as Figure 7 As shown, the resource allocation device 60 may include: an acquisition module 601, a determination module 602 and an allocation module 603, wherein:
[0233] The acquisition module 601 is used to periodically acquire the number of resources currently allocated to each activated cell on each baseband board and the resource utilization rate of each activated cell in a resource scheduling cycle;
[0234] A determination module 602 is configured to determine a first cell for adjusting the amount of resources based on a preset threshold, resource utilization rates of each activated cell, a maximum amount of resources that can be allocated to each activated cell, and a currently allocated amount of resources;
[0235] The allocation module 603 is configured to adjust the amount of resources of the first cell.
[0236] In some embodiments, when there are multiple first cells, the allocation module 603 is specifically configured to:
[0237] Determine the remaining resource quantity of the board and the resource quantity of a first cell that needs to be adjusted this time;
[0238] When the remaining resource quantity of the single board is greater than the resource quantity of the first cell that needs to be adjusted this time, allocating the resource quantity that needs to be adjusted this time to the first cell from the remaining resource quantity of the single board;
[0239] The operation of adjusting the amount of resources is performed on the next first cell until all the first cells are traversed.
[0240] In some embodiments, the allocation module 603 is further configured to:
[0241] When the remaining number of resources of the single board is less than the number of resources that need to be adjusted for the first cell, determine the remaining number of resources of the second cell, where the second cell is a cell on the single board that does not need to increase the number of resources;
[0242] A first resource quantity is allocated to the first cell based on the remaining resource quantity of the second cell, where the first resource quantity is the difference between the resource quantity to be adjusted this time and the remaining resource quantity of the board.
[0243] In some embodiments, when there are multiple second cells, the allocation module 603 is specifically configured to:
[0244] Arrange the remaining resources of the plurality of second cells in descending order;
[0245] Allocating resources to the first cell in sequence from the remaining resource quantities of the plurality of second cells arranged in descending order until the allocated resource quantity reaches the first resource quantity;
[0246] The operation of adjusting the amount of resources is performed on the next first cell until all the first cells are traversed.
[0247] In some embodiments, when allocating the amount of resources to be adjusted for the first cell based on the remaining amount of resources of the second cell, the allocation module 603 is further configured to:
[0248] Allocate the remaining resources of the plurality of second cells to the first cell. When the first resource quantity is still not reached, end the resource adjustment and wait for the next resource scheduling cycle.
[0249] In some embodiments, the determination module 602 is specifically configured to:
[0250] When the resource utilization of the first activated cell is greater than the preset threshold and the number of resources currently allocated to the first activated cell is less than the maximum number of resources that can be allocated to the first activated cell, it is determined that the first activated cell needs to increase the number of resources, and the first cell includes at least one first activated cell.
[0251] In some embodiments, the allocation module 603 is further configured to:
[0252] At intervals of a preset period, resources are allocated to the newly created third cell on the board, and resources of the newly deleted cell from the board are recovered, wherein the preset period is much shorter than the resource scheduling period.
[0253] In some embodiments, when there are multiple third cells, the allocation module 603 is specifically configured to:
[0254] For a third cell, when the number of remaining resources of the single board is greater than the minimum reserved resource number configured for the third cell, a second number of resources is reserved for the third cell from the remaining number of resources of the single board, where the second number of resources is equal to the minimum reserved resource number, or the second number of resources is greater than the minimum reserved resource number and less than or equal to the default number of resources configured for the third cell;
[0255] The operation of allocating the number of resources is performed on the next third cell until all the third cells are traversed.
[0256] In some embodiments, the allocation module 603 is further configured to:
[0257] When the remaining resource quantity of the single board is less than the minimum reserved resource quantity configured for the third cell, obtaining the remaining resource quantity of other cells on the single board except the third cell;
[0258] A third resource quantity is allocated to the third cell based on the remaining resource quantity of the other cells, where the third resource quantity is a difference between the second resource quantity and the remaining resource quantity of the board.
[0259] In some embodiments, when there are multiple other cells, the allocation module 603 is specifically configured to:
[0260] Arrange the remaining resources of the other cells in descending order;
[0261] Allocating resources to the third cell in sequence from the remaining resource quantities of the plurality of other cells arranged in descending order until the allocated resource quantity reaches the third resource quantity;
[0262] The operation of reserving the number of resources is performed on the next third cell until all the third cells are traversed.
[0263] In some embodiments, the allocation module 603 is further configured to:
[0264] Allocating all remaining resources of the other cells to the third cell, and if the third resource quantity is still not reached, obtaining excess resource quantities of the other cells and arranging them in descending order;
[0265] A fourth amount of resources is allocated to the third cell based on the excess amount of resources of the other cells, where the fourth amount of resources is a difference between the third amount of resources and a total amount of remaining resources of the other cells.
[0266] In some embodiments, the allocating module 603 reserves a fourth amount of resources for the third cell based on the excess amount of resources allocated to the other cells, including:
[0267] allocating resources to the third cell in sequence from the excess resource amounts of the plurality of other cells arranged in descending order until the allocated resource amount reaches the fourth resource amount;
[0268] Performing the operation of reserving the number of resources for the next third cell until all the third cells are traversed;
[0269] or,
[0270] When all excess resource quantities of the other cells are allocated to the third cell and the fourth resource quantity is still not reached, an alarm is triggered.
[0271] For the contents not described in detail in the device 60 provided in the embodiment of the present application, reference can be made to the method provided in the above embodiment. The beneficial effects that can be achieved by the device 60 provided in the embodiment of the present application are the same as those of the method provided in the above embodiment, and will not be repeated here.
[0272] An embodiment of the present application provides a computer-readable storage medium having a computer program stored thereon. When the computer-readable storage medium is run on a computer, the computer can execute the corresponding contents of the aforementioned method embodiment.
[0273] Compared with the existing technology, the resource allocation method provided in the embodiment of the present application can realize baseband board resource sharing. According to the processing capability of the baseband board and the actual business needs of the cell, available resources can be dynamically allocated to multiple cells within the same baseband board periodically, thereby improving the utilization rate of the baseband board resources. It can solve the problems of increased costs such as base station hardware and operator electricity bills, high hardware power consumption caused by allocating resources according to the maximum capacity of the cell in the existing technology, and the problem that static allocation of resources according to the average capacity of the cell cannot adapt to the requirements of cell business needs that change over time.
[0274] It should be noted that the division of units in the embodiments of the present application is schematic and is merely a logical functional division. In actual implementation, other division methods may be used. Furthermore, the functional units in the various embodiments of the present application may be integrated into a single processing unit, or each unit may exist physically separately, or two or more units may be integrated into a single unit. The aforementioned integrated units may be implemented in the form of hardware or software functional units.
[0275] If the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a processor-readable storage medium. Based on this understanding, the technical solution of the present application is essentially or the part that contributes to the prior art or all or part of the technical solution can be embodied in the form of a software product, and the computer software product is stored in a storage medium, including a number of instructions for enabling a computer device (which can be a personal computer, server, or network device, etc.) or a processor to execute all or part of the steps of the method described in each embodiment of the present application. The aforementioned storage medium includes: various media that can store program codes, such as a USB flash drive, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk or an optical disk.
[0276] Those skilled in the art will appreciate that the embodiments disclosed herein may be provided as methods, systems, or computer program products. Therefore, the present application may take the form of a complete hardware embodiment, a complete software embodiment, or an embodiment combining software and hardware. Furthermore, the present application may take the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to magnetic disk storage and optical storage, etc.) containing computer-usable program code.
[0277] The present application is described with reference to the flowcharts and / or block diagrams of the methods, devices (systems), and computer program products according to the embodiments of the present application. It should be understood that each process and / or box in the flowchart and / or block diagram, as well as the combination of the processes and / or boxes in the flowchart and / or block diagram, can be implemented by computer-executable instructions. These computer-executable instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing device to produce a machine, so that the instructions executed by the processor of the computer or other programmable data processing device generate instructions for implementing the steps in the process. Figure 1 a process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.
[0278] These processor-executable instructions may also be stored in a processor-readable memory that can direct a computer or other programmable data processing device to operate in a specific manner, so that the instructions stored in the processor-readable memory produce an article of manufacture comprising an instruction device that implements the process Figure 1 a process or multiple processes and / or boxes Figure 1 The function specified in one or more boxes.
[0279] These processor-executable instructions can also be loaded onto a computer or other programmable data processing device so that a series of operational steps are performed on the computer or other programmable device to produce a computer-implemented process, thereby providing instructions for executing on the computer or other programmable device to implement the process. Figure 1 a process or multiple processes and / or boxes Figure 1 The steps for the function specified in one or more boxes.
[0280] The above descriptions are only partial embodiments of the present invention. It should be pointed out that ordinary technicians in this technical field can make several improvements and modifications without departing from the principles of the present invention. These improvements and modifications should also be regarded as within the scope of protection of the present invention.
Claims
1. A resource allocation method, characterized in that: The method comprises: For each baseband board, periodically obtain the number of resources currently allocated to each activated cell on the board and the resource utilization rate of each activated cell in a resource scheduling cycle; Determining a first cell for adjusting the amount of resources based on a preset threshold, resource utilization rates of each activated cell, a maximum amount of resources that can be allocated to each activated cell, and a currently allocated amount of resources; Adjusting the quantity of resources of the first cell; The determining, based on a preset threshold, resource utilization rates of each activated cell, a maximum amount of resources allocable to each activated cell, and a currently allocated amount of resources, of the first cell for adjusting the amount of resources includes: When the resource utilization of the first activated cell is greater than the preset threshold and the number of resources currently allocated to the first activated cell is less than the maximum number of resources that can be allocated to the first activated cell, it is determined that the first activated cell needs to increase the number of resources, and the first cell includes at least one first activated cell.
2. The method according to claim 1, characterized in that When there are multiple first cells, the adjusting the number of resources of the first cells includes: Determine the remaining resource quantity of the board and the resource quantity of a first cell that needs to be adjusted this time; When the remaining resource quantity of the single board is greater than the resource quantity of the first cell that needs to be adjusted this time, allocating the resource quantity that needs to be adjusted this time to the first cell from the remaining resource quantity of the single board; The operation of adjusting the amount of resources is performed on the next first cell until all the first cells are traversed.
3. The method according to claim 2, characterized in that The method further comprises: When the remaining number of resources of the single board is less than the number of resources that need to be adjusted for the first cell, determine the remaining number of resources of the second cell, where the second cell is a cell on the single board that does not need to increase the number of resources; A first resource quantity is allocated to the first cell based on the remaining resource quantity of the second cell, where the first resource quantity is the difference between the resource quantity to be adjusted this time and the remaining resource quantity of the board.
4. The method according to claim 3, characterized in that When there are multiple second cells, allocating the first resource quantity to the first cell based on the remaining resource quantity of the second cell includes: Arrange the remaining resources of the plurality of second cells in descending order; Allocating resources to the first cell in sequence from the remaining resource quantities of the plurality of second cells arranged in descending order until the allocated resource quantity reaches the first resource quantity; The operation of adjusting the amount of resources is performed on the next first cell until all the first cells are traversed.
5. The method according to claim 4, characterized in that The method further comprises: Allocate the remaining resources of multiple second cells to the first cell. When the first resource quantity is still not reached, end the resource adjustment of the first cell and wait for the next resource scheduling cycle.
6. The method according to claim 1, wherein The method further comprises: At intervals of a preset period, resources are allocated to the newly created third cell on the board, and resources of the newly deleted cell from the board are recovered, wherein the preset period is much shorter than the resource scheduling period.
7. The method according to claim 6, characterized in that When there are multiple third cells, allocating a number of resources for the newly created third cell on the board includes: For a third cell, when the number of remaining resources of the single board is greater than the minimum reserved resource number configured for the third cell, a second number of resources is reserved for the third cell from the remaining number of resources of the single board, where the second number of resources is equal to the minimum reserved resource number, or the second number of resources is greater than the minimum reserved resource number and less than or equal to the default number of resources configured for the third cell; The operation of allocating the number of resources is performed on the next third cell until all the third cells are traversed.
8. The method according to claim 7, characterized in that The method further comprises: When the remaining resource quantity of the single board is less than the minimum reserved resource quantity configured for the third cell, obtaining the remaining resource quantity of other cells on the single board except the third cell; A third resource quantity is allocated to the third cell based on the remaining resource quantity of the other cells, where the third resource quantity is a difference between the second resource quantity and the remaining resource quantity of the board.
9. The method according to claim 8, characterized in that When there are multiple other cells, allocating a third amount of resources to the third cell based on the remaining amount of resources of the other cells includes: Arrange the remaining resources of the other cells in descending order; Allocating resources to the third cell in sequence from the remaining resource quantities of the plurality of other cells arranged in descending order until the allocated resource quantity reaches the third resource quantity; The operation of reserving the number of resources is performed on the next third cell until all the third cells are traversed.
10. The method according to claim 9, characterized in that The method further comprises: Allocating all remaining resources of the other cells to the third cell, and if the third resource quantity is still not reached, obtaining excess resource quantities of the other cells and arranging them in descending order; A fourth amount of resources is allocated to the third cell based on the excess amount of resources of the other cells, where the fourth amount of resources is a difference between the third amount of resources and a total amount of remaining resources of the other cells.
11. The method according to claim 10, characterized in that The reserving a fourth resource quantity for the third cell based on the excess resource quantity of the other cells includes: allocating resources to the third cell in sequence from the excess resource amounts of the plurality of other cells arranged in descending order until the allocated resource amount reaches the fourth resource amount; Performing the operation of reserving the number of resources for the next third cell until traversing multiple third cells; or, When all excess resource quantities of the other cells are allocated to the third cell and the fourth resource quantity is still not reached, an alarm is triggered.
12. A resource allocation device, characterized in that: include: memory for storing computer programs; a transceiver for transmitting and receiving data under the control of the processor; A processor is configured to read the computer program in the memory and perform the following operations: For each baseband board, periodically obtain the number of resources currently allocated to each activated cell on the board and the resource utilization rate of each activated cell in a resource scheduling cycle; Determining a first cell for adjusting the amount of resources based on a preset threshold, resource utilization rates of each activated cell, a maximum amount of resources that can be allocated to each activated cell, and a currently allocated amount of resources; Adjusting the quantity of resources of the first cell; The processor is specifically used to: when the resource utilization of the first activated cell is greater than the preset threshold and the number of resources currently allocated to the first activated cell is less than the maximum number of resources that can be allocated to the first activated cell, determine that the first activated cell needs to increase the number of adjusted resources, and the first cell includes at least one first activated cell.
13. A resource allocation device, characterized in that: include: An acquisition module is used to periodically acquire the number of resources currently allocated to each activated cell on each baseband board and the resource utilization rate of each activated cell in a resource scheduling cycle; a determination module, configured to determine a first cell for adjusting the amount of resources based on a preset threshold, resource utilization rates of each activated cell, a maximum amount of resources that can be allocated to each activated cell, and an amount of currently allocated resources; an allocation module, configured to adjust the amount of resources of the first cell; The determination module is specifically used to: when the resource utilization of the first activated cell is greater than the preset threshold and the number of resources currently allocated to the first activated cell is less than the maximum number of resources that can be allocated to the first activated cell, determine that the first activated cell needs to increase the number of resources, and the first cell includes at least one first activated cell.
14. A computer-readable storage medium, characterized in that The computer-readable storage medium stores a computer program, and the computer program is executed by a processor to implement the resource allocation method according to any one of claims 1 to 11.
Citation Information
Patent Citations
Method and device for distributing baseband pool resources
CN103607773A
Method and device for improving baseband resource utilization rate
CN105682145A