A distributed network resource optimization scheduling method and system under a load balancing strategy

By evaluating real-time expected benefits and calculating expected benefits to allocate requests, the problem that static allocation methods cannot allocate requests based on server processing capabilities is solved, and load balancing and system performance improvements are achieved.

CN119232741BActive Publication Date: 2025-02-14北京领雾科技有限公司
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202411731480.9
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-11-29
Publication Date
2025-02-14
Estimated Expiration
2044-11-29

AI Technical Summary

Technical Problem

The static allocation method cannot allocate requests based on the actual processing capabilities of the server, resulting in some server resources being idle while others being overloaded, reducing the overall efficiency and performance of the system.

Method used

By evaluating the health status, response time and bandwidth usage of each node in real time, dynamically calculate the expected benefits, and dynamically allocate requests based on the current status of the node to achieve load balancing.

Benefits of technology

A more reasonable load balancing is achieved, overload and idle problems are avoided, the overall efficiency and performance of the system are improved, and the rational utilization of resources and user satisfaction are ensured.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119232741B_ABST
    Figure CN119232741B_ABST
Patent Text Reader

Abstract

The present application relates to the field of communication network technology, and discloses a distributed network resource optimization scheduling method and system under a load balancing strategy. The method includes: if the first service request information sent by the client is received, determining the health status weight, response time weight and bandwidth weight; determining the first candidate node; if the number of the first candidate nodes is at least two, calculating the health detection score of each first candidate node; calculating the expected benefit of each first candidate node, taking the first candidate node with the highest expected benefit as the first target node, and allocating the first service request information to the first target node. This scheme dynamically adjusts the weight according to the current load and resource status, and can automatically adjust the allocation strategy when facing different load conditions, realize dynamic load balancing, and avoid overload problems. And giving priority to the node that best suits the current load can improve service quality and user satisfaction.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of communication network technology, and in particular to a distributed network resource optimization scheduling method and system under a load balancing strategy. Background Art

[0002] In a distributed system, as the number of users and service requests continues to grow, the system faces huge concurrent access and data traffic pressure. If all requests are concentrated on one or a few servers, these servers can easily become performance bottlenecks, resulting in slow response speeds or even service crashes.

[0003] A common method of allocating requests today is static allocation. This method usually statically allocates requests to specific servers based on fixed rules or configurations. For example, a request can be mapped to a specific server or server group based on its URL path, domain name, or IP address.

[0004] However, the inventors found that there are at least the following technical problems in the related art:

[0005] The static allocation method cannot allocate requests according to the actual processing capacity of the server, so it may cause some server resources to be idle while other servers are overloaded. This uneven resource utilization will reduce the overall efficiency and performance of the system. Summary of the invention

[0006] One purpose of the present application is to provide a distributed network resource optimization scheduling method under a load balancing strategy, at least to solve the technical problem that the static allocation method cannot allocate requests according to the actual processing capacity of the server, which may cause some server resources to be idle while other servers are overloaded. This uneven resource utilization will reduce the overall efficiency and performance of the system.

[0007] To achieve the above objectives, some embodiments of the present application provide the following aspects:

[0008] In a first aspect, some embodiments of the present application further provide a distributed network resource optimization scheduling method under a load balancing strategy, the method comprising:

[0009] If first service request information sent by the client is received, the first service request information is input into a preset weight determination model to obtain a health status weight, a response time weight, and a bandwidth weight;

[0010] Obtain health status data of each node, and determine a first candidate node according to the health status data of each node and a preset node selection standard; wherein the health status data includes a current CPU usage rate, a current memory usage rate, and a current network delay of each node;

[0011] If the number of the first candidate nodes is at least two, the health detection score of each first candidate node is calculated according to the health status data of the first candidate nodes and a preset health detection score calculation formula; wherein the preset health detection score calculation formula is:

[0012]

[0013] in, score the health probe; It is the preset CPU usage weight; is the current CPU usage; is the preset memory usage weight; is the current memory usage; is the preset network delay weight; is the current network delay;

[0014] Acquire the response time and bandwidth usage rate of each first candidate node, and determine the bandwidth score of each first candidate node according to the bandwidth usage rate;

[0015] According to the health status weight, response time weight, bandwidth weight, health detection score, response time, bandwidth score and the preset expected benefit calculation formula, the expected benefit of each first candidate node is calculated, the first candidate node with the highest expected benefit is taken as the first target node, and the first service request information is distributed to the first target node.

[0016] According to a second aspect of the present application, a distributed network resource optimization scheduling system under a load balancing strategy is provided, the system comprising:

[0017] A weight determination module, for inputting the first service request information sent by the client into a preset weight determination model to obtain a health status weight, a response time weight, and a bandwidth weight if the first service request information is received.

[0018] A candidate node determination module, used to obtain health status data of each node, and determine the first candidate node according to the health status data of each node and a preset node selection standard; wherein the health status data includes the current CPU usage, current memory usage and current network delay of each node;

[0019] A health detection score calculation module is used to calculate the health detection score of each first candidate node according to the health status data of the first candidate node and a preset health detection score calculation formula if the number of the first candidate nodes is at least two; wherein the preset health detection score calculation formula is:

[0020]

[0021] in, score the health probe; It is the preset CPU usage weight; is the current CPU usage; is the preset memory usage weight; is the current memory usage; is the preset network delay weight; is the current network delay;

[0022] A bandwidth score determination module is used to obtain the response time and bandwidth usage rate of each first candidate node, and determine the bandwidth score of each first candidate node according to the bandwidth usage rate;

[0023] An allocation module is used to calculate the expected benefit of each first candidate node according to the health status weight, response time weight, bandwidth weight, health detection score, response time, bandwidth score and a preset expected benefit calculation formula, and take the first candidate node with the highest expected benefit as the first target node, and allocate the first service request information to the first target node.

[0024] Compared with the related art, this application has achieved the following beneficial effects:

[0025] (1) This application evaluates the health status, response time and bandwidth usage of each node in real time, dynamically calculates the expected return, and dynamically allocates requests according to the current status of the node, thereby achieving more reasonable load balancing, avoiding overload and idle problems, and improving the overall efficiency and performance of the system. This solves the technical problem that the static allocation method in the prior art cannot dynamically adjust the request allocation according to the actual processing capacity of the server, resulting in uneven resource utilization.

[0026] (2) By comprehensively considering health status data such as CPU usage, memory usage, and network latency, as well as response time and bandwidth usage, this application can more accurately evaluate the current load of the node, thereby selecting the node that is most suitable for processing the request, avoiding resource waste and improving resource utilization.

[0027] (3) By giving priority to nodes with good health, short response time and sufficient bandwidth to process requests, this application can provide more stable and faster services, thereby improving user satisfaction.

[0028] (4) This application not only realizes real-time load balancing, but also predicts future load conditions through a load prediction model and makes load balancing decisions in advance, such as opening new nodes or closing low-load nodes, further improving the intelligence and response speed of the system. BRIEF DESCRIPTION OF THE DRAWINGS

