Resource allocation method, device, resource scheduling method and equipment
By constructing a user-level interference graph and assigning multiple resource segments with scheduling priority to the user cluster, the problem of low resource utilization in the existing technology is solved, and the fine allocation of resources and interference optimization are realized, and the user service quality and system performance are improved.
Patent Information
- Application Number
- CN202211150178.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-09-21
- Publication Date
- 2025-08-19
- Estimated Expiration
- 2042-09-21
AI Technical Summary
The existing resource allocation method based on graph theory leads to low amount of available resources for a single user and low resource utilization of the entire system, which cannot accurately reflect the level of interference of the user's neighborhood and is difficult to adapt to the resource needs of different users.
By constructing a user-level interference graph, dividing user clusters and assigning multiple resource segments of different scheduling priorities to each user cluster, staggering the scheduling priorities of resource segments between different user clusters to achieve fine resource allocation.
The amount of resources available for a single user has been expanded, the resource needs of different users have been flexibly guaranteed, and the resource utilization rate of the entire network system has been improved.
Smart Images

Figure CN115515246B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of wireless mobile communications, and in particular to a resource allocation method, device, resource scheduling method and equipment. Background Art
[0002] Due to the scarcity of wireless spectrum resources and economic considerations, modern cellular networks (such as 4G and 5G networks) generally adopt a co-frequency networking deployment approach, meaning that different base stations / cells operate on the same frequency band. Consequently, cells operating on the same frequency band can interfere with each other, a phenomenon known as inter-cell interference. Inter-cell interference severely hinders user quality of service (QoS) and system performance. With the emergence of heterogeneous and ultra-dense networks, where a large number of other low-power nodes, such as pico cells, femtocells, and relays, are deployed within the coverage area of a macro base station, inter-cell interference has become even more severe and complex. Consequently, inter-cell interference has become an unavoidable problem and a critical performance bottleneck in modern cellular networks.
[0003] Resource allocation is an effective method for addressing inter-cell interference. By rationally allocating resources in the time, frequency, power, and spatial domains used by cells and users, inter-cell interference can be effectively reduced, thereby improving user service quality and system performance. Depending on the resource dimensions, different resource allocation methods can be further divided into frequency, time, power, and spatial domain resource allocation methods, or resource allocation methods that combine multiple domains. This present invention primarily relates to frequency domain resource allocation methods.
[0004] As a mathematical tool, graph theory is widely used in resource allocation due to its good generalization and ease of implementation. The document "A Graph-Based Scheme for Distributed Interference Coordination in Cellular OFDMA Networks" discloses a frequency domain resource allocation method based on graph theory. In this method, a user-level interference graph is first constructed to model the interference relationship between users. Then, all frequency domain resources are divided into different resource segments, and the resource segments are allocated to different users using a graph coloring algorithm, so that users with greater mutual interference are allocated different resource segments. When the base station performs user scheduling and resource allocation, the scheduled users can only use the resources within their allocated resource segments. The document "User-oriented graph based frequency allocation algorithm for densely deployed femtocell network" also discloses a frequency domain resource allocation method based on graph theory. Similarly, users can only use the resources within their allocated resource segments.
[0005] The above-mentioned resource allocation method based on graph theory has the following disadvantages:
[0006] Low available resources for individual users. Since each user is limited to using resources within their allocated resource segment, low available resources for individual users may lead to a decrease in user service quality, such as user throughput.
[0007] Low resource utilization across the entire system. Because it's impossible to accurately predict the actual resource requirements of each user, there can be discrepancies between the allocated resources and actual resource requirements. Because each user is limited to using only the resources within their allocated resource segment, some users may have redundant resources while others may be underutilized, resulting in low resource utilization across the entire system. Summary of the Invention
[0008] Technical purpose: In response to the above technical problems, the present invention discloses a resource allocation method, device, resource scheduling method and equipment. The resource allocation method allocates multiple resource segments with different scheduling priorities to each user cluster, expands the available resources for a single user, solves the problem that the existing resource allocation method cannot accurately reflect the level of interference suffered by the user in the neighboring area and is difficult to adaptively meet the resource needs of different users, and improves the resource utilization of the entire network system.
[0009] Technical solution: To achieve the above technical objectives, the present invention adopts the following technical solution: a resource allocation method, comprising the steps of:
[0010] Obtain data reported by network-side devices and build or update user-level interference maps;
[0011] According to the user-level interference graph, users are divided into multiple user clusters to obtain user clustering results;
[0012] According to the user clustering result, the frequency band resources are divided into multiple resource segments with the same number of user clusters;
[0013] According to the user clustering results and the frequency band resource division results, multiple resource segments are allocated to each user cluster and the scheduling priority of each resource segment is determined.
[0014] Furthermore, the user-level interference graph includes several vertices, edges between vertices and weights on the edges; the vertices represent users in the communication network or system, and the edges between the vertices and the weights on the edges respectively represent the interference relationship and interference intensity between the corresponding users.
[0015] Furthermore, the user is divided into multiple user clusters according to the user-level interference graph to obtain a user clustering result, including:
[0016] Select K vertices from the N vertices in the user-level interference graph, and assign the selected K vertices to K user clusters, with one vertex placed in each user cluster. N represents the number of all vertices in the user-level interference graph, and K represents the number of user clusters.
[0017] Select one vertex from the remaining NK vertices and calculate the increment of the intra-cluster weight of each user cluster generated by adding the selected vertex to the K user clusters. The intra-cluster weight refers to the sum of the weights of the edges between all vertices in the user cluster;
[0018] Compare the increments of the weights within the K clusters obtained, and assign the selected vertices to the user cluster with the smallest increment of weight within the cluster; repeat the above process until all vertices are assigned, and obtain the user clustering result.
[0019] Furthermore, dividing the frequency band resources into a plurality of resource segments equal in number to the number of user clusters includes:
[0020] The frequency band resources are divided into multiple uniform resource segments, or the frequency band resources are divided into multiple non-uniform resource segments in proportion based on the historical traffic data of all users in each user cluster or the number of users in the user cluster.
[0021] Furthermore, multiple resource segments are allocated to each user cluster and the scheduling priority of each resource segment is determined, including:
[0022] Allocate resource segments to each user cluster in a one-to-one manner as the resource segment with the highest scheduling priority for each user cluster;
[0023] In descending order of scheduling priority, resource segments of the second scheduling priority to the kth scheduling priority are determined for each user cluster, where the value of k is less than or equal to the number of resource segments.
[0024] Furthermore, allocating the resource segments to each user cluster in a one-to-one manner as the resource segments with the highest scheduling priority for each user cluster includes:
[0025] Using random allocation, K resource segments are allocated to K user clusters as the resource segment with the highest scheduling priority for each user cluster;
[0026] Alternatively, based on the size of the historical traffic data of the user cluster, the number of users, and the size of the range of each resource segment, K resource segments are allocated in descending order of range to K user clusters with historical traffic data or user numbers from large to small, as the resource segments with the highest scheduling priority for each user cluster, where K represents the number of user clusters.
[0027] Furthermore, determining, in descending order of scheduling priorities, resource segments of the second scheduling priority to resource segments of the kth scheduling priority for each user cluster includes:
[0028] Select any user cluster, calculate the inter-cluster weights between the selected user cluster and all other user clusters, and sort the inter-cluster weights from small to large; the inter-cluster weight is the sum of the weights of the edges between all vertex pairs consisting of one vertex from each of the two user clusters;
[0029] The resource segment of the highest scheduling priority of the user cluster corresponding to the first k-1 inter-cluster weights is selected as the resource segment of the second scheduling priority to the kth scheduling priority of the selected user cluster.
[0030] Furthermore, determining, in descending order of scheduling priorities, resource segments of the second scheduling priority to resource segments of the kth scheduling priority for each user cluster includes:
[0031] For each user cluster, assume that the user cluster is added to all resource segments that have not yet determined the scheduling priority for the user cluster. Calculate the cumulative interference on each resource segment after the addition. Select the resource segment with the lowest cumulative interference as the resource segment with the next level of scheduling priority for the user cluster. This determines the resource segments with the next level of scheduling priority for all user clusters.
[0032] Repeat the above steps until the resource segment with the kth scheduling priority is determined;
[0033] The cumulative interference is the sum of the intra-cluster weight and inter-cluster weight of all user clusters on the resource segment.
[0034] A resource allocation device, comprising:
[0035] Data receiving module, used to receive data reported by network side devices;
[0036] An interference graph building module, used to build or update a user-level interference graph;
[0037] A user clustering module is used to divide users into multiple user clusters according to the user-level interference graph to obtain user clustering results;
[0038] A resource segment division module is used to divide the frequency band resources into a plurality of resource segments having the same number as the number of user clusters according to the user clustering result;
[0039] The determination module is used to allocate multiple resource segments to each user cluster and determine the scheduling priority of each resource segment according to the user clustering result and the frequency band resource division result.
[0040] Furthermore, the determining module includes:
[0041] a first determining module, configured to allocate resource segments to each user cluster in a one-to-one manner as the resource segment with the highest scheduling priority for each user cluster;
[0042] The second determination module is used to determine the resource segments of the second scheduling priority to the kth scheduling priority for each user cluster in descending order of scheduling priority, where the value of k is less than or equal to the number of resource segments.
[0043] A resource scheduling method comprises the steps of:
[0044] Acquire resource allocation reference information, where the resource allocation reference information includes a user clustering result, a frequency band resource division result, and a resource segment scheduling priority of the user cluster obtained according to any one of the above resource allocation methods;
[0045] Execute the preset scheduling algorithm to determine the users scheduled in each time slot and obtain the number of resources required by the users based on upper-layer signaling; allocate resources to the scheduled users in descending order of scheduling priority based on the scheduling priority of the resource segment of the user cluster to which each user belongs.
[0046] A network-side device, comprising:
[0047] A reference information acquisition module is configured to acquire resource allocation reference information, wherein the resource allocation reference information includes a user clustering result, a frequency band resource division result, and a resource segment scheduling priority of a user cluster obtained according to any one of the above resource allocation methods;
[0048] The scheduling module is used to execute the preset scheduling algorithm, determine the users to be scheduled in each time slot, and obtain the number of resources required by the users based on upper-layer signaling; and allocate resources to the scheduled users in descending order of scheduling priority based on the scheduling priority of the resource segment of the user cluster to which each user belongs.
[0049] A computer-readable storage medium stores at least one instruction executable by a processor, wherein when the at least one instruction is executed by the processor, it is used to execute any of the resource allocation methods described above, or execute any of the resource scheduling methods described above.
[0050] Beneficial effects: Compared with the prior art, the present invention has the following technical effects:
[0051] The resource allocation method proposed in the present invention establishes a user-level interference graph that can accurately reflect the level of interference suffered by users in neighboring areas. By clustering users and dividing resource segments, the resource segment scheduling priorities of users in the same user cluster are the same, and each user cluster has multiple resource segments with different scheduling priorities. The resource segment scheduling priorities between users in different user clusters are staggered, and the reuse of the same resources between users in different user clusters is avoided as much as possible. Therefore, when scheduling network resources, resources can be allocated to users in descending order of scheduling priority, achieving interference optimization while expanding the available resources for a single user, flexibly ensuring the resource requirements of different users, and improving the resource utilization rate of the entire network system. BRIEF DESCRIPTION OF THE DRAWINGS
[0052] Figure 1 is a flow chart of a resource allocation method in an embodiment of the present invention;
[0053] Figure 2 shows a schematic structural diagram of two adjacent cells;
[0054] Figure 3 for Figure 2 The figure shows a schematic diagram of user-level interference graphs of two adjacent cells. DETAILED DESCRIPTION
[0055] The present invention will be described in detail below with reference to the accompanying drawings.
[0056] Example 1
[0057] like Figure 1 As shown, the present invention provides a resource allocation method, which is executed by a central controller or other network devices with resource allocation functions, and specifically includes the following steps:
[0058] S1. Obtain data reported by network-side devices and build or update a user-level interference graph;
[0059] S2. Divide users into multiple user clusters according to the user-level interference graph to obtain user clustering results;
[0060] S3. Divide the frequency band resources into multiple resource segments equal to the number of user clusters according to the user clustering result;
[0061] S4. According to the user clustering result and the frequency band resource division result, multiple resource segments are allocated to each user cluster and the scheduling priority of each resource segment is determined.
[0062] The resource allocation method proposed in the present invention establishes a user-level interference graph that can accurately reflect the interference level of users in neighboring areas. By clustering users and dividing resource segments, the resource segment scheduling priorities of users in the same user cluster are the same, and each user cluster has multiple resource segments with different scheduling priorities. The resource segment scheduling priorities between users in different user clusters are staggered, and the reuse of the same resources between users in different user clusters is avoided as much as possible. Therefore, when scheduling network resources, resources can be allocated to users in order of scheduling priority from high to low, achieving interference optimization while expanding the available resources for a single user, flexibly ensuring the resource requirements of different users, and improving the resource utilization rate of the entire network system.
[0063] The user-level interference graph described in step S1 refers to a weighted undirected graph representing the interference relationship between users, wherein the vertices in the user-level interference graph represent users in the communication network or system, and the vertices correspond to users one-to-one; the edges in the user-level interference graph and the weights on the edges respectively represent the interference relationship and interference intensity between the users corresponding to the vertices connected by the edges. The above-mentioned user-level interference graph can more accurately reflect the interference relationship between users' transmissions, thereby facilitating the implementation of refined resource allocation. The network-side device described in step S1 can be a base station or other device with resource scheduling functions. The data reported by the network-side device in step S1 includes one or more combinations of the user's geographic location, the reference signal received power of the serving cell and the co-frequency neighboring cell, the received signal strength indication, and the signal to interference plus noise ratio.
[0064] Wherein, step S4 includes:
[0065] S4.1. Allocate resource segments to each user cluster on a one-to-one basis and use them as the resource segments with the highest scheduling priority for each user cluster.
[0066] S4.2. According to the order of scheduling priority from high to low, determine the resource segments of the 2nd scheduling priority to the kth scheduling priority for each user cluster, where k represents the total number of scheduling priorities, and the value of k is less than or equal to the number of resource segments.
[0067] In step S4.1, each resource segment is allocated to each user cluster in a one-to-one manner using a random allocation method; alternatively, based on the size of the historical traffic data of the user cluster or the current number of users in the user cluster, as well as the size of the range of each resource segment, each resource segment is allocated in descending order to the user clusters arranged in descending order according to the historical traffic data or the current number of users in the user cluster; the resource segment allocated to each user cluster is used as its resource segment with the highest scheduling priority.
[0068] Step S4.2 can be implemented using the method from steps A1 to A2:
[0069] A1. For any user cluster (i.e., for each user cluster), calculate the inter-cluster weights between the user cluster and all other user clusters, and sort the inter-cluster weights from small to large;
[0070] The inter-cluster weight is the sum of the weights of the edges between all vertex pairs formed by taking one vertex from each of the two user clusters;
[0071] A2. Select the resource segment of the highest scheduling priority of the user cluster corresponding to the first k-1 inter-cluster weights as the resource segment of the second scheduling priority to the kth scheduling priority of the user cluster.
[0072] Alternatively, step S4.2 may also be implemented using the method of steps B1 to B2:
[0073] B1. For each user cluster, assume that the user cluster is added to all resource segments for which scheduling priorities have not been determined for the user cluster. Calculate the cumulative interference on each resource segment after the addition. Select the resource segment with the lowest cumulative interference as the resource segment with the next level of scheduling priority for the user cluster. This determines the resource segments with the next level of scheduling priority for all user clusters.
[0074] B2. Repeat step B1 until the resource segment with the kth scheduling priority is determined.
[0075] The cumulative interference refers to the sum of the intra-cluster weight and inter-cluster weight of all user clusters on the resource segment. The intra-cluster weight refers to the sum of the weights of the edges between all vertices in each user cluster. The inter-cluster weight is the sum of the weights of the edges between all vertex pairs formed by taking one vertex from each of the two user clusters.
[0076] For example, after executing step S4.1, each user cluster has determined the resource segment with the highest scheduling priority. As shown in the first and second rows of Table 1, the highest priority resource segment for user cluster 1 is resource segment 1. At this time, the cumulative interference on each resource segment after the addition is calculated. That is, the cumulative interference on resource segments 2-5 after user cluster 1 is added to these resource segments is calculated. For example, the cumulative interference on resource segment 2 is the sum of the intra-cluster weights and inter-cluster weights of user clusters 2 and 1. For another example, the cumulative interference on resource segment 3 is the sum of the intra-cluster weights and inter-cluster weights of user clusters 3 and 1.
[0077] Then, in step S4.2, the resource segments of the second scheduling priority to the kth scheduling priority of each user cluster are determined; as shown in Table 1, k=5. After executing step B1 for the first time, the resource segments of the second scheduling priority of each user cluster are determined, as shown in the third row of the table; B1 is repeated until the resource segments of the fifth scheduling priority are determined.
[0078] Table 1 Schematic diagram of user clusters and corresponding priority resource segments
[0079] User cluster one two three Four five The resource segment with the highest scheduling priority 1 2 3 4 5 Resource segment with the second scheduling priority 3 4 2 5 1 Resource segment with scheduling priority 3 5 5 4 3 2 Resource segment with the 4th scheduling priority 4 3 1 2 4 Resource segment with scheduling priority 5 2 1 5 1 3
[0080] The resource allocation method of this embodiment is described in detail below. In this embodiment, the network side device is a base station as an example, and the resource allocation device is a central controller as an example, and specifically includes the following steps:
[0081] Step 100: The central controller receives data reported by the base station, obtains the mutual interference intensity between users in different cells according to the data, and then constructs or updates a user-level interference map.
[0082] like Figure 3 The user-level interference graph is a weighted undirected graph, which is characterized in that the vertices in the interference graph represent users and the vertices in the interference graph correspond one-to-one to the users in the network.
[0083] An edge in an interference graph indicates whether interference or conflict is possible between the users represented by the vertices at either end of the edge. If an edge connects two vertices in an interference graph, it indicates that interference between the users represented by these two vertices is possible and non-negligible, or that there is a conflict between these two users. Conversely, if there is no edge connecting these two vertices, it indicates that interference between these two users is unlikely or negligible, and there is no conflict between these two users.
[0084] "Possible interference between users" means that if two users in different cells reuse the same resources, the transmission of at least one of the two users will interfere with the transmission of the other user, and the interference is non-negligible. Conversely, "non-possible interference between users" means that even if two users in different cells reuse the same resources, the transmission of neither user will cause non-negligible interference to the transmission of the other user.
[0085] For downlink transmission, the interference refers to the downlink interference caused by the cell to which a user belongs to another user in a different cell. For uplink transmission, the interference refers to the uplink interference caused by a user to another user in a different cell.
[0086] Inter-user conflict refers to a resource usage conflict between two users in the same cell. For example, in an OFDMA system that doesn't support spatial division multiplexing, two users in the same cell cannot use the same resources. Inter-user non-conflict refers to a resource usage conflict between two users in different cells.
[0087] The weight of an edge in the interference graph further indicates the potential level of mutual interference between the users represented by the vertices at either end of the edge. This level of mutual interference refers to the sum of the interference intensities caused by the transmissions of the two users on each other's transmissions, or the average of these intensities. Furthermore, if the users represented by two vertices belong to the same cell, the weight of the edge connecting these two vertices is a sufficiently large value.
[0088] For the interference, its intensity can be obtained by analyzing the data reported by the base station. For example, the resource allocation device can calculate the distance from each user to the neighboring base station based on the user's geographic location reported by the base station (the base station obtains it through the user's report), and use the inverse of the distance as a measure of the interference size, that is, the longer the distance, the smaller the interference. For another example, the resource allocation device can use the Reference Signal Received Power (RSRP) of the same-frequency neighboring cell measured and reported by the user reported by the base station as a measure of the interference size, that is, the greater the RSRP, the greater the interference. It should be noted that the technical solution proposed in the proposal of the present invention does not make specific restrictions on the measurement of interference.
[0089] Since the weights on the edges of the user-level interference graph further characterize the intensity of possible mutual interference between users, it can more accurately reflect the interference relationship between user transmissions, thereby facilitating the implementation of refined resource allocation.
[0090] The following combination Figure 2 and Figure 3 , the user-level interference graph is specifically described:
[0091] Figure 2 It shows two cells, two users in each cell, and the downlink transmission situation, that is, the network side equipment such as the base station transmits data to the user. Figure 2 As shown in the figure, there are 4 vertices in the user-level interference graph, each corresponding to a user. User 1 and user 2 belong to the same cell, so there is an edge connecting the vertex corresponding to user 1 and the vertex corresponding to user 2, and the weight of the edge is W. 12 is a sufficiently large value. User 1 and user 3 belong to different cells. If they reuse the same resource, the transmission of user 1 will interfere with the transmission of user 3, and the interference cannot be ignored. However, the transmission of user 3 will not interfere with the transmission of user 1 or the interference can be ignored. Therefore, there is an edge connecting the vertex corresponding to user 1 and the vertex corresponding to user 3, and the weight of the edge is W. 13is the interference intensity caused by user 1's transmission to user 3's transmission, that is, the downlink interference intensity caused by cell 1 to user 3. User 2 and user 3 belong to different cells. If they reuse the same resources, user 2's transmission will interfere with user 3's transmission, and the interference cannot be ignored. At the same time, user 3's transmission will also interfere with user 2's transmission, and the interference cannot be ignored. Therefore, there is an edge connecting the vertex corresponding to user 2 and the vertex corresponding to user 3, and the weight of the edge is W. 23 It is the sum of the interference intensity caused by user 2's transmission on user 3's transmission and the interference intensity caused by user 3's transmission on user 2's transmission, or the average of the two interference intensities, that is, the sum or average of the downlink interference intensity caused by cell 1 to which user 2 belongs on user 3 and the downlink interference intensity caused by cell 2 to which user 3 belongs on user 2.
[0092] The central controller constructs / updates the user-level interference graph once it receives the latest data reported by the base station.
[0093] Step 200: Divide users into different user clusters according to the user-level interference graph to obtain user clustering results.
[0094] User clustering divides users with less mutual interference intensity into the same user cluster, and divides users with greater mutual interference intensity into different user clusters.
[0095] Preferably, the number of users or intra-cluster weights of different user clusters should be as similar or close as possible to make more reasonable and efficient use of each resource. The intra-cluster weight refers to the sum of the weights of the edges between vertices corresponding to all users in the user cluster. Assume that user cluster C k The intra-cluster weight is but w u,v Represents the weight of the edge between vertex u and vertex v.
[0096] As an example, dividing users into different user clusters includes:
[0097] Step 201: Select K vertices from N vertices and place them into K user clusters, with one vertex in each user cluster. The number of user clusters K is a hyperparameter, which is set in advance.
[0098] Step 202: Select the next vertex from the NK other vertices and calculate the increment of the intra-cluster weight of each user cluster caused by the vertex being added to the user cluster. The increment of the intra-cluster weight refers to the increment of the sum of the weights of the edges between all vertices in the user cluster after the selected vertex is added to the user cluster. Specifically, assuming that the vertex selected in the current round is u, vertex u is added to the user cluster Ck The resulting user cluster C k The increment of the intra-cluster weight is
[0099] Step 203: Add the vertex to the user cluster with the smallest weight increment within the cluster.
[0100] Specifically, assuming that the vertex selected in the current round is u, vertex u will be added to user cluster C k *Among them If there is more than one user cluster with the smallest weight increment within the cluster, a user cluster is randomly selected from them.
[0101] Step 204: Repeat steps 202 to 203 until all vertices are assigned.
[0102] The user clustering method from steps 201 to 204 can group users with low mutual interference intensity into the same user cluster, while grouping users with high mutual interference intensity into different user clusters. This method can achieve user clustering with low complexity, and the number of users or intra-cluster weights in different user clusters are relatively close.
[0103] Since the number of users or intra-cluster weights in each user cluster are the same or similar, the reuse factor or spectrum efficiency of resources in each resource segment is relatively close, thus avoiding the problem of some resources being overused while others are not fully used, and improving resource utilization.
[0104] Step 300: Divide the frequency band resources into a number of resource segments equal to the number of user clusters according to the user clustering result;
[0105] A resource segment is a continuous frequency band in the frequency domain. All available resources within the frequency band are divided into multiple resource segments. The purpose of dividing resource segments is to facilitate the allocation of relatively complete and continuous resources to users.
[0106] All available resources within the frequency band can be divided into multiple uniform resource segments according to the number of user clusters. One way to evenly divide resource segments is as follows: divide all M resources into K resource segments in sequence, each resource segment contains or For example, if there are 273 resources from 0 to 272, and they are divided into 10 resource segments, the first resource segment contains 27 resources from 0 to 26, the second resource segment contains 27 resources from 27 to 53, and so on, the tenth resource segment contains 30 resources from 243 to 272.
[0107] More optimally, you can combine the historical traffic data of users in each user cluster or the number of users in the user cluster to divide all M resources into K uneven resource segments proportionally to better adapt to the traffic differences of different user clusters. For example, dividing by historical traffic: Among them L k represents the number of resources contained in the kth resource segment allocated to the kth user cluster, T k represents the total traffic of users in the kth user cluster, T k This can be inferred from historical traffic data. Resources are segmented proportionally based on the historical traffic data of users in each user cluster or the number of users in the cluster. The goal is to allocate resources more efficiently based on demand, i.e., user clusters that require more resources are allocated more resources.
[0108] The above method of evenly dividing resource segments is relatively simple, but the resource utilization rate of unevenly dividing resource segments is higher.
[0109] Step 400: Allocate multiple resource segments to each user cluster and determine the scheduling priority of each resource segment according to the user clustering result and the frequency band resource division result.
[0110] The scheduling priority of the resource segment refers to the order in which the resource segments are allocated or used when the base station schedules a certain user, that is, the base station preferentially allocates or uses resource segments with higher scheduling priorities.
[0111] Because mutual interference between users in the same user cluster is low, while mutual interference between users in different user clusters is high, users in the same user cluster can reuse the same resource segment, while users in different user clusters should avoid reusing the same resource segment as much as possible. Therefore, the resource segment scheduling priorities of the same user cluster should be consistent, while the resource segment scheduling priorities of different user clusters should be staggered to avoid reusing the same resource segment as much as possible.
[0112] An embodiment of the present invention provides a method for determining resource segment scheduling priority for each user cluster, which specifically includes the following steps:
[0113] Step 301: Determine the resource segment with the highest scheduling priority for each user cluster.
[0114] K resource segments can be randomly allocated to K user clusters as the resource segments with the highest scheduling priority. For example, a round-robin approach can be used to randomly select one user cluster in each round and randomly allocate one resource segment to it as the resource segment with the highest scheduling priority.
[0115] Preferably, when a method is adopted that combines the historical traffic data of users in each user cluster or the number of users in the user cluster to divide all M resources into K uneven resource segments in proportion, a longer resource segment can be selected for the user cluster with larger historical traffic or number of users as the resource segment with the highest scheduling priority.
[0116] Step 302: Determine the scheduling priorities of other resource segments of each user cluster in descending order of scheduling priority.
[0117] For each user cluster, the scheduling priority of other resource segments can be determined according to the inter-cluster weight. The inter-cluster weight is the sum of the weights of all vertex pairs between two user clusters. i and user cluster C j The inter-cluster weight is but w u,v Represents the weight of the edge between vertex u and vertex v.
[0118] Specifically, for a certain user cluster, the resource segment with the highest scheduling priority of the user cluster with the smallest inter-cluster weight between the user cluster and the user cluster is used as the resource segment with the second highest scheduling priority for the user cluster; the resource segment with the highest scheduling priority of the user cluster with the second smallest inter-cluster weight between the user cluster and the user cluster is used as the resource segment with the third highest scheduling priority for the user cluster; and so on.
[0119] The scheduling priorities of other resource segments of each user cluster may also be determined in sequence as follows, taking the resource segment with the second highest scheduling priority of each user cluster as an example:
[0120] Step (1): determine a set of user clusters with determined scheduling priorities for each resource segment, and calculate the accumulated interference on each resource segment.
[0121] The set of user clusters for which the scheduling priority of the resource segment has been determined refers to the set of user clusters for which the scheduling priority of the resource segment has been determined among all resource segments. In this example, the set of user clusters for which the scheduling priority of the resource segment has been determined refers to all user clusters for which the resource segment has been determined as the resource segment with the highest scheduling priority.
[0122] The cumulative interference on the resource segment refers to the sum of the intra-cluster weights and inter-cluster weights of all user clusters in the set of user clusters whose scheduling priorities have been determined for the resource segment. k The set of user clusters whose scheduling priorities have been determined is D k , then the resource segment R k Cumulative interference on: The value range of k is [1,…,K].
[0123] Step (2): For each user cluster, assume that the user cluster is added to all resource segments whose scheduling priority has not been determined for the user cluster, and calculate the cumulative interference on each resource segment after the addition; select the resource segment with the smallest cumulative interference as the resource segment with the next level of scheduling priority for the user cluster; and update the cumulative interference on the resource segment and the set of user clusters whose scheduling priority has been determined; thereby determining the resource segments with the next level of scheduling priority for all user clusters;
[0124] Assume that the selected user cluster is Then the user cluster Join the undetermined user cluster Resource segments with upper scheduling priority Afterwards, the resource section The cumulative interference on in, Indicates that the user cluster Add to resource section Previous resource section The cumulative interference on Represents a user cluster The intra-cluster weight of Indicates that the user cluster Add to resource section Previously, the resource segment The set of user clusters on which scheduling priorities have been determined, Represents a user cluster Add to resource section After the resource section The increment of the inter-cluster weight on , that is, the user cluster set All user clusters and selected user clusters The value range of k1 and k2 is [1,…,K].
[0125] Step (3): Repeat steps (1)-(2) until the resource segment with the kth scheduling priority is determined.
[0126] The user clustering result, the resource segment scheduling priority of each user cluster, and the range message of each resource segment can be sent to each base station.
[0127] The resource allocation method provided in this embodiment divides users into multiple user clusters through a user-level interference graph, obtains user clustering results, and then divides the frequency band resources into multiple resource segments equal to the number of user clusters based on the user clustering results; then, based on the user clustering results and the frequency band resource division results, the resource segment scheduling priority of each user cluster is reasonably determined to minimize the probability of users with significant mutual interference reusing the same resources, thereby reducing inter-cell interference to a certain extent. At the same time, since each user is not limited to using a certain small resource segment, the available resources for a single user and the resource utilization rate of the entire system can be increased. In summary, the resource allocation method provided in this embodiment can reduce inter-cell interference while increasing the available resources for a single user and the resource utilization rate of the entire system.
[0128] Example 2
[0129] This embodiment provides a resource allocation device, including:
[0130] Data receiving module, used to receive data reported by network side devices;
[0131] An interference graph building module, used to build or update a user-level interference graph;
[0132] A user clustering module is used to divide users into multiple user clusters according to the user-level interference graph to obtain user clustering results;
[0133] A resource segment division module is used to divide the frequency band resources into a plurality of resource segments having the same number as the number of user clusters according to the user clustering result;
[0134] The determination module is used to allocate multiple resource segments to each user cluster and determine the scheduling priority of each resource segment based on the user clustering results and the frequency band resource division results. The determination module includes:
[0135] a first determining module, configured to allocate resource segments to each user cluster in a one-to-one manner as the resource segment with the highest scheduling priority for each user cluster;
[0136] The second determination module is used to determine the resource segments of the second scheduling priority to the kth scheduling priority for each user cluster in descending order of scheduling priority, where the value of k is less than or equal to the number of resource segments.
[0137] The resource allocation device may also include a sending module for sending resource allocation reference information including user clustering results, resource segments (i.e., frequency band resource division results), and resource segment scheduling priorities of user clusters to the network side device, and the resource allocation reference information is used by the network side device for user scheduling.
[0138] The resource allocation device continuously sends the latest user clustering results, the resource segment scheduling priority of each user cluster, and the range of each resource segment (i.e., the frequency band resource division result) and other messages to each network side device according to the frequency of interference graph construction or update to adapt to the dynamic changes of the network environment.
[0139] The specific implementation method of the resource allocation device provided in this embodiment is the same as the resource allocation method in the above-mentioned embodiment, and will not be repeated here.
[0140] Example 3
[0141] This embodiment provides a resource scheduling method, including the following steps:
[0142] Obtaining resource allocation reference information, the resource allocation reference information including user clustering results, resource segments (i.e., frequency band resource division results), and resource segment scheduling priorities of user clusters; the above information is obtained by any of the above resource allocation methods;
[0143] Execute the preset scheduling algorithm to determine the users to be scheduled in each time slot and obtain the number of resources required by the users based on upper-layer signaling; allocate resources to the scheduled users in sequence according to the scheduling priority of the resource segments of the user cluster to which each user belongs.
[0144] The resource scheduling method proposed in the present invention adopts the resource allocation reference information obtained by any of the aforementioned resource allocation methods, staggers the resource segment scheduling priorities between users in different user clusters, and avoids the reuse of the same resources between users in different user clusters as much as possible. Therefore, when scheduling network resources, resources can be allocated to users in order from high to low scheduling priorities, achieving interference optimization while expanding the available resources for a single user, flexibly ensuring the resource requirements of different users, and improving the resource utilization rate of the entire network system.
[0145] Example 4
[0146] This embodiment provides a network-side device, including:
[0147] A reference information acquisition module is configured to acquire resource allocation reference information, wherein the resource allocation reference information includes user clustering results, resource segments, and resource segment scheduling priorities of user clusters; the above information is obtained by any of the above resource allocation methods;
[0148] The scheduling module is used to execute the preset scheduling algorithm, determine the users to be scheduled in each time slot, and obtain the number of resources required by the users based on upper-layer signaling; and allocate resources to the scheduled users in descending order of scheduling priority based on the scheduling priority information of the resource segment of the user cluster to which each user belongs.
[0149] The network-side device can be a base station or other device with resource scheduling capabilities. For example, a base station receives messages from the resource allocation device and performs user scheduling based on its own scheduling algorithm. When scheduling users, the base station first determines the user to be scheduled in each time slot based on its own scheduling algorithm, such as round-robin or proportional fairness, and obtains the number of resources required by the user based on upper-layer signaling. The base station then allocates resources to each user in sequence based on the resource segment scheduling priority of the user cluster to which they belong. The base station first allocates resources to the scheduled user from the resource segment with the highest scheduling priority. If the resource segment with the highest scheduling priority is exhausted, resources are allocated from the resource segment with the second highest scheduling priority, and so on.
[0150] After receiving the message from the resource allocation device, the base station will schedule users according to the above rules until it receives a new message from the resource allocation device and updates the resource segment scheduling priority of the scheduled user to adapt to the dynamic changes in the network environment.
[0151] The network-side device proposed in the present invention, due to the resource allocation reference information obtained by adopting any of the aforementioned resource allocation methods, staggers the resource segment scheduling priorities between users in different user clusters, and avoids the reuse of the same resources between users in different user clusters as much as possible. Therefore, when scheduling network resources, it can allocate resources to users in order from high to low scheduling priorities, while achieving interference optimization, expanding the available resources for a single user, flexibly ensuring the resource requirements of different users, and improving the resource utilization rate of the entire network system.
[0152] In another embodiment of the present invention, a computer-readable storage medium is provided, which stores at least one instruction that can be executed by a processor, wherein when the at least one instruction is executed by the processor, it is used to execute any one of the above-mentioned resource allocation methods or any one of the above-mentioned resource scheduling methods.
[0153] The above is only a preferred embodiment of the present invention. It should be pointed out that for ordinary technicians in this technical field, several improvements and modifications can be made without departing from the principles of the present invention. These improvements and modifications should also be regarded as the scope of protection of the present invention.
Claims
1. A resource allocation method, characterized in that: Including steps: Obtain data reported by network-side devices and build or update user-level interference maps; According to the user-level interference graph, users are divided into multiple user clusters to obtain user clustering results; According to the user clustering result, the frequency band resources are divided into multiple resource segments with the same number of user clusters; According to the user clustering results and the frequency band resource division results, multiple resource segments are allocated to each user cluster and the scheduling priority of each resource segment is determined; Allocating multiple resource segments to each user cluster and determining the scheduling priority of each resource segment include: Allocate resource segments to each user cluster in a one-to-one manner as the resource segment with the highest scheduling priority for each user cluster; In descending order of scheduling priority, for each user cluster, resource segments of the second scheduling priority to the kth scheduling priority are sequentially determined, where the value of k is less than or equal to the number of resource segments. The step of sequentially determining, in descending order of scheduling priorities, resource segments of the second scheduling priority to resource segments of the kth scheduling priority for each user cluster comprises: Select any user cluster and calculate the inter-cluster weight between the selected user cluster and all other user clusters; the inter-cluster weight is the sum of the weights of all vertex pairs between two user clusters, each consisting of one vertex. In order of inter-cluster weights from small to large, the resource segments of the highest scheduling priority of the user clusters corresponding to the first k-1 inter-cluster weights are selected as the resource segments of the second scheduling priority to the kth scheduling priority of the selected user cluster.
2. The resource allocation method according to claim 1, wherein: The user-level interference graph includes a number of vertices, edges between vertices and weights on the edges; the vertices represent users in a communication network or system, and the edges between vertices and the weights on the edges represent the interference relationship and interference intensity between corresponding users respectively.
3. The resource allocation method according to claim 2, characterized in that: The method of dividing users into multiple user clusters according to the user-level interference graph to obtain user clustering results includes: Select K vertices from the N vertices in the user-level interference graph, and assign the selected K vertices to K user clusters, with one vertex placed in each user cluster. N represents the number of all vertices in the user-level interference graph, and K represents the number of user clusters. Select one vertex from the remaining NK vertices and calculate the increment of the intra-cluster weight of each user cluster generated by adding the selected vertex to the K user clusters. The intra-cluster weight refers to the sum of the weights of the edges between all vertices in the user cluster; Compare the increments of the weights within the K clusters obtained, and assign the selected vertices to the user cluster with the smallest increment of weight within the cluster; repeat the above process until all vertices are assigned, and obtain the user clustering result.
4. The resource allocation method according to claim 1, wherein: The dividing of the frequency band resources into a plurality of resource segments equal in number to the number of user clusters comprises: The frequency band resources are divided into multiple uniform resource segments, or the frequency band resources are divided into multiple non-uniform resource segments in proportion based on the historical traffic data of all users in each user cluster or the number of users in the user cluster.
5. The resource allocation method according to claim 1, wherein: The allocating resource segments to each user cluster in a one-to-one manner as the resource segment with the highest scheduling priority for each user cluster includes: Using random allocation, K resource segments are allocated to K user clusters as the resource segment with the highest scheduling priority for each user cluster; Alternatively, based on the size of the historical traffic data of the user cluster, the number of users, and the size of the range of each resource segment, K resource segments are allocated in descending order of range to K user clusters with historical traffic data or user numbers from large to small, as the resource segments with the highest scheduling priority for each user cluster, where K represents the number of user clusters.
6. The resource allocation method according to claim 1, wherein: The step of sequentially determining, in descending order of scheduling priorities, resource segments of the second scheduling priority to resource segments of the kth scheduling priority for each user cluster comprises: For each user cluster, assume that the user cluster is added to all resource segments that have not yet determined the scheduling priority for the user cluster. Calculate the cumulative interference on each resource segment after the addition. Select the resource segment with the lowest cumulative interference as the resource segment with the next level of scheduling priority for the user cluster. This determines the resource segments with the next level of scheduling priority for all user clusters. Repeat the above steps until the resource segment with the kth scheduling priority is determined; The cumulative interference is the sum of the intra-cluster weight and inter-cluster weight of all user clusters on the resource segment.
7. A resource allocation device, characterized in that: include: Data receiving module, used to receive data reported by network side devices; An interference graph building module, used to build or update a user-level interference graph; A user clustering module is used to divide users into multiple user clusters according to the user-level interference graph to obtain user clustering results; A resource segment division module is used to divide the frequency band resources into a plurality of resource segments having the same number as the number of user clusters according to the user clustering result; A determination module, configured to allocate multiple resource segments to each user cluster and determine a scheduling priority for each resource segment based on the user clustering result and the frequency band resource division result; The determination module includes: a first determining module, configured to allocate resource segments to each user cluster in a one-to-one manner as the resource segment with the highest scheduling priority for each user cluster; The second determination module determines, in descending order of scheduling priority, resource segments of the second scheduling priority to resource segments of the kth scheduling priority for each user cluster, where the value of k is less than or equal to the number of resource segments; The step of determining, in descending order of scheduling priorities, resource segments of the second scheduling priority to resource segments of the kth scheduling priority for each user cluster includes: Select any user cluster and calculate the inter-cluster weight between the selected user cluster and all other user clusters; the inter-cluster weight is the sum of the weights of all vertex pairs between two user clusters, each consisting of one vertex. In order of inter-cluster weights from small to large, the resource segments of the highest scheduling priority of the user clusters corresponding to the first k-1 inter-cluster weights are selected as the resource segments of the second scheduling priority to the kth scheduling priority of the selected user cluster.
8. A resource scheduling method, characterized in that: Including steps: Acquire resource allocation reference information, wherein the resource allocation reference information includes a user clustering result, a frequency band resource division result, and a resource segment scheduling priority of the user cluster obtained by the resource allocation method according to any one of claims 1 to 6; Execute the preset scheduling algorithm to determine the users scheduled in each time slot and obtain the number of resources required by the users based on upper-layer signaling; allocate resources to the scheduled users in descending order of scheduling priority based on the scheduling priority of the resource segment of the user cluster to which each user belongs.
9. A network side device, characterized in that: include: a reference information acquisition module for acquiring resource allocation reference information, wherein the resource allocation reference information includes a user clustering result, a frequency band resource division result, and a resource segment scheduling priority of a user cluster obtained by the resource allocation method according to any one of claims 1 to 6; The scheduling module is used to execute the preset scheduling algorithm, determine the users to be scheduled in each time slot, and obtain the number of resources required by the users based on upper layer signaling; And according to the scheduling priority of the resource segment of the user cluster to which each user belongs, resources are allocated to the scheduled users in descending order of scheduling priority.
10. A computer-readable storage medium, characterized in that The computer-readable storage medium stores at least one instruction that can be executed by a processor, wherein when the at least one instruction is executed by the processor, it is used to execute the method according to any one of claims 1 to 6, or execute the method according to claim 8.
Citation Information
Patent Citations
Resource scheduling method and apparatus
CN101453736A
D2D resource allocation method and device for densely distributed user groups of cellular system
CN110839227A
D2D communication system resource allocation method and device, base station and readable storage medium
CN113747458A