Cloud computing resource dynamic allocation optimization method
By deploying monitoring agents and central servers on cloud computing nodes for resource data collection and analysis, and optimizing resource scheduling, the problem of unreasonable allocation of cloud computing resources is solved, and efficient resource utilization and timely processing of tasks is achieved.
Patent Information
- Application Number
- CN202411599408.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-11-11
- Publication Date
- 2024-12-24
- Estimated Expiration
- Not applicable · inactive patent
AI Technical Summary
The traditional cloud computing resource allocation model is relatively static and it is difficult to make flexible dynamic adjustments based on actual business needs and resource usage, resulting in some computing node resources being idle while others lack resources, affecting business operations.
Deploy monitoring agents in various computing nodes in cloud computing, regularly collect resource usage data of CPU, memory, storage, network broadband and resource allocation of task types, and perform data sorting and verification through the central server to analyze the comprehensive evaluation value of resource usage , divide resource-intensive and multi-resource composite periods, optimize resource scheduling, allocate tasks to low-load state points and apply for more resources, and prioritize high-priority tasks.
Reasonable allocation of resources is achieved, resource waste is avoided, overall utilization is improved, task execution accuracy and response speed are ensured, and business diversified needs are met.
Smart Images

Figure CN119179578A_ABST
Abstract
Description
Technical Field
[0001] The present invention belongs to the technical field of cloud computing resource management, and in particular relates to a method for optimizing dynamic allocation of cloud computing resources. Background Art
[0002] In today's information age, cloud computing has become an indispensable technical support for many enterprises and organizations. It plays a key role in providing powerful computing and storage capabilities. However, with the continuous expansion and deepening of cloud computing applications, the irrational allocation of resources has gradually become a problem that restricts its further development. The traditional cloud computing resource allocation model is relatively static and difficult to flexibly adjust dynamically according to actual business needs and resource usage. This means that in a specific time period, some computing nodes may have idle resources, while other computing nodes face a situation of resource scarcity. For example, when a large number of computing-intensive tasks emerge in a short period of time in a specific business scenario, if more CPU resources cannot be allocated to the corresponding computing nodes in time, the task execution progress will be slow, which will have an adverse impact on the normal operation of the business. Similarly, for memory-intensive, storage-intensive, and network bandwidth-intensive tasks, if resources cannot be dynamically allocated according to actual needs, similar problems will also arise. For this reason, we propose a cloud computing resource dynamic allocation optimization method. Summary of the invention
[0003] The purpose of the present invention is to provide a method for optimizing dynamic allocation of cloud computing resources to solve the problems raised in the above background technology.
[0004] To achieve the above object, the present invention provides the following technical solution: a method for optimizing dynamic allocation of cloud computing resources, comprising the following steps: Step 1: Deploy monitoring agents on each computing node of the cloud computing system to collect resource usage data including CPU, memory, storage, network bandwidth and resource allocation of each task type at preset collection intervals and transmit them to the central server; Step 2: Verify the integrity of the collected usage data of the CPU, memory, storage, and network bandwidth resources of each computing node. Determine qualified packets by comparing the number of bytes of the data packets before and after sending, and resend the instructions for unqualified packets until all pass the verification; Step 3: After receiving the qualified packages, the central server sorts and classifies them and stores them in the corresponding resource database and task type database; Step 4: Extract historical data from each database, analyze the comprehensive evaluation value of resource usage, determine the high and low load status points, and divide the normal working time of cloud computing into resource-intensive time periods and multi-resource complex time periods; Step 5: The resource allocation library performs resource scheduling according to the conditions of different time periods, and takes corresponding optimization measures for different resource-intensive or complex time periods. The specific optimization measures are: assigning tasks to corresponding low-load state points and applying for more corresponding resources; Step 6: Prioritize the tasks in each time period, comprehensively consider the task urgency weight, resource demand value and the remaining time of the task deadline, calculate the priority evaluation value, and prioritize the allocation of resources and execution of high-priority tasks, and prioritize the allocation to the computing nodes corresponding to the corresponding low-load state points.
[0005] Preferably, the process of collecting resource usage data of CPU, memory, storage, network bandwidth and resource allocation of each task type is as follows: Divide the cloud computing environment into several computing nodes, deploy monitoring agents on each computing node, preset collection intervals, and the agents regularly collect the CPU, memory, storage, and network bandwidth resource usage data and resource allocation of each computing node according to the preset collection intervals, and transmit the collected data to the central server; Resource usage data includes: CPU usage and usage rate, memory usage and usage rate, storage usage and usage rate, network bandwidth usage and usage rate; The resource allocation includes: the number of CPUs, memory capacity, storage space size, and network bandwidth quota allocated to each task in each task type; Task types include computing-intensive tasks, memory-intensive tasks, storage-intensive tasks, and network bandwidth-intensive tasks.
[0006] Preferably, the process of verifying the integrity of the collected data is: The CPU, memory, storage, and network bandwidth resource usage data collected by each computing node are classified and packaged into independent resource data packets. At the same time, the resource allocation information of each task type is separately packaged into task type data packets; for each data packet, before sending, the number of bytes of the data packet is calculated and recorded. After receiving, the central server recounts the number of bytes and compares it with the number of bytes before sending. If they are the same, they are marked as qualified packets, and if they are different, they are unqualified packets; then, the monitoring agent program corresponding to the unqualified packet is determined, and a data packet resending instruction corresponding to the unqualified packet is generated to the monitoring agent program. After receiving the resending instruction, the monitoring agent program corresponding to the unqualified data packet re-collects and packages the data packet and sends it. The central server performs the above verification steps on the resent data packet again, and this cycle is repeated until all data packets pass the integrity verification.
[0007] Preferably, the process of the central server sorting and classifying the qualified packages after receiving them and storing them in the corresponding resource database and task type database is as follows: The central server is internally provided with a CPU resource database, a memory resource database, a storage resource database, a network bandwidth resource database, and a task type database, and the data in each qualified package is extracted and stored in the corresponding database respectively.
[0008] Preferably, the process of extracting historical data from each database, analyzing the comprehensive resource usage evaluation value, and determining the high and low load state points is as follows: For CPU resources, with the usage amount being U and the usage rate being R, using the formula: CPUi_t comprehensive = wU × Ui_t + wR × Ri_t, the comprehensive CPU usage evaluation value CPUi_t comprehensive at each collection moment of each computing node is obtained, where wU and wR are the preset weight coefficients for CPU usage amount and CPU usage rate, i is the label of the computing node, i = 1, 2,..., n; t is the label of the collection moment, t = 1, 2,..., n; Using the same algorithm as that for calculating CPU resources above, calculate the comprehensive memory usage evaluation value NCi_t comprehensive, the comprehensive storage usage evaluation value CZi_t comprehensive, and the comprehensive network bandwidth usage evaluation value WKi_t comprehensive at each collection moment of each computing node respectively; Set that all resource comprehensive evaluation values correspond to a preset full load threshold. Compare the comprehensive resource usage evaluation value at each collection moment of each computing node with its corresponding preset full load threshold respectively. Mark the computing node and the collection moment corresponding to the comprehensive resource usage evaluation value that is greater than or equal to its corresponding preset full load threshold as the resource high load state point, and vice versa as the resource low load state point.
[0009] Preferably, the process of dividing a day when cloud computing works normally into a resource-intensive period and a multi-resource composite period is as follows: Divide a day when cloud computing works normally into several equal time periods. Count the average number of times that high load state points of each resource appear in each time period within the previous month, and count the average number of times that high load state points of each resource appear in each time period within the previous month; Set that each time period is preset with a threshold for the number of times that high load state points of each resource appear. Compare the average number of times that high load state points of each resource appear in each time period with the threshold for the number of times that high load state points of the corresponding resource appear at this time point respectively. If the average number of times that high load state points of a certain resource appear in a certain time period exceeds the preset threshold for the number of times of the corresponding resource, then mark this time period as the resource-intensive time period for this resource; If the number of times that high load state points of multiple resources appear in a time period simultaneously exceeds their respective preset thresholds, then mark this time period as a multi-resource composite period.
[0010] Preferably, the resource allocation library performs resource scheduling according to different time periods, and takes corresponding optimization measures for different resource-intensive or complex time periods as follows: The resource allocation library is connected to the resource optimization module in communication, and is used to schedule various types of backup resources for cloud computing; For computationally intensive time periods and composite time periods with computationally intensive tasks, computationally intensive tasks are preferentially assigned to CPU low-load status points, and more CPU resources are requested from the resource allocation library. For memory-intensive time periods and composite time periods with memory-intensive tasks, memory-intensive tasks are preferentially assigned to memory-low-load state points, and more memory is requested from the resource allocation library to increase the memory resources of the computing nodes in this time period; For storage-intensive time periods and composite time periods with storage-intensive tasks, storage-intensive tasks are preferentially assigned to storage low-load state points, and more storage is requested from the resource allocation library to increase the storage resources of the computing nodes in this time period; In network bandwidth-intensive time periods and composite time periods with network bandwidth intensiveness, network bandwidth-intensive tasks are preferentially assigned to points where network bandwidth has low load. At the same time, more network bandwidth is requested from the internal resource allocation library to increase the network bandwidth resources of the computing nodes in this time period.
[0011] Preferably, the specific process of prioritizing tasks in each time period is as follows: Each task is set to correspond to an urgency weight value De, where e represents the task number, e=1, 2, ..., n; the higher the urgency of the task, the greater the urgency weight value De; Get the task's requirements for CPU, memory, storage, and network bandwidth; For each resource-intensive time period, obtain the resource demand of the task corresponding to the resource-intensive time period, and assign a priority score to the task. For each task, the greater the resource demand corresponding to the resource-intensive time period, the lower the priority score; For each multi-resource composite period, obtain multiple resource requirements of the task corresponding to the multi-resource composite period, perform weighted processing on the multiple resource requirements, obtain a comprehensive value of the multi-resource requirements, and perform priority scoring for the task. For each task, the larger the comprehensive value of the multi-resource requirements corresponding to the multi-resource composite period, the lower the priority score; Mark the task's priority rating as We; Get the remaining time STe of each task's deadline for completion; Using the formula: Pe=(De×b1+We×b2) / STe×b3, we can get the priority evaluation value Pe of each task. In each time period, we sort the tasks according to the calculated task priority value. Tasks with high priority values are placed in front, and resources and execution are prioritized. At the same time, tasks with high priority values are prioritized to the computing nodes corresponding to the corresponding low-load state points.
[0012] Compared with the prior art, the present invention has the following beneficial effects: (1) A cloud computing resource dynamic allocation optimization method deploys a monitoring agent program on each computing node of the cloud computing to regularly collect resource usage data and allocation status, comprehensively grasp the resource status, and timely discover resource idle and high-load status points, so as to make reasonable allocation and avoid resource waste; for example, based on resource usage data, computing-intensive tasks are allocated to CPU low-load status points to make full use of idle resources; by calculating the comprehensive evaluation value of the use of different resources, resource-intensive time periods and multi-resource composite time periods are marked, and resource allocation optimization is carried out in a targeted manner, such as applying for more required resources for the corresponding computing nodes in a specific time period, giving full play to the efficiency of various resources and improving the overall utilization rate.
[0013] (2) A cloud computing resource dynamic allocation optimization method, a data integrity verification mechanism ensures that the collected data is accurate and reliable, compares the number of bytes in the data packet and retransmits the unqualified packets, provides a solid foundation for subsequent data analysis and resource allocation, avoids unreasonable resource allocation due to data errors, improves system stability and performance, and makes resource allocation more accurate with accurate data, reduces task execution errors and jams, improves response speed, prioritizes tasks, calculates priority evaluation values based on factors such as urgency weight, resource demand value, and remaining time before the task is due, gives priority to high-priority tasks, reduces waiting time, and improves overall system performance.
[0014] (3) A cloud computing resource dynamic allocation optimization method dynamically adjusts the resource allocation strategy according to the task type and resource usage in different time periods. That is, when a large number of computing-intensive tasks are detected in a certain time period, the system will give priority to allocating computing-intensive tasks to the CPU low-load state point and apply for more CPU resources from the resource allocation library to meet business needs; ensuring that different types of tasks can get reasonable resource allocation in different time periods to meet the diverse needs of the business. BRIEF DESCRIPTION OF THE DRAWINGS
[0015] Figure 1 It is a flowchart of the present invention; Figure 2 It is a schematic diagram of the flow distribution of the central database of the present invention; DETAILED DESCRIPTION
[0016] The following will be combined with the drawings in the embodiments of the present invention to clearly and completely describe the technical solutions in the embodiments of the present invention. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present invention.
[0017] Embodiment 1
[0018] See also Figure 1 The present invention provides a cloud computing resource dynamic allocation optimization method, including a collection module, a data analysis module, a central database, a resource allocation library, and a resource allocation module; The collection module is responsible for regularly collecting resource usage data and resource allocation of each computing node in the cloud computing system, and detecting the integrity of data transmission. The specific process is as follows: Divide the cloud computing environment into several computing nodes, deploy monitoring agents on each computing node, preset collection intervals, and the agents regularly collect the CPU, memory, storage, and network bandwidth resource usage data and resource allocation of each computing node according to the preset collection intervals, and transmit the collected data to the central server; Resource usage data includes: CPU usage and usage rate, memory usage and usage rate, storage usage and usage rate, network bandwidth usage and usage rate; Resource allocation includes: the number of CPUs, memory capacity, storage space size, and network bandwidth quota allocated to each task in each task type; task types include computing-intensive tasks, memory-intensive tasks, storage-intensive tasks, and network bandwidth-intensive tasks; Verify the integrity of data being transmitted; The CPU, memory, storage, and network bandwidth resource usage data collected by each computing node are classified and packaged into independent resource data packets, and the resource allocation information of each task type is separately packaged into task type data packets; for example: the CPU resource data packet contains the computing node identification, collection time, usage, and utilization rate data; for each data packet, before sending, the number of bytes of its data packet is calculated and recorded, and the central server re-counts its byte number after receiving it, and compares it with the number of bytes before sending. If they are the same, they are marked as qualified packets, and if they are different, they are unqualified packets; then, the monitoring agent program corresponding to the unqualified packet is determined, and a data packet resending instruction corresponding to the unqualified packet is generated to the monitoring agent program. After the monitoring agent program corresponding to the unqualified data packet receives the resending instruction, it re-collects and packages the data packet and sends it. The central server performs the above-mentioned verification steps on the resent data packet again, and this cycle is repeated until all data packets pass the integrity verification; The central database is used to store collected data that has been sorted and classified. Different types of resource data and task type data are stored in corresponding databases respectively. The specific process is as follows: When the central server receives qualified packets sent from various monitoring agents, it starts the data sorting and classification process; The central server is equipped with: CPU resource database, memory resource database, storage resource database, network broadband resource database, and task type database; The data in each qualified package is extracted and stored in the corresponding database. For example, the CPU data package extracts the CPU usage, utilization rate, acquisition time, and computing nodes inside it and stores them in the CPU resource database. The task type database is used to collect the number of CPUs, memory capacity, storage space size, and network bandwidth quota required for each task calculation in each task data package. The data analysis module analyzes the historical data in the central database, calculates the comprehensive evaluation value of the use of different resources of each computing node, determines the high-load and low-load state points of resources, and marks the resource-intensive time periods and multi-resource composite time periods. The specific process is as follows: Extract historical data from each resource database and analyze the comprehensive values of its usage and utilization rate at each computing node. The specific process is as follows: For CPU resources, with the usage amount being U and the utilization rate being R, using the formula: CPUi_t_total = wU × Ui_t + wR × Ri_t, the comprehensive evaluation value of CPU usage at each collection time for each computing node, CPUi_t_total, is obtained, where wU and wR are the preset weight coefficients for CPU usage amount and CPU utilization rate, i is the label of the computing node, i = 1, 2, ……, n; t is the label of the collection time, t = 1, 2, ……, n; Ui_t and Ri_t represent the usage amount and utilization rate of CPU at each collection time for each computing node Using the same algorithm as that for calculating CPU resources above, the comprehensive evaluation value of memory usage NCi_t_total, the comprehensive evaluation value of storage usage CZi_t_total, and the comprehensive evaluation value of network bandwidth usage WKi_t_total at each collection time for each computing node are calculated respectively; Set that each comprehensive evaluation value of resources corresponds to a preset full-load threshold. Compare the comprehensive evaluation value of resource usage at each collection time for each computing node with its corresponding preset full-load threshold respectively. Mark the computing node and the collection time corresponding to the comprehensive evaluation value of resource usage that is greater than or equal to its corresponding preset full-load threshold as the resource high-load state point, and vice versa as the resource low-load state point; For example: If the comprehensive evaluation value of CPU usage CPUi_t_total of a certain computing node at a specific collection time is greater than its corresponding preset full-load threshold, then this computing node at this collection time is marked as the CPU high-load state point, and vice versa as the CPU low-load state point; Divide a day when cloud computing is working properly into several equal time periods, and count the average number of times that each resource high-load state point appears in each time period within the last month; Set that each time period has a preset number threshold for the appearance of each resource high-load state point. Compare the average number of times that each resource high-load state point appears in each time period with the number threshold for the appearance of the corresponding resource high-load state point at this time point respectively. If the average number of times that a high-load state point of a certain resource appears in a certain time period exceeds the preset number threshold for the corresponding resource, then mark this time period as the intensive time period for this resource; For example, within a certain time period in a month, if the average number of times that the CPU high-load state point appears exceeds the preset number threshold for the appearance of the CPU high-load state point, then this time period is marked as the computing-intensive time period; If the number of times that high-load state points of multiple resources appear in a certain time period all exceed their respective preset number thresholds, then mark this time period as a multi-resource composite period. For example: If the number of times that the high-load state points of CPU and memory appear both exceed their respective preset number thresholds, then mark this time period as the computing - memory composite intensive period; The resource allocation library is responsible for scheduling various types of backup resources for cloud computing. In different resource-intensive or multi-resource composite periods, more resources are allocated to the corresponding computing nodes according to the instructions of the resource optimization module. The specific process is as follows: The resource allocation library is connected to the resource optimization module in communication, and is used to schedule various types of backup resources for cloud computing; When the time periods in the cloud computing system are marked as different resource-intensive or multi-resource composite time periods, corresponding resource allocation optimization measures are taken. The specific process is as follows: For computationally intensive time periods and composite time periods with computationally intensive tasks, computationally intensive tasks are preferentially assigned to CPU low-load status points, and more CPU resources are requested from the resource allocation library. For memory-intensive time periods and composite time periods with memory-intensive tasks, memory-intensive tasks are preferentially assigned to memory-low-load state points, and more memory is requested from the resource allocation library to increase the memory resources of the computing nodes in this time period; For storage-intensive time periods and composite time periods with storage-intensive tasks, storage-intensive tasks are preferentially assigned to storage low-load state points, and more storage is requested from the resource allocation library to increase the storage resources of the computing nodes in this time period; In the network bandwidth-intensive time period and the composite time period with network bandwidth-intensive, network bandwidth-intensive tasks are preferentially assigned to the points with low network bandwidth load. At the same time, more network bandwidth is requested from the internal resource allocation library to increase the network bandwidth resources of the computing nodes in this time period. The resource allocation module prioritizes tasks in each time period based on factors such as the task's urgency weight, resource demand value, and the remaining time before the task is completed, ensuring that high-priority tasks are allocated resources and executed first. The specific process is as follows: Prioritize each task in each time period. The specific process is as follows: Each task is set to correspond to an urgency weight value De, where e represents the task number, e=1, 2, ..., n; the higher the urgency of the task, the greater the urgency weight value De; Get the task's requirements for CPU, memory, storage, and network bandwidth; For each resource-intensive time period, obtain the resource demand of the task corresponding to the resource-intensive time period, and assign a priority score to the task. For each task, the greater the resource demand corresponding to the resource-intensive time period, the lower the priority score; For example, if the task is in a computing-intensive time period, obtain the CPU demand of each task and assign a priority score to each task. The smaller the CPU demand of the task, the larger the priority score assigned. For each multi-resource composite period, obtain multiple resource requirements of the task corresponding to the multi-resource composite period, perform weighted processing on the multiple resource requirements, obtain a comprehensive value of the multi-resource requirements, and perform priority scoring for the task. For each task, the larger the comprehensive value of the multi-resource requirements corresponding to the multi-resource composite period, the lower the priority score; For example, if the time period is a period of composite intensive computing and memory, the CPU demand and memory demand of each task are obtained, and the comprehensive computing and memory demand value is obtained by weighting the CPU demand and memory demand of the task. Priority scoring is performed based on the comprehensive computing and memory demand value of each task. The smaller the comprehensive computing and memory demand value of the task, the greater the priority score. Mark the task's priority rating as We; Get the remaining time STe of each task's deadline for completion; Using the formula: Pe=(De×b1+We×b2) / STe×b3, we can get the priority evaluation value Pe of each task. In each time period, we sort the tasks according to the calculated task priority value. Tasks with high priority values are placed in front, and resources and execution are prioritized. At the same time, tasks with high priority values are prioritized to the computing nodes corresponding to the corresponding low-load state points.
[0019] Although embodiments of the present invention have been shown and described, it will be appreciated by those skilled in the art that various changes, modifications, substitutions and variations may be made to the embodiments without departing from the principles and spirit of the present invention, and that the scope of the present invention is defined by the appended claims and their equivalents.
Claims
1. A method for optimizing dynamic allocation of cloud computing resources, characterized in that: The following steps are involved: Step 1: Deploy monitoring agents on each computing node of the cloud computing system to collect resource usage data including CPU, memory, storage, network bandwidth and resource allocation of each task type at preset collection intervals and transmit them to the central server; Step 2: Verify the integrity of the collected usage data of the CPU, memory, storage, and network bandwidth resources of each computing node. Determine qualified packets by comparing the number of bytes of the data packets before and after sending, and resend the instructions for unqualified packets until all pass the verification; Step 3: After receiving the qualified packages, the central server sorts and classifies them and stores them in the corresponding resource database and task type database; Step 4: Extract historical data from each database, analyze the comprehensive evaluation value of resource usage, determine the high and low load status points, and divide the normal working time of cloud computing into resource-intensive time periods and multi-resource complex time periods; Step 5: The resource allocation library performs resource scheduling according to the conditions of different time periods, and takes corresponding optimization measures for different resource-intensive or complex time periods. The specific optimization measures are: assigning tasks to corresponding low-load state points and applying for more corresponding resources; Step 6: Prioritize the tasks in each time period, comprehensively consider the task urgency weight, resource demand value and the remaining time of the task deadline, calculate the priority evaluation value, and prioritize the allocation of resources and execution of high-priority tasks, and prioritize the allocation to the computing nodes corresponding to the corresponding low-load state points.
2. The method for optimizing dynamic allocation of cloud computing resources according to claim 1, characterized in that: The process of collecting resource usage data of CPU, memory, storage, and network bandwidth and resource allocation of each task type in step 1 is as follows: Divide the cloud computing environment into several computing nodes, deploy monitoring agents on each computing node, preset collection intervals, and the agents regularly collect the CPU, memory, storage, and network bandwidth resource usage data and resource allocation of each computing node according to the preset collection intervals, and transmit the collected data to the central server; Resource usage data includes: CPU usage and usage rate, memory usage and usage rate, storage usage and usage rate, network bandwidth usage and usage rate; The resource allocation includes: the number of CPUs, memory capacity, storage space size, and network bandwidth quota allocated to each task in each task type; Task types include computing-intensive tasks, memory-intensive tasks, storage-intensive tasks, and network bandwidth-intensive tasks.
3. The method for optimizing dynamic allocation of cloud computing resources according to claim 2, characterized in that: In step 2, the integrity verification process of the collected usage data of CPU, memory, storage, and network bandwidth resources of each computing node is as follows: After classifying and sorting out the CPU, memory, storage, and network bandwidth resource usage data collected by each computing node, they are packaged into independent resource data packets. At the same time, the resource allocation situation of each task type is separately packaged into a task type data packet. For each data packet, before sending, calculate and record its data packet byte count. After the central server receives it, re-statistic its byte count and compare it with the byte count before sending. If they are the same, it is marked as a qualified packet; if different, it is an unqualified packet. Then, determine the monitoring agent program corresponding to the unqualified packet, and generate a re-sending instruction for the data packet corresponding to the unqualified packet to this monitoring agent program. After the monitoring agent program corresponding to the unqualified data packet receives the re-sending instruction, re-collect and package and send this data packet. The central server performs the above verification steps on the re-sent data packet again, and so on, until all data packets pass the integrity verification.
4. The method for optimizing dynamic allocation of cloud computing resources according to claim 3, characterized in that: The process of the central server sorting and classifying the qualified packets and storing them in the corresponding resource database and task type database in step three is as follows: The central server is equipped with a CPU resource database, a memory resource database, a storage resource database, a network bandwidth resource database, and a task type database. The data in each qualified packet is extracted and stored in the corresponding database respectively.
5. The method for optimizing dynamic allocation of cloud computing resources according to claim 4, characterized in that: The process of extracting historical data from each database, analyzing the comprehensive resource usage evaluation value, and determining the high and low load state points in step four is as follows: For CPU resources, with the usage amount being U and the usage rate being R, using the formula: CPUi_t comprehensive = wU×Ui_t + wR×Ri_t, obtain the comprehensive CPU usage evaluation value CPUi_t comprehensive of each computing node at each collection time, where wU and wR are the preset weight coefficients for using the CPU usage amount and CPU usage rate, i is the label of the computing node, i = 1, 2,..., n; t is the label of the collection time, t = 1, 2,..., n; Using the same algorithm as that for calculating the CPU resources above, calculate the comprehensive memory usage evaluation value NCi_t comprehensive, the comprehensive storage usage evaluation value CZi_t comprehensive, and the comprehensive network bandwidth usage evaluation value WKi_t comprehensive of each computing node at each collection time respectively; Set that all resource comprehensive evaluation values correspond to a preset full load threshold. Compare the resource usage comprehensive evaluation values of each computing node at each collection time with their corresponding preset full load thresholds respectively. Mark the computing node and collection time corresponding to the resource usage comprehensive evaluation value that is greater than or equal to its corresponding preset full load threshold as the resource high load state point, and vice versa as the resource low load state point.
6. A cloud computing resource dynamic allocation optimization method according to claim 5, characterized in that: The process of dividing the one-day time when cloud computing works normally into a resource-intensive period and a multi-resource composite period in step four is as follows: Divide a day of normal cloud computing operation into several even time periods, and count the average number of occurrences of each resource high-load state point in each time period in the previous month; set a threshold for the number of occurrences of each resource high-load state point to be preset in each time period, and compare the average number of occurrences of each resource high-load state point in each time period with the threshold for the number of occurrences of each resource high-load state point corresponding to the time point. If the average number of occurrences of a resource high-load state point in a certain time period exceeds the threshold for the number of occurrences of the corresponding resource preset, then mark the time period as the resource-intensive time period; If the number of occurrences of high-load state points of multiple resources in a time period exceeds the corresponding preset number thresholds, the time period is marked as a multi-resource composite period.
7. A cloud computing resource dynamic allocation optimization method according to claim 6, characterized in that: In step 5, the resource allocation library performs resource scheduling according to the conditions of different time periods. The process of taking corresponding optimization measures for different resource-intensive or complex time periods is as follows: The resource allocation library is connected to the resource optimization module in communication, and is used to schedule various types of backup resources for cloud computing; For computationally intensive time periods and composite time periods with computationally intensive tasks, computationally intensive tasks are preferentially assigned to CPU low-load status points, and more CPU resources are requested from the resource allocation library. For memory-intensive time periods and composite time periods with memory-intensive tasks, memory-intensive tasks are preferentially assigned to memory-low-load state points, and more memory is requested from the resource allocation library to increase the memory resources of the computing nodes in this time period; For storage-intensive time periods and composite time periods with storage-intensive tasks, storage-intensive tasks are preferentially assigned to storage low-load state points, and more storage is requested from the resource allocation library to increase the storage resources of the computing nodes in this time period; In network bandwidth-intensive time periods and composite time periods with network bandwidth intensiveness, network bandwidth-intensive tasks are preferentially assigned to points where network bandwidth has low load. At the same time, more network bandwidth is requested from the internal resource allocation library to increase the network bandwidth resources of the computing nodes in this time period.
8. The method for optimizing dynamic allocation of cloud computing resources according to claim 7, characterized in that: The specific process of prioritizing tasks in each time period in step 6 is as follows: Each task is set to correspond to an urgency weight value De, where e represents the task number, e=1, 2, ..., n; the higher the urgency of the task, the greater the urgency weight value De; Get the task's requirements for CPU, memory, storage, and network bandwidth; For each resource-intensive time period, obtain the resource demand of the task corresponding to the resource-intensive time period, and assign a priority score to the task. For each task, the greater the resource demand corresponding to the resource-intensive time period, the lower the priority score; For each multi-resource composite period, obtain multiple resource requirements of the task corresponding to the multi-resource composite period, perform weighted processing on the multiple resource requirements, obtain a comprehensive value of the multi-resource requirements, and perform priority scoring for the task. For each task, the larger the comprehensive value of the multi-resource requirements corresponding to the multi-resource composite period, the lower the priority score; Mark the task's priority rating as We; Get the remaining time STe of each task's deadline for completion; Using the formula: Pe=(De×b1+We×b2) / STe×b3, we can get the priority evaluation value Pe of each task. In each time period, we sort the tasks according to the calculated task priority value. Tasks with high priority values are placed in front, and resources and execution are prioritized. At the same time, tasks with high priority values are prioritized to the computing nodes corresponding to the corresponding low-load state points.
Citation Information
Patent Citations
Task scheduling method and apparatus
CN106557471A
A method and a device for adjusting the hardware configuration of a server
CN109165045A
Task processing method, device and system
CN109471727A
Resource allocation method and device, electronic equipment and readable storage medium
CN118890324A
Systems and methods for management of cloud computing resources for information systems
US20170264486A1
Cited By
Thread bundle scheduling method and device, graphics processor and computer equipment
CN119862010A
Cloud-based camera remote access system
CN119996634A