[0029] One or more embodiments are exemplarily described by pictures in the corresponding drawings, and these exemplified descriptions do not constitute limitations on the embodiments. Elements with the same reference numerals in the drawings represent similar elements, and unless otherwise stated, the figures in the drawings do not constitute proportional limitations.

[0030] Figure 1 This is an exemplary flow chart of a distributed network resource optimization scheduling method under a load balancing strategy provided in Example 1 of the present application;

[0031] Figure 2 This is an exemplary flow chart of a distributed network resource optimization scheduling method under a load balancing strategy provided in Example 2 of the present application;

[0032] Figure 3 This is an exemplary structural diagram of a distributed network resource optimization scheduling system under a load balancing strategy provided in Example 3 of the present application. DETAILED DESCRIPTION

[0033] In order to make the purpose, technical solution and advantages of the embodiments of the present application clearer, the technical solution in the embodiments of the present application will be clearly and completely described below in conjunction with the drawings in the embodiments of the present application. Obviously, the described embodiments are part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of this application.

[0034] First embodiment

[0035] The first embodiment of the present application relates to a distributed network resource optimization scheduling method under a load balancing strategy. Figure 1 As shown, the method may include the following steps:

[0036] S101: If first service request information sent by a client is received, the first service request information is input into a preset weight determination model to obtain a health status weight, a response time weight, and a bandwidth weight.

[0037] First, the use scenario of this solution can be a scenario where after receiving the service request information sent by the client, each node is evaluated, the most suitable node is selected, and the service request information is allocated to this node.

[0038] Based on the above usage scenarios, it can be understood that the executor of the present application can be a distributed network resource optimization scheduling system under a load balancing strategy, and no excessive limitations are made here.

[0039] In this scenario, a client can be a terminal or application that sends a request to the system. A client can be any device or software application that requests data from a server or service.

[0040] The first service request information may refer to the request that the client sends to the server for the first time. In a load balancing or intelligent scheduling system, this request contains detailed information about the service or resources required by the client. Specifically, it may include the service type: the specific service requested (for example, video streaming, data query, file upload, etc.). Request parameters: Depending on the request type, it contains relevant parameters, such as video quality requirements, data query conditions, etc. Request priority: Some requests may have a higher priority, such as requests from VIP users or urgent tasks. Request source: Which client the request comes from, which can be the user's IP, device type, etc.

[0041] The preset weight determination model may refer to a predefined mathematical model for calculating and evaluating various importance indicators of a request. The model determines the weight values ​​of various factors according to different request types and system states, and applies these weight values ​​to various calculation processes.

[0042] The health status weight can indicate the impact of the current health status of the node on the request scheduling.

[0043] Response time weight can be used to evaluate the priority of nodes based on their response time. Response time refers to the time it takes for a node to process a request, which is directly related to system performance. When scheduling requests, the system usually gives priority to nodes with shorter response times to reduce latency.

[0044] Bandwidth weight refers to the impact of a node's bandwidth resources on request scheduling. Bandwidth refers to the transmission capacity of network resources, which affects data throughput and transmission speed. Nodes with excessive bandwidth pressure may cause network congestion and affect the processing efficiency of requests.

[0045] The first service request information can be input into a preset weight determination model. This model will evaluate the availability of nodes based on the requirements of different requests and the comprehensive weights. The system can select nodes that meet the requirements to respond to the request. For example, if the request has high stability requirements (such as real-time video streaming or financial transactions), the system will focus more on selecting nodes with better health status. The health status weight will be higher. If the request has strict requirements on response time or latency (for example, real-time applications, interactive applications), the response time weight will be higher. The model will give priority to nodes with shorter response times. For example, a real-time video streaming request will give a greater weight to the response time to ensure that the video latency is as low as possible. If the request has high bandwidth requirements (such as large file transfers or video streaming), the bandwidth weight will be higher, and nodes with less bandwidth will be preferred to process the request. For requests that require a lot of bandwidth, the system will pay more attention to the bandwidth resource usage of the node.

[0046] S102, obtaining health status data of each node, and determining a first candidate node according to the health status data of each node and a preset node selection standard; wherein the health status data includes a current CPU usage rate, a current memory usage rate, and a current network delay of each node.

[0047] Health status data can refer to indicator data that reflects the current health of each node, which is usually obtained by monitoring multiple performance parameters of the node. These data help to evaluate whether the node can run stably and can handle new requests. Specifically, they include current CPU usage: the current CPU resource usage of the node, usually expressed as a percentage (for example, what percentage of the total processing power the CPU has used). Too high CPU usage usually means that the node is under high load, which may lead to increased response time or decreased processing power. Current memory usage: the current memory (RAM) usage of the node, usually expressed as a percentage (for example, what percentage of the total memory has been used). Excessive memory usage may cause node performance to degrade or even crash. Current network latency: the network response time of the node, usually expressed in milliseconds (ms). Network latency reflects the time it takes for data to be sent from the node to the target and back. Higher network latency may cause request processing to slow down and affect the response speed of the system.

[0048] The preset node selection criteria can be a set of rules or thresholds for evaluating and selecting suitable nodes. These criteria are usually set according to system requirements, business scenarios, performance requirements, etc., to ensure that requests are assigned to nodes with appropriate performance. Specifically, they may include: Health thresholds: For example, CPU utilization should not exceed a certain percentage (such as 80%), memory utilization should not exceed a certain limit (such as 75%), and network latency should not exceed a certain threshold (such as 50ms). If these indicators of the node exceed the threshold, the node may be deemed unsuitable for processing new requests. Nodes with lower loads may be given priority to avoid assigning requests to already overloaded nodes. Resource utilization: Some systems may give priority to nodes with lower resource utilization and better health.

[0049] The first candidate node may be a set of nodes that meet the conditions among all available nodes after being screened by a preset selection criterion.

[0050] The current CPU usage can be obtained in real time through the operating system's monitoring tools (such as top, vmstat, etc.) or monitoring platforms (such as Prometheus, Zabbix). The memory usage of each node is usually expressed as a percentage or memory usage. It can also be obtained through the corresponding monitoring tools. The network response time from the node to other nodes or clients can be measured by a network detection tool or obtained through an integrated monitoring system. Then, by combining the health status data of each node with the preset node selection criteria, the qualified nodes are screened and the first candidate node is selected.

[0051] Based on the above technical solution, optionally, if the number of the first candidate node is one, the first service request information is allocated to the first candidate node;

[0052] Accordingly, after obtaining the health status data of each node and determining the first candidate node according to the health status data of each node and a preset node selection standard, the method further includes:

[0053] If the first candidate node does not exist, a new node is started, and the first service request information is distributed to the new node; wherein the number of the new node is at least one.

[0054] In this solution, if there is a first candidate node, the first service request information is assigned to the node. If there is no candidate node (that is, the number of candidate nodes is zero), a new node needs to be opened. Specifically, at least one new node can be opened according to demand. The number of new nodes can be calculated based on the request volume and node load capacity:

