Network resource allocation method, apparatus and device, and computer storage medium
By obtaining the network resource data of the node and using the resource allocation model to randomly generate and filter the optimal resource allocation data, the problem of inability to adapt to sudden network traffic changes in the prior art is solved, and the flexibility and adaptability of network resource allocation are improved.
Patent Information
- Application Number
- CN202510652919.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-05-20
- Publication Date
- 2025-07-29
AI Technical Summary
The prior art cannot adapt to sudden network traffic changes in network resource allocation in time, resulting in poor flexibility and adaptability.
By obtaining the network resource data of the node, using the resource allocation model to randomly generate multiple resource allocation sub-data, and calculate the decision value based on preset conditions and weights, selecting the optimal resource allocation data to respond to burst traffic changes.
It improves the flexibility and adaptability of network resource allocation, can respond to sudden network traffic changes in time, avoid falling into local optimization, and expand the scope of solution space search.
Smart Images

Figure CN120390250A_ABST
Abstract
Description
Technical Field
[0001] This application belongs to the field of communication technologies, and particularly relates to a method, apparatus, device, and computer storage medium for network resource allocation. Background Art
[0002] With the wide application of the fifth-generation mobile communication technology 5G network and the rapid development of mobile Internet services in the field of communication technologies, the number of network users and service traffic have increased explosively. The reasonable allocation of network resources is crucial for improving network performance, optimizing user experience, and reducing network operation costs.
[0003] When allocating network resources in the prior art, it often relies on a machine learning model to predict the network resource utilization data for a future period based on historical data, and determine the resource allocation information of network resources according to the predicted network resource utilization data. However, it mainly focuses on long-term resource planning, lacks the ability to respond quickly to the rapidly changing short-term network resource requirements, and cannot adapt to sudden network traffic changes in a timely manner, resulting in poor flexibility and adaptability of network resource allocation. Summary of the Invention
[0004] Embodiments of this application provide a method, apparatus, device, and computer storage medium for network resource allocation to solve the problem that the network resource allocation method in the prior art cannot adapt to sudden network traffic changes in a timely manner, resulting in poor flexibility and adaptability of network resource allocation.
[0005] In a first aspect, embodiments of this application provide a method for network resource allocation, and the method includes:
[0006] Obtain the network resource data of a node, where the network resource data includes resource usage data and resource allocation data;
[0007] When at least one of the network resource data meeting a first preset condition and the detection time reaching a preset time is satisfied, input the resource allocation data into a resource allocation model, randomly generate a plurality of resource allocation sub-data based on the input resource allocation data, select the resource allocation sub-data for which the resource usage data and the resource allocation sub-data meet a second preset condition as the target resource allocation sub-data, calculate the decision value of the target resource allocation sub-data according to a preset weight in the resource allocation model, and determine the resource allocation sub-data with the highest decision value as the target resource allocation data.
[0008] In a second aspect, embodiments of this application provide an apparatus for network resource allocation, and the apparatus includes:
[0009] An obtaining module, configured to obtain the network resource data of a node, where the network resource data includes resource usage data and resource allocation data;
[0010] A determination module, configured to, when at least one of the network resource data meeting a first preset condition and the detection time reaching a preset time is satisfied, input the resource allocation data into a resource allocation model, randomly generate a plurality of resource allocation sub-data based on the input resource allocation data, select a resource allocation sub-data whose resource usage data and resource allocation sub-data meet a second preset condition as a target resource allocation sub-data, calculate a decision value of the target resource allocation sub-data according to a preset weight in the resource allocation model, and determine a resource allocation sub-data with the highest decision value as target resource allocation data.
[0011] In a third aspect, an embodiment of the present application provides a terminal device, which includes: a processor and a memory storing computer program instructions; when the processor executes the computer program instructions, the method for network resource allocation as in the first aspect is implemented.
[0012] In a fourth aspect, an embodiment of the present application provides a computer-readable storage medium, on which computer program instructions are stored, and when the computer program instructions are executed by a processor, the method for network resource allocation as in the first aspect is implemented.
[0013] In a fifth aspect, an embodiment of the present application provides a computer program product, and when the instructions in the computer program product are executed by a processor of an electronic device, the electronic device is enabled to execute the method for network resource allocation as in the first aspect.
[0014] The present application discloses a method for network resource allocation. First, network resource data of a node is obtained, and the network resource data includes resource usage data and resource allocation data; when at least one of the network resource data meeting a first preset condition and the detection time reaching a preset time is satisfied, the resource allocation data is input into a resource allocation model, a plurality of resource allocation sub-data are randomly generated based on the input resource allocation data, a resource allocation sub-data whose resource usage data and resource allocation sub-data meet a second preset condition is selected as a target resource allocation sub-data, a decision value of the target resource allocation sub-data is calculated according to a preset weight in the resource allocation model, and a resource allocation sub-data with the highest decision value is determined as target resource allocation data. Obtaining the network resource data of the node first provides a data basis for subsequent analysis. By calculating performance indicators, the abstract resource state can be converted into quantifiable indicators, and the optimization direction of the allocation can be clarified; when the current performance data meets the preset conditions, reallocation is performed, which can respond to sudden performance changes in a timely manner, and by randomly generating multiple allocation schemes through the model and screening out sub-data with better performance, it is possible to avoid falling into local optima and expand the search range of the solution space. Finally, calculating the decision value and selecting the optimal solution can adapt to sudden network traffic changes in a timely manner, thereby improving the flexibility and adaptability of network allocation. BRIEF DESCRIPTION OF THE DRAWINGS
[0015] To more clearly illustrate the technical solutions of the embodiments of the present application, the following will briefly introduce the accompanying drawings required in the embodiments of the present application. For those of ordinary skill in the art, without creative efforts, other drawings can also be obtained based on these drawings.
[0016] Figure 1 is a schematic flowchart of a method for network resource allocation provided by an embodiment of the present application;
[0017] Figure 2 is a schematic flowchart of an implementation manner for generating resource allocation sub-data provided by an embodiment of the present application;
[0018] Figure 3 is a schematic flowchart of an implementation manner for determining target resource allocation sub-data provided by an embodiment of the present application;
[0019] Figure 4 is a schematic flowchart of an implementation manner for network resource allocation provided by an embodiment of the present application;
[0020] Figure 5 is a schematic structural diagram of a device for network resource allocation provided by an embodiment of the present application;
[0021] Figure 6 is a schematic structural diagram of a terminal device provided by an embodiment of the present application. Detailed implementation manners
[0022] The following will describe in detail the features and exemplary embodiments of various aspects of the present application. To make the objectives, technical solutions, and advantages of the present application clearer and more understandable, the following further describes the present application in detail in combination with the accompanying drawings and specific embodiments. It should be understood that the specific embodiments described herein are only intended to explain the present application, rather than limiting the present application. For those skilled in the art, the present application can be implemented without some of these specific details. The following description of the embodiments is only to provide a better understanding of the present application by showing examples of the present application.
[0023] It should be noted that in this article, relational terms such as first and second are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any actual relationship or order between these entities or operations. Moreover, the term "comprising", "including" or any other variant thereof is intended to cover non-exclusive inclusion, such that a process, method, article or device comprising a series of elements not only includes those elements but also includes other elements not expressly listed, or further includes elements inherent to such process, method, article or device. Without further limitation, an element defined by the statement "comprising..." does not exclude the presence of additional identical elements in the process, method, article or device comprising the element.
[0024] Network resource allocation refers to the dynamic allocation of network resources such as bandwidth, computing power, and storage space according to the needs of network devices and available resources in network management. When existing technologies perform network resource allocation, they often use historical data and predict future network resource requirements through machine learning algorithms. It can be seen that existing methods often focus on long-term resource planning. However, the rapid changes in network resource requirements in the short term are usually sudden. Such sudden changes in business load require the network resource allocation system to have the ability to respond quickly and be able to adjust the resource allocation strategy within minutes or even shorter time to ensure the normal access experience of users. Therefore, it is difficult to accurately estimate existing methods for network resource allocation through long-term prediction methods, and they cannot meet the rapid response requirements of short-term resource demand changes, resulting in poor flexibility and adaptability of network resource allocation.
[0025] To solve the problems of the prior art, an embodiment of the present application provides a method for network resource allocation. First, network resource data of a node is obtained, and the network resource data includes resource usage data and resource allocation data. When at least one of the network resource data meeting the first preset condition and the detection time reaching the preset time is satisfied, the resource allocation data is input into a resource allocation model. Based on the input resource allocation data, multiple resource allocation sub-data are randomly generated, and the resource allocation sub-data for which the resource usage data and the resource allocation sub-data meet the second preset condition is selected as the target resource allocation sub-data. The decision value of the target resource allocation sub-data is calculated according to the preset weight in the resource allocation model, and the resource allocation sub-data with the highest decision value is determined as the target resource allocation data. First, obtaining the network resource data of the node provides a data basis for subsequent analysis. By calculating performance indicators, the abstract resource state can be converted into quantifiable indicators, and the optimization direction of the allocation can be clarified. When the current performance data meets the preset conditions, reallocation is performed, which can respond to sudden performance changes in a timely manner. Moreover, by randomly generating multiple allocation schemes through the model and screening out sub-data with better performance, it is possible to avoid falling into local optima and expand the search range of the solution space. Finally, calculating the decision value and selecting the optimal solution can adapt to sudden network traffic changes in a timely manner, thereby improving the flexibility and adaptability of network allocation.
[0026] The following introduces the method for network resource allocation provided by the embodiments of the present application with reference to the accompanying drawings.
[0027] Figure 1 The flowchart of the method for network resource allocation provided by an embodiment of the present application is shown. As Figure 1 shown, the method may include the following steps: S101 to S102.
[0028] S101, Obtain the network resource data of the node, where the network resource data includes resource usage data and resource allocation data.
[0029] Among them, a node is an entity unit in the network with independent resource management capabilities, which may include physical instances, virtual instances, or logical service units, and each node has allocable resources; the network resource data is the data on the usage and allocation of various resources in the network, the resource usage data is the actual occupancy and consumption of the network resources of each node within a certain period of time, and the resource allocation data is the amount of resources pre-allocated to each node.
[0030] In some embodiments, the resource usage data may be real-time data collected by monitoring data and devices deployed in the network, or may be prediction data generated by historical data and prediction algorithms.
[0031] Real-time data is immediate and accurate, and can reflect the true usage status of network resources at the current moment. Making resource allocation decisions based on real-time data can ensure that the network system can respond quickly to sudden traffic changes, service load fluctuations, etc., and is applicable to network scenarios where the service traffic has strong suddenness and uncertainty and has high requirements for real-time performance.
[0032] Predictive data is forward-looking and planning-oriented, and can provide a reference basis for resource allocation in advance. By grasping the long-term trends and periodic patterns of service traffic, realizing the reasonable reserve and optimal allocation of resources, it can help the network management system make preparations for pre-allocation and adjustment of resources in advance, and is applicable to network scenarios with obvious service periodicity or predictable changes.
[0033] In some embodiments, the resource usage data may also include real-time data and predictive data at the same time. The real-time data provides the current accurate state of the system, while the predictive data provides advance planning and guidance for future resource requirements. When there is no sudden traffic change in the real-time data, predictive data is used to generate predictive resource allocation data, and the resource allocation is adjusted in advance according to the predictive resource allocation data. When there is a sudden traffic change in the real-time data, the real-time data is used to re-predict the resource allocation. By reasonably combining these two data sources, the network resource allocation system can make more accurate resource allocation decisions and achieve the optimal performance of the network.
[0034] S102, when at least one of the network resource data meeting the first preset condition and the detection time reaching the preset time is satisfied, input the resource allocation data into the resource allocation model, randomly generate multiple resource allocation sub-data based on the input resource allocation data, and select the resource allocation sub-data whose resource usage data and resource allocation sub-data meet the second preset condition as the target resource allocation sub-data. Calculate the decision value of the target resource allocation sub-data according to the preset weight in the resource allocation model, and determine the resource allocation sub-data with the highest decision value as the target resource allocation data.
[0035] Among them, the preset condition is a pre-set judgment criterion or threshold for determining whether to trigger the corresponding operation or decision. The first preset condition is used to judge whether the network resource data meets the requirements to decide whether to input the resource allocation data into the model for further processing. The second preset condition is used to screen out the target resource allocation sub-data that meets specific performance requirements. The resource allocation sub-data is a candidate resource allocation scheme generated by random perturbation based on the resource allocation data. The preset weight is data used to pre-set the importance of the resource performance data of the target resource allocation sub-data, and the decision value is an evaluation index of the resource allocation sub-data.
[0036] In some embodiments, the resource allocation model is a target optimization model.
[0037] First, obtain the network resource data of the nodes to provide a data basis for subsequent analysis. By calculating performance metrics, the abstract resource status can be converted into quantifiable metrics, which can clarify the optimization direction of allocation. When the current performance data meets the preset conditions, reallocation is performed, which can promptly respond to sudden performance changes. Additionally, by randomly generating multiple allocation schemes through the model and screening out sub-data with better performance, it is possible to avoid being trapped in local optima and expand the search scope of the solution space. Finally, calculating the decision value and selecting the optimal solution can promptly adapt to sudden network traffic changes, thereby improving the flexibility and adaptability of network allocation.
[0038] In some embodiments, the network resource data includes at least any two of bandwidth, computing power, storage space, energy consumption, and signaling load.
[0039] Among them, bandwidth refers to the maximum amount of data that the network can transmit per unit time, usually measured in bits per second (bit / s) or its multiples; computing power refers to the ability of a computer device to process data and execute computing tasks, measured by the number of instructions executed per second. Storage space refers to the capacity for storing data, which can be the storage capacity of a computer hard drive, solid-state drive, network storage device, etc., usually measured in bytes (B) and its multiples. Energy consumption refers to the electrical energy consumed by network devices during operation, usually measured in watts (W). Signaling load refers to the traffic related to network signaling. Signaling refers to the signals used to control processes such as communication establishment, maintenance, and release.
[0040] Multiple dimensions of network resources jointly affect the performance and efficiency of the network. Considering these dimensions comprehensively can comprehensively evaluate the overall situation of network resources, avoiding problems such as unreasonable resource allocation or network performance bottlenecks caused by only focusing on a single dimension and ignoring other important factors. Moreover, different types of network services have different resource requirements in different dimensions, and different resource allocations can be considered according to actual needs for different network services to reflect the diverse needs of the services.
[0041] In some embodiments, the input network resource data can be a resource vector.
[0042] In one example, 5G network resources are defined in 5 dimensions, including bandwidth (R1), computing power (R2), storage space (R3), energy consumption (R4), and signaling load (R5); for example, the 5G base station resources of an operator include: R1 (bandwidth): 100 MHz, R2 (computing power): 10 TOPS (trillion operations per second), R3 (storage space): 1 TB, R4 (energy consumption): 1000 W, and R5 (signaling load): 10000 times / second.
[0043] For each node j in the network, construct a 5-dimensional resource vector Vj = (R1j, R2j, R3j, R4j, R5j); for example, the resource vector of a 5G core network node is: Vj = (40 Gbps, 50 TOPS, 100 TB, 5000 W, 1000000 times / second).
[0044] In some embodiments, the first preset condition includes a first set threshold; in the case where the network resource data meets the first preset condition, inputting the resource allocation data into the resource allocation model may include:
[0045] Calculate the resource utilization rate based on the resource usage data and the resource allocation data;
[0046] Determine whether the resource utilization rate reaches the first preset threshold;
[0047] In the case where the resource utilization rate reaches the first preset threshold, input the resource allocation data into the resource allocation model.
[0048] The first set threshold is a quantization standard for measuring whether the resource utilization rate has reached the level where resource allocation adjustment is required. When the actually calculated resource utilization rate is equal to or exceeds this value, it is considered that the current resource allocation needs to be optimized. The resource utilization rate is an index calculated from the resource usage data and the resource allocation data, and is used to measure the proportion of the actually effectively utilized resources in the allocated resources.
[0049] Combine the resource usage data and the resource allocation data, and obtain a specific numerical index through calculation, such as the resource utilization rate, which intuitively reflects in a quantitative way how much of the currently allocated resources are actually used, facilitating subsequent accurate judgment and decision-making.
[0050] Set the first set threshold as the judgment standard, so that the decision of whether to input the resource allocation data into the resource allocation model has clear conditions and boundaries. When the resource utilization rate is lower than this threshold, it indicates that the resource allocation may be unreasonable or there is waste, and at this time, there is no need to trigger model input; while when the resource utilization rate is equal to or exceeds this threshold, it indicates that the resource allocation may need further optimization.
[0051] By comparing with the first set threshold, situations that do not require adjustment can be quickly screened out, ensuring that subsequent resource allocation optimization operations are only carried out when the resource utilization rate meets certain standards, which helps to avoid waste and over-allocation of resources, improve the overall utilization efficiency of network resources, avoid inputting all resource allocation data into the model for complex calculations, thereby saving computing resources and time costs, and improving the efficiency of the entire process.
[0052] In some embodiments, the resource utilization function U(Vj) is used to calculate the comprehensive resource utilization of node j. The calculation formula can be: U(Vj) = ∑(wi * Rij / max(Ri)), where i ∈ [1, 5]. Here, Vj is the resource vector of node j, Rij is the data of the i-th dimension in the resource vector of node j, wi is the weight of the i-th resource dimension, and max(Ri) is the maximum capacity of this dimension.
[0053] For example, assuming the weights are (0.3, 0.2, 0.2, 0.15, 0.15) respectively, the comprehensive resource utilization of a certain node is:
[0054] U(Vj) = 0.3 * (35 / 40) + 0.2 * (40 / 50) + 0.2 * (80 / 100) + 0.15 * (4000 / 5000) + 0.15 * (800000 / 1000000) = 0.815.
[0055] In some embodiments, the network resource data may further include the change value of the resource usage data within a preset time; the first preset condition may further include a second set threshold.
[0056] The change value of the resource usage data within a preset time refers to the change amount of the resource usage data within the preset time. For example, if the preset time is 1 hour, the change value can be the increase or decrease amount of the resource usage data within this 1 hour. The second set threshold is a specific numerical standard used to determine whether the change value of the resource usage data meets the requirements in the first preset condition. For example, if the second set threshold is 10%, when the change value of the resource usage data exceeds 10%, it is considered to meet the first preset condition.
[0057] Calculating the change value can reflect the dynamic change trend of the resource usage situation, help identify abnormal fluctuations or demand peaks in resource usage, and provide a basis for resource allocation adjustment. By setting the second set threshold, it can be clearly determined whether the change of the resource usage data exceeds the normal range, so as to decide whether resource allocation adjustment is needed. This helps to avoid unnecessary resource allocation operations, save computing resources and time. Only when the change value of the resource usage data reaches the threshold, resource allocation adjustment is carried out, avoiding frequent adjustments caused by short-term fluctuations and improving the accuracy and stability of resource allocation.
[0058] In some embodiments, when at least one of the network resource data meeting the first preset condition and the detection time reaching the preset time is satisfied, inputting the resource allocation data into the resource allocation model may include:
[0059] When the network resource data meets the first preset condition and the detection time reaches the preset time, input the resource allocation data into the resource allocation model.
[0060] Among them, the detection time refers to the current time point or time period when the network resource data is actually detected and evaluated, and the preset time refers to a specific time point or time period set in advance. When the detection time reaches this preset time, the system will trigger corresponding operations, such as inputting the resource allocation data into the resource allocation model.
[0061] By judging whether the detection time reaches the preset time, it can be ensured that the input of the resource allocation data is carried out at an appropriate time. This helps to optimize the resource allocation according to the plan and avoid the instability caused by frequent adjustments. Combining the two conditions that the network resource data meets the first preset condition and the detection time reaches the preset time to trigger the input of the resource allocation data can ensure that the resource allocation adjustment is carried out at an appropriate time and under appropriate conditions, improving the accuracy and effectiveness of the resource allocation, and at the same time reducing unnecessary calculations and adjustments.
[0062] In some embodiments, as Figure 2 shown, multiple resource allocation sub-data can be randomly generated based on the input resource allocation data, and it can include: S201 and S202.
[0063] S201, randomly adjust the resource allocation data within the preset adjustment range to generate multiple first network resource allocation data;
[0064] S202, when the first network resource allocation data meets the preset constraint conditions, determine the first network resource allocation data as the network resource allocation sub-data.
[0065] Among them, the preset adjustment range refers to the allowable range for randomly adjusting the original resource allocation data when generating resource allocation sub-data. For example, the bandwidth allocation can be adjusted within ±10% of the original value, and the computing power can be adjusted within ±20% of the original value, etc., to ensure that the generated sub-data is within a reasonable range and avoid generating unrealistic resource allocation schemes. Random adjustment refers to the process of adjusting the original resource allocation data through a random algorithm within the preset adjustment range, so as to explore different resource allocation possibilities and increase the chance of finding a better solution. The first network resource allocation data refers to the preliminary resource allocation scheme generated after random adjustment, which needs to be further screened and verified after generation to ensure that they meet the preset constraint conditions. The preset constraint conditions refer to a set of rules and limitations that the resource allocation scheme must satisfy. For example, the bandwidth allocated to a certain task cannot exceed the total bandwidth of the network link, and the computing power allocated to a certain device cannot exceed its maximum processing capacity, etc., to ensure that the generated resource allocation scheme is feasible and effective in practice. The network resource allocation sub-data refers to the first network resource allocation data that has been verified to meet the preset constraint conditions, which is a candidate solution for the resource allocation model and is further evaluated and selected in the subsequent optimization process to determine the final resource allocation scheme.
[0066] By performing random adjustment within the preset adjustment range, multiple different resource allocation schemes can be generated, increasing the opportunity to explore different resource allocation possibilities, helping to discover potential better solutions, and improving the flexibility and adaptability of resource allocation. By verifying whether the first network resource allocation data meets the preset constraint conditions, it can be ensured that the generated network resource allocation sub-data is feasible and effective in practice, avoiding the generation of unrealistic or unimplementable resource allocation schemes, and improving the efficiency and quality of the subsequent optimization process.
[0067] In some embodiments, when randomly adjusting the resource allocation data within the preset adjustment range, various random methods can be adopted, such as uniform distribution, normal distribution, etc., to generate multiple different resource allocation schemes.
[0068] In some embodiments, as Figure 3 shown, selecting the resource allocation sub-data whose resource usage data and resource allocation data meet the second preset condition as the target resource allocation sub-data may include: S301 to S306.
[0069] S301, calculate the resource performance data of each resource allocation sub-data according to the resource allocation sub-data and the resource usage data;
[0070] S302, calculate the target fitness value of each resource allocation sub-data according to the relationship between the resource performance data and the fitness value;
[0071] S303, select the resource allocation sub - data with the highest target fitness value as the global optimal sub - data;
[0072] S304, compare the fitness values of the resource allocation sub - data and the resource allocation data that generates the resource allocation sub - data, and select the data with a higher fitness value as the individual optimal sub - data of the resource allocation sub - data;
[0073] S305, update the target resource allocation sub - data according to the global optimal sub - data and the individual optimal sub - data;
[0074] S306, when the number of updates reaches the set number of times, select the resource allocation sub - data whose resource performance data meets the second preset condition as the target resource allocation sub - data.
[0075] Among them, the resource performance data of the resource allocation sub - data refers to the performance indicators calculated based on the resource allocation sub - data and the resource usage data; the fitness value is an indicator used to evaluate the adaptability of the resource allocation sub - data. The higher the fitness value, the better the corresponding resource allocation sub - data performs in meeting business requirements and network performance requirements, etc. The global optimal sub - data refers to the sub - data with the highest target fitness value among all resource allocation sub - data, representing the resource allocation scheme that can best meet the overall optimization goal among all currently considered resource allocation sub - data. The individual optimal sub - data refers to selecting the data with a higher fitness value as the individual optimal sub - data after comparing the fitness values of the resource allocation sub - data and the original resource allocation data that generates this sub - data, reflecting the optimal choice in the evolution process of individual data.
[0076] By calculating the resource performance data, the performance of each resource allocation sub - data can be quantitatively evaluated, providing basic data support for subsequent fitness value calculation. By calculating the target fitness value, the adaptability of each resource allocation sub - data can be further evaluated, providing a basis for subsequent selection of global optimal and individual optimal sub - data. Selecting the global optimal sub - data can ensure that the resource allocation scheme that can best meet the overall optimization goal is selected among all candidate schemes. By comparing and selecting the individual optimal sub - data, the optimal characteristics of each resource allocation sub - data in the evolution process can be retained. Combining the global optimal and individual optimal sub - data for updating can comprehensively consider the optimal characteristics of the global and individual aspects, gradually optimize the target resource allocation sub - data, and improve its adaptability and performance. By setting the number of updates and the second preset condition, it can be ensured that after sufficient iterative optimization, the resource allocation sub - data that meets the conditions is selected as the final scheme, ensuring the convergence of the optimization process and the reliability of the results.
[0077] In some embodiments, the resource performance data may include overall resource utilization, load balancing degree, and energy consumption. The resource allocation model is a multi-objective optimization model, and the objective function is defined as: F(X) = (f1(X), f2(X), f3(X)), where X is the resource allocation data, f1(X) is to maximize the overall resource utilization, f2(X) is to maximize the load balancing degree, and f3(X) is to minimize the energy consumption.
[0078] In some embodiments, the calculation formula for the overall resource utilization is: f1(X) = ∑U(Vj) / N, where N is the total number of nodes.
[0079] In some embodiments, the calculation formula for the load balancing degree is: f2(X) = 1 - σ(U(Vj)), where σ is the standard deviation.
[0080] In some embodiments, the calculation formula for the energy consumption is: f3(X) = ∑R4j, that is, the sum of the energy consumption of all nodes.
[0081] In some embodiments, the preset constraint conditions may include:
[0082] Total bandwidth constraint g1(X) ≤ b1, such as ∑R1j ≤ 1000 Gbps; computing power constraint g2(X) ≤ b2, such as ∑R2j ≤ 500 TOPS; storage space constraint g3(X) ≤ b3, such as ∑R3j ≤ 1000 TB; maximum energy consumption constraint g4(X) ≤ b4, such as ∑R4j ≤ 100000 W; signaling processing capacity constraint g5(X) ≤ b5, such as ∑R5j ≤ 10000000 times / second; where b1, b2, b3, b4, and b5 are all preset values.
[0083] In some embodiments, the resource performance data includes multiple resource performance sub-data, and the second preset condition includes that the target performance sub-data of the resource allocation sub-data is not less than the target performance sub-data of other resource allocation sub-data, and the target performance sub-data is any resource performance sub-data.
[0084] The target performance sub-data of the resource allocation sub-data not being less than the target performance sub-data of other resource allocation sub-data is the non-dominated solution. In a multi-objective optimization problem, a solution is called a non-dominated solution if and only if there does not exist another solution that is better than it in all objectives and strictly better than it in at least one objective.
[0085] In multi-objective optimization problems, there is usually no single optimal solution, but rather a set of non-dominated solutions. The non-dominated solutions ensure a balance among multiple performance objectives. The non-dominated solutions guarantee that an improvement in any one performance objective will not lead to a decline in other performance objectives. This helps to ensure the stability and reliability of the overall system, avoiding the situation of over-optimizing one objective at the expense of others, thus achieving a trade-off among multiple performance metrics and providing multiple options for decision-makers, who can choose the most suitable solution according to specific business requirements and priorities.
[0086] In some embodiments, the method may further include:
[0087] Determine a target preset weight according to the relationship among the resource performance data of the resource allocation data, the resource performance data of the target resource allocation data, and the preset weight, and update the resource allocation model according to the target preset weight.
[0088] Wherein, the preset weight refers to the weight values preset in the resource allocation model for different resource performance metrics, such as bandwidth, computing power, storage space, etc. These weights reflect the relative importance of different performance metrics in the resource allocation decision. The target preset weight refers to the weight values recalculated and determined according to the relationship among the resource performance data of the resource allocation data, the resource performance data of the target resource allocation data, and the preset weight. These weights are used to update the resource allocation model to better reflect the actual importance and contribution of different performance metrics.
[0089] By comprehensively considering the performance performance of the resource allocation data and the target resource allocation data, as well as the preset weight, it can more accurately reflect the actual importance and contribution of different performance metrics, be able to dynamically adjust the weight, and the updated model can generate a resource allocation plan that better meets the actual needs, improving the efficiency and effect of resource allocation and meeting the high-performance requirements of the network.
[0090] In some embodiments, determining the target preset weight according to the relationship among the resource performance data of the resource allocation data, the resource performance data of the target resource allocation data, and the preset weight may include:
[0091] Calculate a performance change value according to the resource performance data of the resource allocation data and the resource performance data of the target resource allocation data;
[0092] Determine the target preset weight according to the relationship between the performance change value and the preset weight.
[0093] Calculating the performance change value according to the resource allocation data and the target resource allocation data can clarify the gap between the current resource allocation and the target, providing a quantitative basis for subsequent adjustments. Combining the performance change and the preset weight to dynamically adjust the weight makes the resource allocation more in line with the actual needs and network objectives.
[0094] In some embodiments, the relationship among the resource performance data of the resource allocation data, the resource performance data of the target resource allocation data, and the preset weights is determined by the Q-learning method, which may specifically include:
[0095] Initialize a Q-table to store the expected cumulative rewards for taking different actions in each state. The initial values can be set randomly or to zero. Define the system state S as the set of performance metrics of the current network, including resource utilization rates in various dimensions, energy consumption levels, quality of user experience, etc. S = {s1, s2,..., sn}, where si represents the i-th performance metric. Define the action A as the adjustment of the weight parameters. A = {a1, a2,..., am}, where ai represents the increase or decrease of a certain weight.
[0096] Design a reward function R(s, a) to give rewards based on the improvement degree of the system state after taking the action a. For example: R(s, a) = Δ(network performance score) - β * |Δ(energy consumption)|, where β is a balancing factor used to weigh the performance improvement and the increase in energy consumption. Update the Q value using the core formula of Q-learning: Q(s, a) ← Q(s, a) + α[R(s, a) + γ * max(Q(s', a')) - Q(s, a)], where α is the learning rate, γ is the discount factor, and s' is the next state. Adopt an ε-greedy strategy, randomly select an action to explore with a probability of ε, and select the action with the maximum Q value (exploitation) with a probability of 1 - ε. As the learning progresses, gradually decrease the value of ε and increase the proportion of exploitation.
[0097] That is, according to the current state and the Q-table, select an action, which can be to adjust the resource allocation weights or reallocate resources. The performance change value can be regarded as the feedback value between the current state (resource allocation data) and the target state (target resource allocation data). If the performance change value is positive, it means that the current resource allocation scheme is better than the previous one, and a positive reward can be given; if the performance change value is negative, a negative reward is given. By calculating the performance change value, the gap between the current resource allocation scheme and the optimal scheme can be quantified. Adjust the resource allocation according to the selected action and calculate the reward based on the performance change value. Update the value in the Q-table according to the relationship between the performance change value and the preset weights, and repeat the above steps until the Q-table converges or reaches the preset number of learning times.
[0098] In one embodiment, as Figure 4 shown, the method may further include: S401 to S406.
[0099] S401, detect the traffic usage of the node;
[0100] S402, trigger a fast response mechanism to perform resource reallocation when the traffic usage of the node surges;
[0101] S403. When the traffic usage of the node is normal, continue to perform network status detection;
[0102] S404. When the resource utilization rate is greater than the set threshold, perform resource reallocation;
[0103] S405. When the resource utilization rate does not exceed the set threshold and the detection period is reached, perform resource reallocation;
[0104] S406. Optimize the node resource allocation according to the resource reallocation situation and perform resource adjustment.
[0105] Figure 5 Fig. 500 shows a network resource allocation device provided by an embodiment of the present application. The device may include:
[0106] An acquisition module 501, configured to acquire network resource data of a node, where the network resource data includes resource usage data and resource allocation data;
[0107] A determination module 502, configured to, when at least one of the network resource data meeting a first preset condition and the detection time reaching a preset time is satisfied, input the resource allocation data into a resource allocation model, randomly generate a plurality of resource allocation sub-data based on the input resource allocation data, select the resource allocation sub-data whose resource usage data and resource allocation sub-data meet a second preset condition as target resource allocation sub-data, calculate a decision value of the target resource allocation sub-data according to a preset weight in the resource allocation model, and determine the resource allocation sub-data with the highest decision value as target resource allocation data.
[0108] In some embodiments, the acquisition module 501 is further configured to acquire any two of bandwidth, computing power, storage space, energy consumption, and signaling load.
[0109] In some embodiments, the network resource allocation device 500 may further include:
[0110] A calculation module, configured to calculate a resource utilization rate based on the resource usage data and the resource allocation data;
[0111] A judgment module, configured to judge whether the resource utilization rate reaches a first preset threshold;
[0112] An input module, configured to input the resource allocation data into the resource allocation model when the resource utilization rate reaches the first preset threshold.
[0113] In some embodiments, the input module is further configured to input the resource allocation data into the resource allocation model when a change value of the resource usage data within a preset time meets a second set threshold.
[0114] In some embodiments, the input module is further configured to input the resource allocation data into the resource allocation model when the network resource data meets the first preset condition and the detection time reaches the preset time.
[0115] In some embodiments, the network resource allocation device 500 may further include:
[0116] An adjustment module, configured to randomly adjust the resource allocation data within a preset adjustment range to generate a plurality of first network resource allocation data;
[0117] The determination module 502 is further configured to determine the first network resource allocation data as the network resource allocation sub-data when the first network resource allocation data meets the preset constraint conditions.
[0118] In some embodiments, the network resource allocation device 500 may further include:
[0119] A calculation module, further configured to calculate the resource performance data of each resource allocation sub-data according to the resource allocation sub-data and the resource usage data;
[0120] The calculation module is further configured to calculate the target fitness value of each resource allocation sub-data according to the relationship between the resource performance data and the fitness value;
[0121] A selection module, configured to select the resource allocation sub-data with the highest target fitness value as the global optimal sub-data;
[0122] The selection module is further configured to compare the fitness values of the resource allocation sub-data and the resource allocation data for generating the resource allocation sub-data, and select the data with a higher fitness value as the individual optimal sub-data of the resource allocation sub-data;
[0123] An update module, configured to update the target resource allocation sub-data according to the global optimal sub-data and the individual optimal sub-data;
[0124] The selection module is further configured to select the resource allocation sub-data whose resource performance data meets the second preset condition as the target resource allocation sub-data when the number of updates reaches the set number of times.
[0125] In some embodiments, the selection module is further configured to when the target performance sub-data of the resource allocation sub-data is not less than the target performance sub-data of other resource allocation sub-data, and the target performance sub-data is any one of the resource performance data.
[0126] In some embodiments, the determination module 502 is further configured to determine the target preset weight according to the relationship between the resource performance data of the resource allocation data, the resource performance data of the target resource allocation data, and the preset weight, and update the resource allocation model according to the target preset weight.
[0127] In some embodiments, the calculation module is further configured to calculate a performance change value according to the resource performance data of the resource allocation data and the resource performance data of the target resource allocation data;
[0128] The determination module 502 is further configured to determine a target preset weight according to the relationship between the performance change value and the preset weight.
[0129] Figure 5 Each module in the shown device can implement Figure 1 each step in, and achieve the corresponding technical effects, which will not be described in detail here for the sake of brevity.
[0130] Figure 6 FIG. shows a schematic hardware structure diagram of a terminal device provided in an embodiment of the present application.
[0131] The terminal device may include a processor 601 and a memory 602 storing computer program instructions.
[0132] Specifically, the above-mentioned processor 601 may include a central processing unit (CPU), or an application specific integrated circuit (ASIC), or one or more integrated circuits configured to implement the embodiments of the present application.
[0133] The memory 602 may include a mass storage for data or instructions. By way of example and not limitation, the memory 602 may include a hard disk drive (HDD), a floppy disk drive, a flash memory, an optical disk, a magneto-optical disk, a magnetic tape, or a universal serial bus (USB) drive or a combination of two or more of these. In one instance, the memory 602 may include removable or non-removable (or fixed) media, or the memory 602 is a non-volatile solid-state memory. The memory 602 may be inside or outside the integrated gateway disaster recovery device.
[0134] In one instance, the memory 602 may include a read-only memory (ROM), a random access memory (RAM), a magnetic disk storage media device, an optical storage media device, a flash memory device, an electrical, optical, or other physical / tangible memory storage device. Thus, in general, the memory includes one or more tangible (non-transitory) computer-readable storage media (e.g., memory devices) encoded with software including computer-executable instructions, and when the software is executed (e.g., by one or more processors), it is operable to perform the operations described with reference to the network resource allocation method according to the present disclosure.
[0135] The processor 601 reads and executes the computer program instructions stored in the memory 602 to implement Figure 1 the network resource allocation method in the illustrated embodiment.
[0136] In one example, the terminal device may further include a communication interface 603 and a bus 604. Among them, as Figure 6 shown, the processor 601, the memory 602, and the communication interface 603 are connected through the bus 604 and complete communication with each other.
[0137] The communication interface 603 is mainly used to implement communication between the modules, devices, units, and / or devices in the embodiments of the present application.
[0138] The bus 604 includes hardware, software, or both, and couples the components of the terminal device to each other. By way of example and not limitation, the bus may include an Accelerated Graphics Port (AGP) or other graphics bus, an Extended Industry Standard Architecture (EISA) bus, a Front Side Bus (FSB), a Hyper Transport (HT) interconnect, an Industry Standard Architecture (ISA) bus, an InfiniBand interconnect, a Low Pin Count (LPC) bus, a memory bus, a Micro Channel Architecture (MCA) bus, a Peripheral Component Interconnect (PCI) bus, a PCI-Express (PCI-X) bus, a Serial Advanced Technology Attachment (SATA) bus, a Video Electronics Standards Association Local (VLB) bus, or other suitable buses or a combination of two or more of these. In a suitable case, the bus 604 may include one or more buses. Although the embodiments of the present application describe and illustrate a specific bus, the present application contemplates any suitable bus or interconnect.
[0139] In addition, in combination with the network resource allocation method in the above embodiments, the embodiments of the present application can be implemented by providing a computer storage medium. Computer program instructions are stored on the computer storage medium; when the computer program instructions are executed by the processor, any one of the network resource allocation methods in the above embodiments is implemented.
[0140] The embodiments of the present application also provide a computer program product, including a computer program, which implements any one of the network resource allocation methods in the above embodiments when executed by the processor.
[0141] It should be clear that the present application is not limited to the specific configurations and processes described above and shown in the figures. For the sake of brevity, detailed descriptions of known methods are omitted here. In the above embodiments, several specific steps are described and shown as examples. However, the method process of the present application is not limited to the specific steps described and shown. Those skilled in the art can make various changes, modifications, and additions, or change the order between steps after understanding the spirit of the present application.
[0142] The functional blocks shown in the above-described structural block diagrams can be implemented as hardware, software, firmware, or a combination thereof. When implemented in hardware, it can be, for example, an electronic circuit, an application specific integrated circuit (ASIC), appropriate firmware, a plug-in, a functional card, and so on. When implemented in software, the elements of the present application are programs or text segments used to perform the required tasks. The program or text segment can be stored in a machine-readable medium or transmitted via a data signal carried in a carrier wave over a transmission medium or a communication link. A "machine-readable medium" can include any medium that can store or transmit information. Examples of machine-readable media include electronic circuits, semiconductor memory devices, read-only memory (ROM), flash memory, erasable read-only memory (EROM), floppy disks, compact disc read-only memory (CD-ROM), optical discs, hard disks, fiber optic media, radio frequency (RF) links, and so on. The text segment can be downloaded via a computer network such as the Internet, an intranet, and so on.
[0143] It should also be noted that in the exemplary embodiments mentioned in the present application, some methods or systems are described based on a series of steps or devices. However, the present application is not limited to the order of the above steps, that is, the steps can be executed in the order mentioned in the embodiments, or different from the order in the embodiments, or several steps can be executed simultaneously.
[0144] As described above with reference to the flowcharts and / or block diagrams of methods, apparatuses (systems), and computer program products according to embodiments of the present disclosure. It should be understood that each block in the flowchart and / or block diagram, and the combinations of blocks in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing device to produce a machine, such that the instructions executed by the processor of the computer or other programmable data processing device enable the implementation of the functions / actions specified in one or more blocks of the flowchart and / or block diagram. Such a processor can be, but is not limited to, a general-purpose processor, a special-purpose processor, a special application processor, or a field programmable logic circuit. It is also understood that each block in the block diagram and / or flowchart, and the combinations of blocks in the block diagram and / or flowchart, can also be implemented by dedicated hardware performing the specified functions or actions, or can be implemented by a combination of dedicated hardware and computer instructions.
[0145] As described above, the foregoing is only a specific implementation manner of the present application. Those skilled in the art can clearly understand that for the convenience and brevity of description, the specific working processes of the systems, modules, and units described above can refer to the corresponding processes in the foregoing method embodiments and will not be elaborated herein. It should be understood that the protection scope of the present application is not limited thereto. Any person skilled in the art can easily think of various equivalent modifications or substitutions within the technical scope disclosed in the present application, and these modifications or substitutions should all be covered by the protection scope of the present application.
Claims
1. A method for network resource allocation, characterized in that, The method includes: Obtaining network resource data of a node, where the network resource data includes resource usage data and resource allocation data; When at least one of the network resource data meeting a first preset condition and the detection time reaching a preset time is satisfied, input the resource allocation data into a resource allocation model, randomly generate a plurality of resource allocation sub-data based on the input resource allocation data, select the resource allocation sub-data for which the resource usage data and the resource allocation sub-data meet a second preset condition as the target resource allocation sub-data, calculate a decision value of the target resource allocation sub-data according to a preset weight in the resource allocation model, and determine the resource allocation sub-data with the highest decision value as the target resource allocation data.
2. The method for network resource allocation according to claim 1, wherein The network resource data includes at least any two of bandwidth, computing power, storage space, energy consumption, and signaling load.
3. The method for network resource allocation according to claim 1, characterized in that The first preset condition includes a first set threshold; when the network resource data meets the first preset condition, the inputting the resource allocation data into the resource allocation model includes: Calculating a resource utilization rate based on the resource usage data and the resource allocation data; Determining whether the resource utilization rate reaches the first preset threshold; When the resource utilization rate reaches the first preset threshold, input the resource allocation data into the resource allocation model.
4. The method for network resource allocation according to claim 1, characterized in that The network resource data further includes a change value of the resource usage data within a preset time; the first preset condition further includes a second set threshold.
5. The method for network resource allocation according to claim 1, wherein The inputting the resource allocation data into the resource allocation model when at least one of the network resource data meeting the first preset condition and the detection time reaching the preset time is satisfied includes: When the network resource data meets the first preset condition and the detection time reaches the preset time, input the resource allocation data into the resource allocation model.
6. The method for network resource allocation according to claim 1, wherein The randomly generating a plurality of resource allocation sub-data based on the input resource allocation data includes: Randomly adjusting the resource allocation data within a preset adjustment range to generate a plurality of first network resource allocation data; When the first network resource allocation data meets a preset constraint condition, determining the first network resource allocation data as the network resource allocation sub-data.
7. The method for network resource allocation according to claim 1, characterized in that The selecting the resource allocation sub-data for which the resource usage data and the resource allocation data meet the second preset condition as the target resource allocation sub-data includes: Calculating resource performance data of each resource allocation sub-data according to the resource allocation sub-data and the resource usage data; Calculating a target fitness value of each resource allocation sub-data according to the relationship between the resource performance data and the fitness value; Selecting the resource allocation sub-data with the highest target fitness value as the global optimal sub-data; Comparing the fitness values of the resource allocation sub-data and the resource allocation data for generating the resource allocation sub-data, and selecting the data with a higher fitness value as the individual optimal sub-data of the resource allocation sub-data; Updating the target resource allocation sub-data according to the global optimal sub-data and the individual optimal sub-data; When the number of updates reaches a set number, selecting the resource allocation sub-data for which the resource performance data meets the second preset condition as the target resource allocation sub-data.
8. The method for network resource allocation according to claim 7, wherein The resource performance data includes multiple resource performance sub-data. The second preset condition includes that the target performance sub-data of the resource allocation sub-data is not less than the target performance sub-data of other resource allocation sub-data, and the target performance sub-data is any resource performance sub-data.
9. The method for network resource allocation according to any one of claims 1 to 8, characterized in that, The method further includes: Determining a target preset weight according to the relationship between the resource performance data of the resource allocation data, the resource performance data of the target resource allocation data, and the preset weight, and updating the resource allocation model according to the target preset weight.
10. The method for network resource allocation according to claim 9, wherein The determining the target preset weight according to the relationship between the resource performance data of the resource allocation data, the resource performance data of the target resource allocation data, and the preset weight includes: Calculating a performance change value according to the resource performance data of the resource allocation data and the resource performance data of the target resource allocation data; Determining the target preset weight according to the relationship between the performance change value and the preset weight.
11. A device for network resource allocation, characterized in that, The device includes: An acquisition module, configured to acquire network resource data of a node, where the network resource data includes resource usage data and resource allocation data; A determination module, configured to, when at least one of the network resource data meets the first preset condition and the detection time reaches the preset time is satisfied, input the resource allocation data into a resource allocation model, randomly generate multiple resource allocation sub-data based on the input resource allocation data, and select the resource allocation sub-data whose resource usage data and resource allocation sub-data meet the second preset condition as the target resource allocation sub-data, calculate a decision value of the target resource allocation sub-data according to the preset weight in the resource allocation model, and determine the resource allocation sub-data with the highest decision value as the target resource allocation data.
12. A terminal device, characterized in that, The device includes: a processor and a memory storing computer program instructions; when the processor executes the computer program instructions, the method for network resource allocation according to any one of claims 1-10 is implemented.
13. A computer-readable storage medium, characterized in that, Computer program instructions are stored on the computer-readable storage medium, and when the computer program instructions are executed by a processor, the method for network resource allocation according to any one of claims 1-10 is implemented.
14. A computer program product, characterized in that, When the instructions in the computer program product are executed by the processor of the electronic device, the electronic device is caused to execute the method for network resource allocation according to any one of claims 1-10.