[0055]

[0056] When a new node is started, the first service request information may be distributed to the new node.

[0057] In this solution, by calculating and opening the appropriate number of new nodes to handle service requests, overuse or underuse of resources is avoided. In addition, the resources of existing nodes are effectively utilized to avoid resource waste caused by overload or underload.

[0058] Based on the above technical solution, optionally, the training process of the preset weight determination model includes:

[0059] Obtaining a historical weight determination record, and determining historical service request information, historical health status weight, historical response time weight, and historical bandwidth weight according to the historical weight determination record;

[0060] Marking the health status weight label of the historical service request information according to the historical health status weight, marking the response time weight label of the historical service request information according to the historical response time weight, and marking the bandwidth weight label of the historical service request information according to the historical bandwidth weight;

[0061] A weight determination model is constructed, and the weight determination model is trained according to the historical service request information, the health status weight label, the response time weight label, and the bandwidth weight label until the weight determination model reaches a preset weight determination model training standard.

[0062] In this solution, the historical weight determination record can be a previous service request or system status record, which contains the historical weight information on which these records are based, such as health status, response time, bandwidth, etc. This information helps to determine the priority and processing strategy of the service request.

[0063] The historical service request information may be relevant information of service requests processed in the past, such as the type of request, the size of the request, the duration of the request, etc.

[0064] The historical health status weight may be the weight of the node or system health status marked according to historical records, usually expressed as a numerical value, used to indicate the health status of the node, which may be affected by factors such as failure frequency, repair frequency, and resource consumption.

[0065] The historical response time weight may refer to the weight of the response time calculated based on the historical records, measuring the speed or delay of the past service request processing. The shorter the response time, the higher the weight may be, and vice versa.

[0066] The historical bandwidth weight can reflect the bandwidth usage of past data transmission. For example, when transmitting a large amount of data, the bandwidth usage efficiency affects the quality of service, and a high bandwidth weight means that the node has shown better bandwidth efficiency in past requests.

[0067] The health status weight label may be a label that marks the health status weight information, which is usually a numerical label.

[0068] The response time weight label can be a label that is marked with a corresponding label based on historical data of the response time.

[0069] The bandwidth weight label may be a label that marks the bandwidth usage efficiency based on historical bandwidth usage.

[0070] The preset weights determine the model training criteria that can be the model performance criteria or optimization goals that need to be achieved during the training process. Specifically, they can include accuracy criteria: the accuracy of the model's predictions or allocation results, for example, whether the predicted health status, response time, and bandwidth usage are consistent with the actual data. Loss function criteria: The error of the model during training should be less than a preset threshold, such as mean square error (MSE) or cross entropy loss. Training time criteria: The training of the model should be completed within a reasonable time and should not be too long. Validation criteria: The performance on the validation data set must meet certain standards, such as an accuracy rate exceeding a certain percentage.

[0071] Past service request data can be extracted from the system and the corresponding health status, response time, and bandwidth usage information can be collected. Based on the historical data, each request is labeled with a weighted label of health status, response time, and bandwidth. This can be done manually or automatically by an algorithm, and the labeling results will be used as target labels for subsequent model training. Select a suitable model algorithm (such as a regression model, classification model, or neural network, etc.) and define the relationship between input features (historical service request information) and target labels (health status, response time, bandwidth labels). Use the labeled historical data set to train the weight determination model. Through training, the model learns how to predict the priority or allocation strategy of service requests based on the input service request information and historical weight data. During the training process, the model parameters are continuously adjusted according to the preset criteria (such as loss function or accuracy, etc.) until the predetermined training criteria are reached. Then the performance of the model is evaluated on the validation set to check whether it can reasonably predict the priority of different service requests, and the model is adjusted based on the evaluation results.

[0072] In this solution, by training the weight model, the priority and resource requirements of the current request can be predicted more accurately based on past patterns, thereby optimizing resource allocation.

[0073] S103: If the number of the first candidate nodes is at least two, calculate the health detection score of each first candidate node according to the health status data of the first candidate nodes and a preset health detection score calculation formula; wherein the preset health detection score calculation formula is:

[0074]

[0075] in, score the health probe; It is the preset CPU usage weight; is the current CPU usage; is the preset memory usage weight; is the current memory usage; is the preset network delay weight; The current network delay.

[0076] The health detection score can be a comprehensive score used to measure the health status of each candidate node, combining multiple indicators (such as CPU usage, memory usage, network latency, etc.) to evaluate the availability and performance of the node. The health detection score can help the system select the most suitable node to receive the request from multiple candidate nodes.

[0077] The health status data of the first candidate nodes may be substituted into a preset health detection score calculation formula to obtain a health detection score for each first candidate node.

[0078] S104: Acquire the response time and bandwidth usage rate of each first candidate node, and determine the bandwidth score of each first candidate node according to the bandwidth usage rate.

[0079] Response time can refer to the time required from the client sending a request to the node receiving the request and returning a response. It is usually measured in milliseconds (ms). Response time is an important indicator for measuring the speed at which a node processes a request. The shorter the response time, the stronger the processing capability of the node, and the more suitable it is for processing requests with high real-time requirements.

[0080] Bandwidth utilization can refer to the current network bandwidth utilization of a node. It is usually expressed as a percentage value, reflecting the degree of utilization of the node's available bandwidth. A high bandwidth utilization may mean network congestion, which may affect the processing of other requests.

[0081] The bandwidth score can be an indicator to evaluate the current network load of a node based on bandwidth utilization. It is used to help evaluate whether each candidate node can effectively process new requests, especially for bandwidth-sensitive services. The bandwidth score is usually an inverse score of the bandwidth utilization, that is, the lower the bandwidth utilization, the higher the bandwidth score, indicating that the node has more bandwidth resources and is suitable for processing more requests. The calculation formula for calculating the bandwidth score can be:

[0082]

[0083] You can record the sending time when the client sends a request and the receiving time when the response is received, so as to calculate the response time, and use network monitoring tools or the system's own network statistics to obtain the current bandwidth usage of the node. According to the bandwidth usage of each node, the bandwidth score calculation formula above is applied to obtain the bandwidth score of each node.

[0084] S105, calculate the expected benefit of each first candidate node according to the health status weight, response time weight, bandwidth weight, health detection score, response time, bandwidth score and the preset expected benefit calculation formula, take the first candidate node with the highest expected benefit as the first target node, and distribute the first service request information to the first target node.

[0085] Expected benefit can be a comprehensive indicator that indicates the overall benefit that may be brought by assigning service requests to a certain node. Expected benefit takes into account multiple factors, including the health status of the node, response time, bandwidth resources, etc., and uses this as a basis to evaluate whether each node is suitable for processing the current request. The higher the expected benefit of a node, the better its performance in multiple aspects and the more suitable it is for assigning service requests.

[0086] The first target node can be the node with the highest expected benefit among all candidate nodes according to the calculated expected benefit ranking, and the node with the highest expected benefit is selected as the final target node. In simple terms, the node with the highest expected benefit will take on the new service request.

[0087] The health status weight, response time weight, bandwidth weight, health detection score, response time, and bandwidth score can be substituted into the preset expected benefit calculation formula, and the node with the highest expected benefit value can be selected as the first target node based on the calculated expected benefit. The first service request information is distributed to the first target node to ensure that the node can process the request while maintaining the system's load balancing and performance optimization.

[0088] Based on the above technical solution, an optional, preset expected return calculation formula is:

[0089]

[0090] Among them, Q is the expected return; is the health status weight; score the health probe; is the response time weight; is the response time; is the bandwidth weight; Rate bandwidth.

[0091] It is not difficult to find that compared with the related art, in the solution provided by the embodiment of the present application, if the first service request information sent by the client is received, the first service request information is input into the preset weight determination model to obtain the health status weight, response time weight and bandwidth weight; the health status data of each node is obtained, and the first candidate node is determined according to the health status data of each node and the preset node selection criteria; wherein the health status data includes the current CPU usage rate, current memory usage rate and current network delay of each node; if the number of the first candidate nodes is at least two, the health detection score of each first candidate node is calculated according to the health status data of the first candidate node and the preset health detection score calculation formula; wherein the preset health detection score calculation formula is:

[0092]

[0093] in, score the health probe; It is the preset CPU usage weight; is the current CPU usage; is the preset memory usage weight; is the current memory usage; is the preset network delay weight; is the current network delay; obtains the response time and bandwidth utilization rate of each first candidate node, and determines the bandwidth score of each first candidate node according to the bandwidth utilization rate; calculates the expected benefit of each first candidate node according to the health status weight, response time weight, bandwidth weight, health detection score, response time, bandwidth score and a preset expected benefit calculation formula, takes the first candidate node with the highest expected benefit as the first target node, and distributes the first service request information to the first target node.

[0094] Through the distributed network resource optimization scheduling method under the above load balancing strategy, the weight determination model dynamically calculates the health status weight, response time weight and bandwidth weight according to the service request requirements, providing a scientific basis for subsequent node selection, ensuring that resource allocation can be dynamically adjusted according to actual needs, and improving the rationality of allocation. Then, the weight is dynamically adjusted according to the current load and resource status, and the allocation strategy can be automatically adjusted in the face of different load conditions to achieve dynamic load balancing and avoid overload problems. And giving priority to the node that best suits the current load can improve service quality and user satisfaction.

[0095] Second embodiment

[0096] The second embodiment of the present application relates to a distributed network resource optimization scheduling method under a load balancing strategy. The second embodiment is an improvement based on the first embodiment. The second embodiment is substantially the same as the first embodiment, and the main difference is that it specifically includes the following steps:

[0097] S201: If first service request information sent by a client is received, the first service request information is input into a preset weight determination model to obtain a health status weight, a response time weight, and a bandwidth weight.

[0098] S202, obtaining health status data of each node, and determining a first candidate node according to the health status data of each node and a preset node selection standard; wherein the health status data includes a current CPU usage rate, a current memory usage rate, and a current network delay of each node.

[0099] S203: If the number of the first candidate nodes is at least two, calculate the health detection score of each first candidate node according to the health status data of the first candidate nodes and a preset health detection score calculation formula; wherein the preset health detection score calculation formula is:

[0100]

[0101] in, score the health probe; It is the preset CPU usage weight; is the current CPU usage; is the preset memory usage weight; is the current memory usage; is the preset network delay weight; The current network delay.

[0102] S204: Acquire the response time and bandwidth usage of each first candidate node, and determine the bandwidth score of each first candidate node according to the bandwidth usage.

[0103] S205, calculate the expected benefit of each first candidate node according to the health status weight, response time weight, bandwidth weight, health detection score, response time, bandwidth score and the preset expected benefit calculation formula, take the first candidate node with the highest expected benefit as the first target node, and distribute the first service request information to the first target node.

[0104] S206, regularly acquiring health status data of each node according to a preset prediction step, inputting the health status data into a preset load prediction model, and obtaining load prediction information of each node.

[0105] The prediction step size can refer to the time interval between each prediction in the load prediction model. It represents the estimated time window when the system makes load prediction based on the existing data and model. Through this step size, the system can predict the node load after a period of time, which is usually used to make load balancing or resource adjustment decisions in advance.

[0106] The preset load forecasting model can be a mathematical or machine learning model based on historical data and the current system status, which is used to predict the load of the system or node in a certain period of time in the future. Specifically, it can include regression models: such as linear regression, ridge regression, etc., which are used to predict future loads based on historical load data. Time series models: such as ARIMA (autoregressive integrated moving average model), LSTM (long short-term memory network), etc., are specifically used to process sequence data and perform trend forecasting. Machine learning models: such as random forests, support vector machines (SVM), neural networks, etc., can discover potential patterns in multidimensional data to predict node loads.

[0107] The load prediction information may be data about the future load status of each node predicted by a preset load prediction model. Specifically, it may include CPU load prediction: predicting the CPU usage of a node at a certain point in time or time period in the future. Memory load prediction: predicting the memory usage of a node at a certain point in time or time period in the future. Network load prediction: predicting the network bandwidth usage of a node at a certain point in time or time period in the future.

[0108] The real-time health status data of each node can be collected regularly according to the preset prediction step size. This data can come from monitoring tools, operating system resource management, or cloud platform APIs. The acquired health status data is used as input and input into the preset load prediction model. The input data will be passed into the prediction model as a feature vector for processing. The model will predict future loads based on the rules learned from historical data. Then the load prediction model outputs load prediction information for future time periods based on the input data.

[0109] Based on the above technical solution, the optional, preset load prediction model training process includes:

[0110] Obtaining historical load records of each node, and determining historical health status data and historical load information of each node according to the historical load records;

[0111] Marking a load label of the historical health status data according to the historical load information;

[0112] A load prediction model is constructed, and the load prediction model is trained according to the historical load information and the load label until the load prediction model reaches a preset load prediction model training standard.

[0113] In this solution, the historical load record may refer to the load data of a node (such as a server, a computing node, a network device, etc.) over a period of time in the past.

[0114] The historical health status data may be historical data recording the health status of the node, and is usually obtained by monitoring the running status of the node.

[0115] The historical load information may refer to the load data of a node at a specific point in time, and the data is used to evaluate the performance of the node under different load conditions.

[0116] The load label may be a label used to mark the load condition of a node, and it determines whether the load of the node is within a normal range based on certain standards.

[0117] The preset load forecasting model training standard may refer to the performance standard set during the model training process. These standards usually include the accuracy of training, the convergence speed of the model, the error range, the performance of the validation set, etc.

[0118] Historical load record data can be provided by a system monitoring tool or a log system. Based on the load record, historical health status data and historical load information are extracted, and then the load labels of the historical health status data are annotated based on the historical load information. Specifically, they can be numerical labels. Then, a support vector machine (SVM), decision tree, neural network, or other suitable machine learning model can be selected. The load information, health status label, and load label are used together as input data for training the model. Specifically, the historical load data can be divided into a training set and a test set. The model is trained using the training set data, and the test set data is used to verify the performance of the model. During the training process, the model parameters are adjusted until the model meets the preset training standards (for example, the prediction accuracy reaches more than 90%).

[0119] In this solution, we can obtain the historical load records of each node and annotate the load labels, build and train the load prediction model, and finally achieve the expected performance standards. This model can effectively predict the load situation in the future, thereby helping the system to make more optimized decisions in terms of load management and resource allocation. The load prediction model predicts future load conditions and makes load balancing decisions in advance, such as opening new nodes or closing low-load nodes, thus realizing intelligent scheduling and prediction of the system and improving the response speed and stability of the system.

[0120] S207: Determine whether there are high-load nodes and / or low-load nodes according to the load prediction information and a preset node evaluation standard.

[0121] The node evaluation criteria can be a set of thresholds and rules for measuring the load status of each node, usually including the upper and lower limits of each load indicator to determine whether the node is in a "high load" or "low load" state. The standard is set according to the system's load bearing capacity and performance requirements. For example, CPU usage: If the CPU usage exceeds 80%, the node load is considered to be high; if it is less than 20%, the load is considered to be low. Memory usage: If the memory usage exceeds 85%, the node load is considered to be high; if it is less than 30%, the load is considered to be low. Network delay: If the network delay exceeds 150ms, the node load is considered to be high.

[0122] A high-load node can be a node whose current or future load status is predicted to exceed the node evaluation criteria. The resource utilization of the node may be close to its physical or performance limit, which may cause the request response to be slow or unable to be processed on time.

[0123] A low-load node can be a node whose current or future load state is predicted to be lower than the lower limit of the node evaluation standard. Such a node has sufficient resource margin and can receive more request loads, thereby balancing the overall system resource usage.

[0124] The prediction information can be compared with the node evaluation criteria to determine whether the node load meets the "high load" or "low load" conditions. Based on the comparison results, each node is classified and which nodes are "high load" and which are "low load".

[0125] On the basis of the above technical solution, optionally, after determining whether there are high-load nodes and / or low-load nodes according to the load prediction information and the preset node evaluation criteria, the method further includes:

[0126] If there is a low-load node, obtain the second service request information currently processed by the low-load node, and determine whether there is an assignable second candidate node according to the second service request information, the health status data of each node, and a preset node selection standard;

[0127] If there are assignable second candidate nodes, and the number of the second candidate nodes is at least two, the health detection score of each second candidate node is calculated according to the health status data of the second candidate node and a preset health detection score calculation formula;

[0128] Acquire the response time and bandwidth usage rate of each second candidate node, and determine the bandwidth score of each second candidate node according to the bandwidth usage rate;

[0129] Calculate the expected benefit of each second candidate node according to the health status weight, response time weight, bandwidth weight, health detection score, response time, bandwidth score and the preset expected benefit calculation formula, take the second candidate node with the highest expected benefit as the second target node, distribute the second service request information to the second target node, and shut down the low-load node;

[0130] Accordingly, after determining whether there is an assignable second candidate node, the method further includes:

[0131] If there is an assignable second candidate node, and the number of the second candidate node is one, assigning the second service request information to the second candidate node, and shutting down the low-load node;

[0132] Accordingly, after determining whether there is an assignable second candidate node, the method further includes:

[0133] If there is no second candidate node that can be assigned, the current state is maintained.

[0134] In this solution, the second service request information may be information data of the service request currently being processed by the low-load node, which generally includes the requested resource requirements (such as CPU, memory, bandwidth, etc.) and the specific task type, priority, and latency requirements of the request.

[0135] The second candidate nodes may refer to other nodes that are currently moderately loaded and meet the criteria for receiving new tasks. These nodes have sufficient resource capabilities to receive the requested migration from the low-load nodes.

[0136] The second service request information can be extracted by querying the tasks or service requests currently being processed by the low-load node. If the low-load node is processing a task and the task can be reallocated to other nodes, the system will prepare this part of information. Then the second candidate nodes are screened according to the node selection criteria, which can include health status screening: filtering out nodes with poor health status according to the health status of each candidate node (such as CPU, memory usage, etc.). Load status screening: Select nodes that are not overloaded and have sufficient resources to process the second service request information. Bandwidth and response time screening: Evaluate the bandwidth usage and response time of the candidate nodes, and select nodes with less bandwidth usage and shorter response time. Availability screening: Confirm whether the node is in an available state, and exclude those nodes that are temporarily unavailable due to failure or maintenance. If the number of eligible nodes is at least two, use the health detection scoring formula to score each second candidate node in combination with the health status data of each candidate node (CPU, memory, network latency, etc.) to evaluate its current load health. Obtain the bandwidth usage of each second candidate node and score it according to the bandwidth usage to ensure that the bandwidth is sufficient to support the transmission requirements of the second service request. Then, the expected benefit of each candidate node is calculated using the preset expected benefit calculation formula, combined with the health status weight, response time weight, bandwidth weight, health detection score, response time and bandwidth score. The candidate node with the highest expected benefit is set as the second target node, and the second service request of the low-load node is migrated to the target node. The low-load node no longer receives new requests or tasks. Its service or task allocation can be suspended, or it can be removed from the load balancing pool to avoid further load distribution, or the task processing capacity of the node can be shut down to release related resources for other nodes to use, or enter maintenance mode.

[0137] If there is a second candidate node that can be assigned, and the number is one, the second service request information (including the requested resource requirements, latency requirements, task type, etc.) is sent directly to the only second candidate node. The low-load node no longer receives new requests or tasks. Its service or task allocation can be suspended, or removed from the load balancing pool to avoid further load allocation, or the task processing capacity of the node can be shut down to release related resources for other nodes to use, or enter maintenance mode.

[0138] If the system fails to find a second candidate node that meets the requirements, the system will continue to maintain the current state without any additional task allocation or node adjustment.

[0139] In this solution, by allocating the second service request information to nodes with appropriate loads, tasks can be distributed more evenly, avoiding overloading of some nodes while other nodes are idle, resulting in overall performance degradation. By shutting down unnecessary nodes, unnecessary burdens and resource waste are avoided, ensuring the stability and efficient operation of the system.

[0140] On the basis of the above technical solution, optionally, after determining whether there are high-load nodes and / or low-load nodes according to the load prediction information and the preset node evaluation criteria, the method further includes:

[0141] If there is a high-load node, determine the overload degree according to the load prediction information and the preset maximum load of the node, and determine the third service request information that needs to be allocated according to the overload degree;

[0142] Determine whether there is an assignable third candidate node according to the third service request information, health status data of each node, and a preset node selection criterion;

[0143] If there are assignable third candidate nodes, and the number of the third candidate nodes is at least two, the health detection score of each third candidate node is calculated according to the health status data of the third candidate nodes and a preset health detection score calculation formula;

[0144] Acquire the response time and bandwidth usage rate of each third candidate node, and determine the bandwidth score of each third candidate node according to the bandwidth usage rate;

[0145] Calculate the expected benefit of each third candidate node according to the health status weight, response time weight, bandwidth weight, health detection score, response time, bandwidth score and a preset expected benefit calculation formula, take the third candidate node with the highest expected benefit as the third target node, and distribute the third service request information to the third target node;

[0146] Accordingly, after determining whether there is an assignable third candidate node according to the third service request information and the health status data of each node, the method further includes:

[0147] If there is an assignable third candidate node, and the number of the third candidate node is one, assigning the third service request information to the third candidate node;

[0148] Accordingly, after determining whether there is an assignable third candidate node according to the third service request information and the health status data of each node, the method further includes:

[0149] If there is no assignable third candidate node, at least one new node is enabled based on the overload degree, health status data of high-load nodes, preset new node carrying resource capacity and preset node enable formula, and the third service request information is assigned to the new node.

[0150] In this solution, the preset maximum node load can be the maximum load that each node can bear under normal operation. This is usually determined based on factors such as the node's hardware configuration, network bandwidth, memory size, CPU capacity, etc., to ensure that each node will not be affected by overload.

[0151] The overload degree can be the deviation between the predicted load of the node and the preset maximum load, which is used to measure whether the node may be overloaded.

[0152] The third service request information may refer to the service requests that need to be processed by the system based on the load prediction information and the health status of the node when the high-load node is overloaded. These requests may be new tasks or tasks that need to be reallocated. Since the high-load node cannot bear too many tasks, the system will allocate these requests to other suitable nodes according to the prediction information.

[0153] The third candidate node may refer to a candidate node screened out according to information such as the health status, bandwidth status, and response time of the node during load distribution.

[0154] The degree of overload can be obtained by calculating the deviation between the predicted load and the maximum load of the node. Based on the degree of overload, service requests that need to be allocated are generated. These requests are tasks that the high-load node cannot continue to process, and the system transfers these tasks to other nodes. Then the third candidate nodes are screened according to the node selection criteria, which can include health status screening: filtering out nodes with poor health status according to the health status of each candidate node (such as CPU, memory usage, etc.). Load status screening: Select nodes that are not overloaded and have sufficient resources to process the third service request information. Bandwidth and response time screening: Evaluate the bandwidth usage and response time of the candidate nodes, and select nodes with less bandwidth usage and shorter response time. Availability screening: Confirm whether the node is in an available state, and exclude those nodes that are temporarily unavailable due to failure or maintenance. If the number of eligible nodes is at least two, use the health detection scoring formula to score each third candidate node in combination with the health status data of each candidate node (CPU, memory, network delay, etc.) to evaluate its current load health. Obtain the bandwidth usage of each third candidate node and score it according to the bandwidth usage to ensure that the bandwidth is sufficient to support the transmission requirements of the third service request. Then, the expected benefit of each candidate node is calculated using the preset expected benefit calculation formula, combined with the health status weight, response time weight, bandwidth weight, health detection score, response time and bandwidth score. The candidate node with the highest expected benefit is set as the third target node, and the third service request is migrated to the target node.

[0155] If there is a candidate node and it meets the load and health requirements, the third service request information is directly distributed to the node.

[0156] New nodes can be additional computing resource nodes that are dynamically enabled by the system due to excessive load or insufficient resources in the existing system. The purpose of enabling new nodes is to meet the system's demand for computing, storage or network resources and avoid performance bottlenecks or service interruptions caused by excessive load on existing nodes.

[0157] The preset new node carrying resource capacity can be the computing, storage, and network bandwidth capacity of each new node when it joins the system. These resources are pre-set by the system based on business needs and performance requirements, and are used to evaluate whether the new node can meet the system's load requirements.

[0158] If there is no third candidate node that can be allocated, the overload degree, health status data of high-load nodes, and the preset new node carrying resource volume are substituted into the preset node startup formula to determine the number of new nodes to be opened, and then the new nodes are started and configured with computing, storage, bandwidth and other resources. The new node is connected to the existing system, starts synchronizing data and prepares to process requests. The system will calculate the third service request information that needs to be allocated and allocate it to the newly opened node to ensure that the new service request is processed in a timely manner.

[0159] In this solution, by dynamically opening new nodes to deal with overload situations, computing resources can be automatically expanded according to load predictions and node health status, thereby maintaining good service performance. No manual intervention is required, and capacity can be automatically expanded according to demand to achieve automatic adjustment. When a node is overloaded, adding new nodes can effectively prevent a single node from becoming a system performance bottleneck, which can improve the overall processing capacity.

[0160] Based on the above technical solution, the optional, preset node opening formula is:

[0161]

[0162] in, is the number of new nodes opened; is the degree of overload; Health status data for high-load nodes; The amount of resources that the new node carries.

[0163] S208: If there is no high-load node and / or low-load node, maintain the current state.

[0164] If the load prediction and node evaluation results show that there are currently no high-load nodes or low-load nodes, that is, the system load status is balanced and stable, the existing resource configuration is maintained, and additional nodes are not started or shut down to avoid unnecessary resource consumption.

[0165] In this embodiment, through regular monitoring and load forecasting, the load status can be evaluated in time before a high load or low load state occurs, avoiding blindly increasing or decreasing nodes, ensuring that resource allocation matches actual demand, and thus avoiding resource waste.

[0166] The step division of the above methods is only for clear description. When implemented, they can be combined into one step or some steps can be split and decomposed into multiple steps. As long as they include the same logical relationship, they are all within the protection scope of this application; adding insignificant modifications to the algorithm or process or introducing insignificant designs without changing the core design of the algorithm and process are all within the protection scope of this patent.

[0167] Third embodiment

[0168] The third embodiment of the present application relates to a distributed network resource optimization scheduling system under a load balancing strategy, and the system specifically includes the following:

[0169] The weight determination module 301 is used for inputting the first service request information sent by the client into a preset weight determination model to obtain a health status weight, a response time weight and a bandwidth weight if the first service request information is received.

[0170] The candidate node determination module 302 is used to obtain health status data of each node and determine the first candidate node according to the health status data of each node and a preset node selection standard; wherein the health status data includes the current CPU usage, current memory usage and current network delay of each node;

[0171] The health detection score calculation module 303 is used to calculate the health detection score of each first candidate node according to the health status data of the first candidate node and a preset health detection score calculation formula if the number of the first candidate nodes is at least two; wherein the preset health detection score calculation formula is:

[0172]

[0173] in, score the health probe; It is the preset CPU usage weight; is the current CPU usage; is the preset memory usage weight; is the current memory usage; is the preset network delay weight; is the current network delay;

[0174] The bandwidth score determination module 304 is used to obtain the response time and bandwidth usage rate of each first candidate node, and determine the bandwidth score of each first candidate node according to the bandwidth usage rate;

[0175] The allocation module 305 is used to calculate the expected benefit of each first candidate node according to the health status weight, response time weight, bandwidth weight, health detection score, response time, bandwidth score and a preset expected benefit calculation formula, and take the first candidate node with the highest expected benefit as the first target node, and allocate the first service request information to the first target node.

[0176] According to the embodiment of the system, the weight determination model dynamically calculates the health status weight, response time weight and bandwidth weight according to the demand of the service request, provides a scientific basis for the subsequent node selection, ensures that the resource allocation can be dynamically adjusted according to the actual demand, and improves the rationality of the allocation. The candidate node determination module obtains the health status data of each node and selects the candidate nodes according to the preset node selection criteria, ensuring that only nodes that meet certain conditions can participate in the subsequent expected benefit calculation, improving the accuracy and efficiency of node selection. The health detection score calculation module comprehensively evaluates the health status of the candidate nodes through the preset health detection score calculation formula, provides an important reference for the subsequent expected benefit calculation, and ensures the health and stability of the node selection. The bandwidth score determination module calculates the bandwidth score according to the response time and bandwidth utilization rate of the candidate node, further refines the evaluation of the node performance, and ensures the bandwidth adequacy and response speed of the node selection. The allocation module selects the node with the highest expected benefit as the target node according to the health status weight, response time weight, bandwidth weight, health detection score, response time, bandwidth score and expected benefit calculation formula, and allocates the service request, ensuring the optimization of resource allocation and improving the overall performance of the system.

[0177] It is worth mentioning that all modules involved in this embodiment are logic modules. In practical applications, a logic unit can be a physical unit, a part of a physical unit, or a combination of multiple physical units. In addition, in order to highlight the innovative part of this application, this embodiment does not introduce units that are not closely related to solving the technical problems proposed by this application, but this does not mean that there are no other units in this embodiment.

[0178] The flow chart or block diagram in the accompanying drawings shows the possible architecture, function and operation of the equipment, method and computer program product according to various embodiments of the present application. In this regard, each box in the flow chart or block diagram can represent a module, a program segment or a part of a code, and the module, the program segment or a part of the code contains one or more executable instructions for realizing the specified logical function. It should also be noted that in some alternative implementations, the functions marked in the box can also occur in a different order from the order marked in the accompanying drawings. For example, two boxes represented in succession can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each box in the block diagram and / or flow chart, and the combination of the boxes in the block diagram and / or flow chart can be implemented with a dedicated system for hardware that performs a specified function or operation, or can be implemented with a combination of dedicated hardware and computer instructions.

[0179] The scope of the present application is defined by the appended claims rather than the above description, and it is intended that all changes that fall within the meaning and scope of the equivalent elements of the claims are included in the present application. Any figure mark in the claims should not be regarded as limiting the claims involved. In addition, it is clear that the word "comprising" does not exclude other units or steps, and the singular does not exclude the plural. Multiple units or devices stated in the device claim may also be implemented by one unit or device through software or hardware. The words "first", "second", etc. are only used to distinguish the description, and do not indicate any particular order, nor can they be understood as indicating or implying relative importance.

[0180] The above is only a specific implementation of the present application, but the protection scope of the present application is not limited thereto. Any person skilled in the art can easily mention changes or substitutions within the technical scope disclosed in the present application, which should be included in the protection scope of the present application. Therefore, the protection scope of the present application should be based on the protection scope of the claims, and the above embodiments should be regarded as exemplary and non-restrictive.

Claims

1. A distributed network resource optimization scheduling method under a load balancing strategy, characterized in that: The method comprises: If first service request information sent by the client is received, the first service request information is input into a preset weight determination model to obtain a health status weight, a response time weight, and a bandwidth weight; Obtain health status data of each node, and determine a first candidate node according to the health status data of each node and a preset node selection standard; wherein the health status data includes a current CPU usage rate, a current memory usage rate, and a current network delay of each node; If the number of the first candidate nodes is at least two, the health detection score of each first candidate node is calculated according to the health status data of the first candidate nodes and a preset health detection score calculation formula; wherein the preset health detection score calculation formula is: ; in, score the health probe; It is the preset CPU usage weight; is the current CPU usage; is the preset memory usage weight; is the current memory usage; is the preset network delay weight; is the current network delay; Acquire the response time and bandwidth usage rate of each first candidate node, and determine the bandwidth score of each first candidate node according to the bandwidth usage rate; According to the health status weight, response time weight, bandwidth weight, health detection score, response time, bandwidth score and the preset expected benefit calculation formula, the expected benefit of each first candidate node is calculated, the first candidate node with the highest expected benefit is used as the first target node, and the first service request information is allocated to the first target node; wherein the preset expected benefit calculation formula is: ; Among them, Q is the expected return; is the health status weight; score the health probe; is the response time weight; is the response time; is the bandwidth weight; Score bandwidth; The method further comprises: Regularly obtain health status data of each node according to a preset prediction step length, input the health status data into a preset load prediction model, and obtain load prediction information of each node; Determine whether there are high-load nodes and / or low-load nodes according to the load prediction information and preset node evaluation criteria; If there are no high-load nodes and / or low-load nodes, maintain the current state; The method further comprises: If there is a low-load node, obtain the second service request information currently processed by the low-load node, and determine whether there is an assignable second candidate node according to the second service request information, the health status data of each node, and a preset node selection standard; If there are assignable second candidate nodes, and the number of the second candidate nodes is at least two, the health detection score of each second candidate node is calculated according to the health status data of the second candidate node and a preset health detection score calculation formula; Acquire the response time and bandwidth usage rate of each second candidate node, and determine the bandwidth score of each second candidate node according to the bandwidth usage rate; Calculate the expected benefit of each second candidate node according to the health status weight, response time weight, bandwidth weight, health detection score, response time, bandwidth score and the preset expected benefit calculation formula, take the second candidate node with the highest expected benefit as the second target node, distribute the second service request information to the second target node, and shut down the low-load node; Accordingly, after determining whether there is an assignable second candidate node, the method further includes: If there is an assignable second candidate node, and the number of the second candidate node is one, assigning the second service request information to the second candidate node, and shutting down the low-load node; Accordingly, after determining whether there is an assignable second candidate node, the method further includes: If there is no second candidate node that can be assigned, maintain the current state; The method further comprises: If there is a high-load node, determine the overload degree according to the load prediction information and the preset maximum load of the node, and determine the third service request information that needs to be allocated according to the overload degree; Determine whether there is a third candidate node that can be assigned based on the third service request information, the health status data of each node, and a preset node selection standard; wherein the third candidate node refers to a candidate node selected based on the health status, bandwidth status, and response time information of the node during load distribution; If there are assignable third candidate nodes, and the number of the third candidate nodes is at least two, the health detection score of each third candidate node is calculated according to the health status data of the third candidate nodes and a preset health detection score calculation formula; Acquire the response time and bandwidth usage rate of each third candidate node, and determine the bandwidth score of each third candidate node according to the bandwidth usage rate; Calculate the expected benefit of each third candidate node according to the health status weight, response time weight, bandwidth weight, health detection score, response time, bandwidth score and a preset expected benefit calculation formula, take the third candidate node with the highest expected benefit as the third target node, and distribute the third service request information to the third target node; Accordingly, after determining whether there is an assignable third candidate node according to the third service request information and the health status data of each node, the method further includes: If there is an assignable third candidate node, and the number of the third candidate node is one, assigning the third service request information to the third candidate node; Accordingly, after determining whether there is an assignable third candidate node according to the third service request information and the health status data of each node, the method further includes: If there is no assignable third candidate node, at least one new node is enabled based on the overload degree, health status data of high-load nodes, preset new node carrying resource capacity and preset node enable formula, and the third service request information is assigned to the new node.

2. The distributed network resource optimization scheduling method under the load balancing strategy according to claim 1 is characterized in that: The default node opening formula is: ; in, is the number of new nodes opened; is the degree of overload; Health status data for high-load nodes; The amount of resources that the new node carries.

3. The distributed network resource optimization scheduling method under the load balancing strategy according to claim 1 is characterized in that: After acquiring the health status data of each node and determining the first candidate node according to the health status data of each node and a preset node selection standard, the method further includes: If the number of the first candidate node is one, allocating the first service request information to the first candidate node; Accordingly, after obtaining the health status data of each node and determining the first candidate node according to the health status data of each node and a preset node selection standard, the method further includes: If the first candidate node does not exist, a new node is started, and the first service request information is distributed to the new node; wherein the number of the new node is at least one.

4. The distributed network resource optimization scheduling method under the load balancing strategy according to claim 1 is characterized in that: The preset weights determine the model's training process, including: Obtaining a historical weight determination record, and determining historical service request information, historical health status weight, historical response time weight, and historical bandwidth weight according to the historical weight determination record; Marking the health status weight label of the historical service request information according to the historical health status weight, marking the response time weight label of the historical service request information according to the historical response time weight, and marking the bandwidth weight label of the historical service request information according to the historical bandwidth weight; A weight determination model is constructed, and the weight determination model is trained according to the historical service request information, the health status weight label, the response time weight label, and the bandwidth weight label until the weight determination model reaches a preset weight determination model training standard.

5. The distributed network resource optimization scheduling method under the load balancing strategy according to claim 1 is characterized in that: The training process of the preset load forecasting model includes: Obtaining historical load records of each node, and determining historical health status data and historical load information of each node according to the historical load records; Marking a load label of the historical health status data according to the historical load information; A load prediction model is constructed, and the load prediction model is trained according to the historical load information and the load label until the load prediction model reaches a preset load prediction model training standard.

6. A distributed network resource optimization scheduling system under a load balancing strategy, characterized in that: The system comprises: A weight determination module, for inputting the first service request information sent by the client into a preset weight determination model to obtain a health status weight, a response time weight, and a bandwidth weight if the first service request information is received. A candidate node determination module, used to obtain health status data of each node, and determine the first candidate node according to the health status data of each node and a preset node selection standard; wherein the health status data includes the current CPU usage, current memory usage and current network delay of each node; A health detection score calculation module is used to calculate the health detection score of each first candidate node according to the health status data of the first candidate node and a preset health detection score calculation formula if the number of the first candidate nodes is at least two; wherein the preset health detection score calculation formula is: ; in, score the health probe; It is the preset CPU usage weight; is the current CPU usage; is the preset memory usage weight; is the current memory usage; is the preset network delay weight; is the current network delay; A bandwidth score determination module is used to obtain the response time and bandwidth usage rate of each first candidate node, and determine the bandwidth score of each first candidate node according to the bandwidth usage rate; The allocation module is used to calculate the expected benefit of each first candidate node according to the health status weight, response time weight, bandwidth weight, health detection score, response time, bandwidth score and a preset expected benefit calculation formula, take the first candidate node with the highest expected benefit as the first target node, and allocate the first service request information to the first target node; wherein the preset expected benefit calculation formula is: ; Among them, Q is the expected return; is the health status weight; score the health probe; is the response time weight; is the response time; is the bandwidth weight; Score bandwidth; The system is also used to: Regularly obtain health status data of each node according to a preset prediction step length, input the health status data into a preset load prediction model, and obtain load prediction information of each node; Determine whether there are high-load nodes and / or low-load nodes according to the load prediction information and preset node evaluation criteria; If there are no high-load nodes and / or low-load nodes, maintain the current state; The system is also used to: If there is a low-load node, obtain the second service request information currently processed by the low-load node, and determine whether there is an assignable second candidate node according to the second service request information, the health status data of each node, and a preset node selection standard; If there are assignable second candidate nodes, and the number of the second candidate nodes is at least two, the health detection score of each second candidate node is calculated according to the health status data of the second candidate node and a preset health detection score calculation formula; Acquire the response time and bandwidth usage rate of each second candidate node, and determine the bandwidth score of each second candidate node according to the bandwidth usage rate; Calculate the expected benefit of each second candidate node according to the health status weight, response time weight, bandwidth weight, health detection score, response time, bandwidth score and the preset expected benefit calculation formula, take the second candidate node with the highest expected benefit as the second target node, distribute the second service request information to the second target node, and shut down the low-load node; The system is also used to: If there is an assignable second candidate node, and the number of the second candidate node is one, assigning the second service request information to the second candidate node, and shutting down the low-load node; The system is also used to: If there is no second candidate node that can be assigned, maintain the current state; The system is also used to: If there is a high-load node, determine the overload degree according to the load prediction information and the preset maximum load of the node, and determine the third service request information that needs to be allocated according to the overload degree; Determine whether there is a third candidate node that can be assigned according to the third service request information, the health status data of each node and the preset node selection criteria; wherein the third candidate node refers to a candidate node selected according to the health status, bandwidth status and response time information of the node during load distribution; If there are assignable third candidate nodes, and the number of the third candidate nodes is at least two, the health detection score of each third candidate node is calculated according to the health status data of the third candidate nodes and a preset health detection score calculation formula; Acquire the response time and bandwidth usage rate of each third candidate node, and determine the bandwidth score of each third candidate node according to the bandwidth usage rate; Calculate the expected benefit of each third candidate node according to the health status weight, response time weight, bandwidth weight, health detection score, response time, bandwidth score and a preset expected benefit calculation formula, take the third candidate node with the highest expected benefit as the third target node, and distribute the third service request information to the third target node; The system is also used to: If there is an assignable third candidate node, and the number of the third candidate node is one, assigning the third service request information to the third candidate node; The system is also used to: If there is no assignable third candidate node, at least one new node is enabled based on the overload degree, health status data of high-load nodes, preset new node carrying resource capacity and preset node enable formula, and the third service request information is assigned to the new node.

Citation Information

Patent Citations

  • Prediction and region partition-based dynamic load balancing method for P2P network

    CN109218441A

  • Dynamic load balancing method for request classification processing based on heterogeneous cluster

    CN112835698A