A flow scheduling method and system based on a multi-objective simulated annealing algorithm
Patent Information
- Application Number
- CN202610844142.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2026-06-11
- Publication Date
- 2026-10-30
AI Technical Summary
然而,传统负载均衡策略(如轮询法、最少连接数算法等)在面对高并发请求场景时,由于依赖静态规则与局部决策机制,易陷入局部最优而丧失全局优化能力,从而诱发节点间负载不均
[0046]1.提出并实现了面向内容分发网络的全部域名统一调度机制,通过跨域名协同决策与智能资源编排,在确保用户体验质量(QoE)的前提下,均衡多服务节点的承载容量,最终达成了多域名并发调度的全局最优,实现了资源利用率最大化与带宽成本显著降低;
Smart Images

Figure CN123020562A_ABST
Abstract
Description
Technical Field
[0001] This invention belongs to the field of content delivery network technology, specifically relating to a traffic scheduling method and system based on a multi-objective simulated annealing algorithm. Background Technology
[0002] In content delivery networks (CDNs), load balancing is a crucial mechanism for ensuring high performance and stable operation. However, traditional load balancing strategies (such as round-robin and least-connection algorithms) are prone to getting stuck in local optima and losing global optimization capabilities when facing high-concurrency request scenarios due to their reliance on static rules and local decision-making mechanisms. This can lead to uneven load distribution among nodes. This problem may further trigger overload on a single node, and due to system coupling, cause cascading overload on multiple nodes, ultimately leading to the risk of network avalanche. On the other hand, traffic scheduling technologies based on single domain names lack a global optimization perspective, making it difficult to achieve fine-grained control and real-time shaping of service node traffic, and limiting the ability to recover from local faults. Meanwhile, cost-oriented scheduling strategies often ignore service transmission quality, resulting in a severe decline in the service quality of high-priority services. In summary, existing traffic scheduling technologies generally suffer from three major bottlenecks: weak multi-objective coordination capabilities, insufficient dynamic adaptability, and a lack of theoretical support for global optimization, making it difficult to cope with dynamic and ever-changing high-load network environments. Summary of the Invention
[0003] To address the shortcomings of existing content delivery networks (CDNs), such as insufficient global load awareness, weak cross-domain coordination mechanisms, and difficulty in effectively balancing scheduling costs and service quality, this invention proposes a traffic scheduling method and system based on a multi-objective simulated annealing algorithm. This method deeply integrates multi-dimensional indicators such as the real-time load status of each node, end-to-end transmission latency, and traffic scheduling costs to construct a multi-objective policy scheduling mechanism supporting multi-domain environments. This significantly optimizes the network load distribution of CDN nodes globally, comprehensively improves the overall service quality of all domains within the network, and effectively reduces excessive bandwidth consumption. Ultimately, it achieves synergistic optimization of content distribution efficiency and bandwidth economy, realizing the dual goals of global load balancing and cost control. The technical solution adopted by this invention to solve the above technical problems is as follows:
[0004] A traffic scheduling method based on a multi-objective simulated annealing algorithm includes the following steps:
[0005] S1, Construct a network latency map matrix between clients and servers in the content delivery network;
[0006] S2, After receiving a user request from the client, the scheduler in the content delivery network constructs a corresponding set of requests to be scheduled, and determines the set of available servers in the content delivery network based on the resource status information of each server and the preset resource threshold.
[0007] S3. Based on the service type of the user request received in step S2 and the preset resource information occupancy table, confirm the estimated resource status information of each server in the available server set after executing the scheduled request. Use the estimated resource status information, the resource status information obtained in step S2 and the network delay map matrix obtained in step S1 to construct a performance evaluation function for executing all user request results in step S2.
[0008] S4. Based on the performance evaluation function obtained in step S3, design the energy function using the simulated annealing algorithm, and confirm the Pareto optimal scheduling scheme according to the Metropolis acceptance criterion.
[0009] S5. Based on the Pareto optimal scheduling scheme determined in step S4, respond to all user requests in step S2 with a 302 response.
[0010] Step S2 includes the following steps:
[0011] S2.1, the scheduler confirms the resource status information of each server, including CPU utilization, memory utilization, network card utilization, and disk I / O utilization;
[0012] S2.2, the scheduler calculates the resource saturation vector for each server based on the preset weights and the resource status information obtained in step S2.1. The corresponding calculation formula is as follows:
[0013] ;
[0014] In the formula, Indicates the first Resource saturation vector of each server, Indicates the first CPU utilization of each server Indicates the first The memory utilization of each server. Indicates the first Network card utilization of each server Indicates the first Disk I / O utilization of each server , , and All are preset weights;
[0015] S2.3, Based on the user requests received from the client by the scheduler, construct the corresponding set of requests to be scheduled;
[0016] S2.4, Based on the preset resource threshold and the resource saturation vector obtained in step S2.2, confirm the set of available servers in the content delivery network.
[0017] Before determining the set of requests to be scheduled, the requests in the set can be sorted according to their domain name priority and province ID.
[0018] Step S3 includes the following steps:
[0019] S3.1, Based on the service type of the user request received in step S2 and the preset resource information occupancy table, confirm the estimated resource status information of each server in the available server set after executing the scheduled request;
[0020] S3.2, using the estimated resource status information obtained in step S3.1, the resource status information obtained in step S2, and the network latency map matrix obtained in step S1, construct a performance evaluation function to evaluate the results of all user requests executed in step S2;
[0021] The performance evaluation functions include average network latency evaluation, average saturation variance evaluation, and total bandwidth cost evaluation.
[0022] The calculation formula corresponding to the average saturation variance assessment is as follows:
[0023] ;
[0024] In the formula, Indicates the execution of the scheduling and allocation scheme. The average saturation variance of all pending requests. Indicates processing pending scheduling requests The server is processing the pending scheduling request. The previous resource saturation vector, Indicates processing pending scheduling requests The server is processing the pending scheduling request. The subsequent resource saturation vector.
[0025] The calculation formula corresponding to the total bandwidth cost consumption assessment is as follows:
[0026] ;
[0027] In the formula, Indicates the execution of the scheduling and allocation scheme. The total bandwidth cost generated by all pending scheduling requests at that time. Indicates the first The server processes the first The bandwidth cost of each pending scheduling request. Indicates the first The pending scheduling request was assigned to the first... After one server, pending scheduling requests Server occupied The projected increase in bandwidth, Indicates the first The unit bandwidth cost per server.
[0028] The calculation formula corresponding to the average network latency assessment is as follows:
[0029] ;
[0030] In the formula, Indicates the execution of the scheduling and allocation scheme. The average network latency of all pending requests. Indicates the first The pending scheduling request was assigned to the first... After one server, pending scheduling requests To the server Network latency between them.
[0031] Step S4 includes the following steps:
[0032] S4.1, then an initial solution is generated. Initialize an empty external archive (Archive) for storing Pareto optimal solutions;
[0033] S4.2, Design the energy function using the simulated annealing algorithm based on the preset weights and the performance evaluation function obtained in step S3;
[0034] S4.3, Generating a new scheme through neighborhood transformation ;
[0035] S4.4, New proposal based on Metropolis acceptance criteria Energy function value and initial solution Determine whether to update the energy function value ;
[0036] S4.5, Cool down based on the preset temperature decay function, and determine whether the iteration termination condition is met. If yes, return to step S4.3; otherwise, execute step S4.6.
[0037] S4.6 Calculate the average load of all servers in the content delivery network after the scheduled requests are allocated. Based on preset thresholds and average load Select the Pareto optimal scheduling scheme from the external archive Archive.
[0038] A traffic scheduling system based on a multi-objective simulated annealing algorithm includes edge nodes for processing user requests from clients and a scheduler for receiving user requests from clients. The scheduler further includes:
[0039] Matrix building module: Used to build a network latency map matrix between clients and servers in a content delivery network;
[0040] Information collection module: After the scheduler in the content delivery network receives a user request from the client, it constructs a corresponding set of requests to be scheduled and confirms the set of available servers in the content delivery network based on the resource status information of each server and preset resource thresholds.
[0041] Evaluation function construction module: It is used to confirm the estimated resource status information of each server in the available server set of the information collection module after executing the scheduled request based on the service type of the scheduled request received by the information collection module and the preset resource information occupancy table, and to construct a performance evaluation function for executing the results of all user requests of the information collection module using the estimated resource status information, the resource status information obtained by the information collection module and the network delay map matrix obtained by the matrix construction module.
[0042] The performance evaluation functions include average network latency evaluation, average saturation variance evaluation, and total bandwidth cost consumption evaluation.
[0043] The scheduling scheme optimization module is used to construct the performance evaluation function of the evaluation function and design the energy function based on the simulated annealing algorithm, and to confirm the Pareto optimal scheduling scheme according to the Metropolis acceptance criterion.
[0044] Request Scheduling Module: Used to respond to all pending scheduling requests in the Information Collection Module with a 302 response based on the Pareto optimal scheduling scheme determined by the scheduling scheme optimization module.
[0045] The beneficial effects of this invention are:
[0046] 1. A unified scheduling mechanism for all domain names in a content delivery network was proposed and implemented. Through cross-domain collaborative decision-making and intelligent resource orchestration, the carrying capacity of multiple service nodes was balanced while ensuring the quality of user experience (QoE). Ultimately, the global optimality of concurrent scheduling of multiple domain names was achieved, maximizing resource utilization and significantly reducing bandwidth costs.
[0047] 2. A global scheduling model based on a multi-objective simulated annealing algorithm was designed, which breaks through the limitations of traditional traffic scheduling algorithms in single domain name and single objective optimization. This model achieves macro-global optimization of traffic by jointly solving multiple objectives such as user experience quality, resource utilization and bandwidth cost. While improving the overall service quality of the network, it also enhances the overall availability and efficiency of service node resources.
[0048] 3. By constructing a network latency map, it is possible to accurately perceive the real network transmission quality between the client province and the server node province, realize intelligent routing based on the actual network conditions, and significantly reduce the access latency between the real client and the server node from the design architecture.
[0049] 4. A multi-dimensional real-time load balancing model was constructed, integrating key indicators such as CPU, memory, network I / O, and disk I / O to form a dynamic resource state tensor. This enables second-level perception and assessment of the entire network load, based on which traffic prediction and intelligent scheduling are performed, request distribution strategies are dynamically adjusted, and node overload is proactively prevented. This achieves full-stack elastic scaling of resources and continuous autonomous optimization of utilization, significantly enhancing the system's robustness and adaptability. Attached Figure Description
[0050] To more clearly illustrate the technical solutions in the embodiments of the present invention or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0051] Figure 1 This is a diagram of the 302 scheduling architecture under existing content delivery networks. Detailed Implementation
[0052] The technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.
[0053] A Content Delivery Network (CDN) is an infrastructure that uses a distributed network of edge nodes to intelligently distribute content from the origin server to the user, thereby significantly improving content loading speed and service quality. In this system, 302 redirection, as a common HTTP redirection mechanism, is an important technical means to achieve flexible and dynamic traffic scheduling. The specific architecture is as follows... Figure 1As shown. The scheduler is a central control system that determines which node a client request should be assigned to based on certain rules. The data center will monitor the network latency of edge nodes, central nodes, and the nodes within the content delivery network in real time, and then report this data to the scheduler. Edge nodes are servers in the content delivery network that have certain storage capabilities and can cache user content. Central nodes are servers in the content delivery network with large storage capacity. Source servers are servers that contain the actual content.
[0054] A traffic scheduling method based on a multi-objective simulated annealing algorithm includes the following steps:
[0055] S1, Construct a network latency map matrix between clients and servers in the content delivery network;
[0056] The server includes edge nodes in the content delivery network, and the location sets of both the client and the edge nodes are adopted. express, , Indicates the first One location, This represents the total number of locations. The network latency map matrix constructed in this application is used to evaluate the network latency between the client's location and the server's location. The network latency map matrix adopts... It indicates that the dimension is The corresponding expression is:
[0057] (1)
[0058] In the formula, Indicates from the first Clients at the current location to the first Network latency between servers in different locations Indicates from the first The server at the location to the first Network latency between clients at each location. In the expression above, the element... The corresponding values are all 0, and , that is , , ..., This indicates that the network latency between the client and the server is zero when they are located in the same location. The unit of network latency can be milliseconds (ms). The location in this application can be a province, a city, etc.
[0059] S2, When the scheduler in the content delivery network receives a user request from a client, it constructs a corresponding set of requests to be scheduled, and determines the set of available servers in the content delivery network based on the resource status information of each server and preset resource thresholds, including the following steps:
[0060] S2.1, the scheduler confirms the resource status information of each server in the content delivery network, including CPU utilization, memory utilization, network card utilization, and disk I / O utilization;
[0061] Each server has real-time resource status information at every moment.
[0062] S2.2, the scheduler calculates the resource saturation vector for each server based on the preset weights and the resource status information obtained in step S2.1. The corresponding calculation formula is as follows:
[0063] (2)
[0064] In the formula, Indicates the first Resource saturation vector of each server, Indicates the first CPU utilization of each server Indicates the first The memory utilization of each server. Indicates the first Network card utilization of each server Indicates the first The disk I / O utilization of each server, in order to facilitate the normalization of vector processing. , , and All are preset weights, and For example, it can be set to, , , , In addition, each server has its own defined set of resource capacity limits. ,in, Indicates the first The set of maximum resource capacity for each server. Indicates the first Total CPU of each server Indicates the first Total available memory for each server Indicates the first The server's main network interface card, Indicates the first Total disk I / O for each server.
[0065] S2.3, Construct a corresponding set of requests to be scheduled based on the user requests received from the client by the scheduler;
[0066] The set of requests to be scheduled adopts express, ,in, Indicates the first One pending scheduling request, This represents the total number of requests to be scheduled. The order and attributes of the requests to be scheduled correspond one-to-one with the user requests. Each request to be scheduled, i.e., each user request, is different in the set of requests to be scheduled, and each user request sent by the client carries unique attributes (such as the real geographical location of the requesting user, the historical average request size of the requested domain, the service scheduling range of the requested domain, etc.) so that the server can respond to the corresponding request.
[0067] Preferably, the scheduling requests in the set of scheduling requests can also be sorted and optimized. Specifically, when the scheduler receives... After a pending scheduling request, The requests to be scheduled are sorted according to domain name priority and location ID (when both domain name priority and location ID are different, the requests are sorted first by domain name priority; when domain name priority is the same and location ID is different, the requests are sorted by location ID; when domain name priority is different and location ID is the same, the requests are sorted by domain name priority; when both domain name priority and location ID are the same, the requests are sorted by the time they were received). For example, when the location is a province, the location ID is the province ID. Assume that the domain name priority of a.com is higher than that of b.com, and 5 requests are received: 2 requests from a.com (Guangdong), 1 request from a.com (Guangxi), 1 request from b.com (Guangdong), and 1 request from b.com (Guangxi). Then the set of requests to be scheduled is R = {a.com (Guangdong), a.com (Guangdong), a.com (Guangxi), b.com (Guangdong), b.com (Guangxi)}. The priority of domain names and the priority of province IDs can be customized. For example, they can be set to be sorted alphabetically, or the priority of domain names can be set to be sorted according to the business type corresponding to the user request, with payment business being processed first, followed by live streaming business, download / on-demand business, and static business.
[0068] S2.4, Based on the preset resource threshold and the resource saturation vector obtained in step S2.2, determine the set of available servers in the content delivery network;
[0069] The available server set adopts express, , Indicates the first The set of available servers refers to the total number of available servers within the available server set. The preset resource threshold is set to 80% in this application, but can also be set to 85%, etc., depending on the request volume during the specific implementation of the scheme. Only servers whose resource saturation vector is not greater than the preset resource threshold can be added to the available server set, so that servers can process scheduling requests in a timely manner. Preferably, each server in the available server set is not a faulty server.
[0070] S3, based on the service type of the user request received in step S2 and the preset resource information occupancy table, confirm the estimated resource status information of each server in the available server set after executing the scheduled request. Using the estimated resource status information, the resource status information obtained in step S2, and the network latency map matrix obtained in step S1, construct a performance evaluation function to evaluate the performance of the user request scheduling scheme, which includes the following steps:
[0071] S3.1, Based on the service type of the user request received in step S2 and the preset resource information occupancy table, confirm the estimated resource status information of each server in the available server set after executing the scheduled request;
[0072] The estimated resource status information includes predicted CPU resource utilization, predicted memory resource utilization, predicted network interface card resource utilization, and predicted disk I / O resource utilization.
[0073] Since the objective function of this application is not calculated based on the current resource state of the server, but rather on the estimated resource state of the server after allocation, this is to achieve "forward-looking" scheduling. The estimated resources consumed by the requests to be scheduled and allocated to the server can be estimated based on historical request data, that is, based on the resource information occupancy table preset in this application, as follows:
[0074]
[0075] Generally, requests that do not require caching resources are called dynamic requests, and services where all requests are dynamic are called payment services; services that require caching resources and have an average request file size of less than 100KB are called static services; services that require caching resources, have an average request file size of more than 100KB, and have request file extensions in download file format are called download services; services that require caching resources, have an average request file size of more than 100KB, and have request file extensions in video-on-demand file format are called video-on-demand services; and services that do not require caching resources and have request file extensions in live video file format are called live streaming services.
[0076] The formula for calculating the predicted CPU resource utilization is as follows:
[0077] (3)
[0078] In the formula, Indicates the first Predicted CPU resource utilization of each server Indicates the first CPU resource utilization of each server Indicates the first Total CPU of each server ,when When, it indicates the first The pending scheduling request was assigned to the first... On each server, When, it indicates the first The pending scheduling request was not assigned to the first... On each server, Indicates the first The pending scheduling request was assigned to the first... The estimated CPU resources consumed during processing on each server. (This is obtained by multiplying the CPU increase rate of the service type corresponding to the scheduling request in the resource information occupancy table by the total CPU of the server). In this application, It is The allocation matrix for each request There exists an element in each. Belongs to the set of available servers ,Right now In simpler terms, each pending request must be assigned to at most one server. Note that some pending requests may only be able to use a portion of the server's resources. One solution represents this batch A complete scheduling scheme for each pending request.
[0079] The formula for calculating the predicted utilization rate of memory resources is:
[0080] (4)
[0081] In the formula, Indicates the first Predicted memory resource utilization of each server. Indicates the first The memory resource utilization of each server. Indicates the first Total memory of each server Indicates the first The pending scheduling request was assigned to the first... The estimated memory resources consumed by each server during processing (obtained by multiplying the memory increase rate of the business type corresponding to the scheduled request in the resource information occupancy table by the total available memory of the server).
[0082] The formula for calculating the predicted utilization rate of network interface card resources is:
[0083] (5)
[0084] In the formula, Indicates the first Predicted utilization of network interface card resources for each server. Indicates the first Network card resource utilization of each server Indicates the first The total number of network cards on each server Indicates the first The pending scheduling request was assigned to the first... The estimated network card resources consumed by each server during processing (obtained by multiplying the network card increase rate of the service type corresponding to the pending scheduling request in the resource information occupancy table by the total number of network cards on the server).
[0085] The formula for calculating the predicted utilization of disk I / O resources is:
[0086] (6)
[0087] In the formula, Indicates the first Predicted disk I / O resource utilization of each server Indicates the first Disk I / O resource utilization of each server Indicates the first Total disk I / O for each server Indicates the first The pending scheduling request was assigned to the first... The estimated disk I / O resources consumed during processing on each server (obtained by multiplying the disk I / O increase rate of the business type corresponding to the scheduled request in the resource information occupancy table by the total disk I / O of the server).
[0088] S3.2, using the estimated resource status information obtained in step S3.1, the resource status information obtained in step S2, and the network latency map matrix obtained in step S1, construct a performance evaluation function to evaluate the results of all user requests executed in step S2;
[0089] The performance evaluation function includes average network latency evaluation, average saturation variance evaluation, and total bandwidth cost evaluation. The average network latency of all scheduled requests in the set of requests to be scheduled, which is also the average access latency of all scheduled requests in this batch, is used. The corresponding calculation formula is:
[0090] (7)
[0091] In the formula, Indicates the execution of the scheduling and allocation scheme. The average network latency of all pending requests. Indicates the first The pending scheduling request was assigned to the first... After one server, pending scheduling requests To the server The network latency between them is also known as the scheduling request. The location of the corresponding client to the server Network latency between locations.
[0092] Mean saturation variance is used The corresponding calculation formula is:
[0093] (8)
[0094] In the formula, Indicates the execution of the scheduling and allocation scheme. The average saturation variance of all pending requests. Indicates processing pending scheduling requests The server is processing the pending scheduling request. The previous resource saturation vector, Indicates processing pending scheduling requests The server is processing the pending scheduling request. The subsequent resource saturation vector. The smaller the average saturation variance, the more balanced the server load is after allocation.
[0095] The processing of pending scheduling requests The server is processing the pending scheduling request. Previous resource saturation vector That is, the resource saturation vector of the corresponding server calculated in step S2.2 is used to process the requests to be scheduled. The server is processing the pending scheduling request. The formula for calculating the resource saturation vector is as follows:
[0096] (9)
[0097] In the formula, Indicates the first The server processes the first The resource saturation vector after each pending scheduling request. Indicates the first The server processes the first Predicted CPU resource utilization after each pending scheduling request Indicates the first The server processes the first Predicted memory resource utilization after each pending scheduling request Indicates the first The server processes the first Predicted network interface card (NIC) resource utilization after each pending scheduling request. Indicates the first The server processes the first Predicted utilization of disk I / O resources after each pending scheduling request.
[0098] Total bandwidth cost consumption The corresponding calculation formula is:
[0099] (10)
[0100] In the formula, Indicates the execution of the scheduling and allocation scheme. The total bandwidth cost generated by all pending requests in the current batch. Indicates the first The server processes the first The bandwidth cost of each pending scheduling request. Indicates the first The pending scheduling request was assigned to the first... After one server, pending scheduling requests Server occupied The predicted increase in bandwidth (based on the average bandwidth percentage used by each scheduled request served by the server). Indicates the first The unit bandwidth cost of a server. Generally speaking, the unit bandwidth cost of a server with free resources can be simply considered to be 1, and the unit bandwidth cost of a server with billed resources can be considered to be 2.
[0101] S4. Based on the performance evaluation function obtained in step S3, design the energy function using the simulated annealing algorithm, and confirm the Pareto optimal scheduling scheme according to the Metropolis acceptance criterion, including the following steps:
[0102] S4.1, then the initial solution is generated. And initialize an empty external archive for storing non-dominated solutions, i.e. Pareto optimal solutions;
[0103] The initial solution in this application It can be generated randomly, or a simple strategy can be used, such as selecting the first available server from the set of available servers for each scheduled request to obtain a feasible initial allocation matrix. .
[0104] Initial solution Multi-objective function values are adopted This indicates that the corresponding expression is:
[0105] (11)
[0106] S4.2, Design the energy function using the simulated annealing algorithm based on the preset weights and the performance evaluation function obtained in step S3;
[0107] Simulated annealing uses "energy" to evaluate the quality of the solution. To solve multi-objective problems, this application designs a weighted aggregation energy function, the corresponding expression of which is:
[0108] (12)
[0109] In the formula, , , These are all weighting coefficients, reflecting the relative importance of different objectives. The weights can be dynamically adjusted to adapt to different business scenarios. .
[0110] S4.3, generating a new scheme through neighborhood transformation ;
[0111] Specifically, the method of generating new schemes through neighborhood transformation This refers to the initial solution Randomly select an assigned scheduling request They are then randomly reassigned to other servers in the available server set. The above leads to a new solution, or a new plan. ,and ,server For the initial solution Dispatch request The assigned server;
[0112] S4.4, in accordance with Metropolis acceptance criteria and the new proposal Determine whether to update the energy function value It includes the following steps:
[0113] S4.4.1, Calculate and execute the new scheme The corresponding energy function value With the execution of the initial solution Corresponding energy function value If the difference between the two solutions is less than zero, it means the new solution is better than the old one, and it should be accepted directly. If the difference is not less than zero, and the new solution is... With the initial solution They do not dominate each other and accept new solutions based on probability. If it is not less than zero and the new scheme Initialized solution Domination, then allows for probability Accepting the difference in solutions allows one to escape local optima.
[0114] If the new plan With the initial solution If the corresponding multi-objective function, i.e., the three performance evaluation functions, has both good and bad aspects, then it is called a new scheme. With the initial solution They do not control each other, if the new plan The three corresponding performance evaluation functions are all better than the initial solution. The difference is called the new scheme. Initialized solution Domination. The three performance evaluation functions corresponding to... , and The smaller the function value, the better.
[0115] When using probability Accept the new proposal hour, and This can increase the diversity of archived data. (For example, calculations) The distance between the target space and the nearest solution in the archive (the greater the distance, the higher the probability of acceptance). The calculation method is as follows:
[0116] (13)
[0117] In the formula, Indicates the new root scheme The calculated weighted aggregation energy function, Indicates based on the initial solution The calculated weighted aggregation energy function, This indicates the current temperature.
[0118] probability The calculation method is as follows:
[0119] (14)
[0120] S4.5, Cool down based on the preset temperature decay function, and determine whether the iteration termination condition is met. If yes, return to step S4.3; otherwise, execute step S4.6.
[0121] The iteration termination condition includes the current temperature. Not greater than the termination temperature (Initial temperature needs to be preset in advance) Termination temperature The quality of the solution no longer improves at multiple consecutive temperatures, meaning no new solution appears at a predetermined number of temperatures, the energy function value corresponding to the solution is less than the energy function value corresponding to the initial solution, or the number of iterations reaches a certain threshold. Number of iterations (requires pre-setting the number of iterations) The iteration termination condition is met if any one of the above conditions is satisfied. The temperature decay function is... ,in, It is the attenuation coefficient, that is, the cooling rate. ).
[0122] S4.6 Calculate the average load of all servers in the content delivery network after the scheduled requests are allocated. Based on preset thresholds and average load Select the Pareto optimal scheduling scheme from the external archive;
[0123] The preset thresholds include a first load threshold and a second load threshold, which are set in this application. , The external archive contains a set of Pareto-optimal batch scheduling schemes. Then choose first The minimum solution (i.e., the one with the best network quality), if Then choose first The minimum solution (i.e., the one with the lowest bandwidth cost), if Yes, preferred The minimum solution (i.e., the most stable under load), average load The calculations are existing technology and will not be described in detail in this application.
[0124] S5. Based on the Pareto optimal scheduling scheme determined in step S4, respond to all user requests in step S2 with a 302 response.
[0125] Based on the final determined Pareto optimal scheduling scheme, each user request is also a request to be scheduled. All have been assigned to specific optimal servers The scheduler will then respond to the user client with a redirection request, which includes the target server information. The service IP address guides the client to initiate a formal service request to that server.
[0126] This application overcomes the limitations of local optima inherent in traditional single-domain scheduling by constructing a full-domain traffic collaborative optimization mechanism. Combined with multi-dimensional load balancing and bandwidth cost control strategies, it achieves full-stack elastic scaling of the content delivery network (CDN) server. Based on a comprehensive consideration of actual server load, end-to-end network conditions, and load increases after request processing, this application also incorporates the principle of optimal bandwidth cost, effectively reducing the overall processing time of the CDN and comprehensively improving the overall resource utilization of the entire network.
[0127] This application embodiment also provides a traffic scheduling system based on a multi-objective simulated annealing algorithm, including edge nodes for processing user requests from clients and a scheduler for receiving user requests from clients, wherein the scheduler is further provided with:
[0128] Matrix building module: Used to build a network latency map matrix between clients and servers in a content delivery network;
[0129] Information collection module: After the scheduler in the content delivery network receives a user request from the client, it constructs a corresponding set of requests to be scheduled and confirms the set of available servers in the content delivery network based on the resource status information of each server and preset resource thresholds.
[0130] Evaluation function construction module: It is used to confirm the estimated resource status information of each server in the available server set of the information collection module after executing the scheduled request based on the service type of the user request received by the information collection module and the preset resource information occupancy table, and to construct a performance evaluation function for executing the results of all user requests of the information collection module using the estimated resource status information, the resource status information obtained by the information collection module and the network latency map matrix obtained by the matrix construction module.
[0131] The scheduling scheme optimization module is used to construct the performance evaluation function of the evaluation function and design the energy function based on the simulated annealing algorithm, and to confirm the Pareto optimal scheduling scheme according to the Metropolis acceptance criterion.
[0132] Request Scheduling Module: Used to respond to all pending scheduling requests in the Information Collection Module with a 302 response based on the Pareto optimal scheduling scheme determined by the scheduling scheme optimization module.
[0133] In summary, this application has the following advantages:
[0134] 1. By deeply integrating multi-dimensional constraints such as real-time load status of edge nodes, end-to-end network latency, network transmission latency, and traffic scheduling costs, this method achieves integrated intelligent scheduling and real-time planning of multi-domain traffic in the content delivery network. This significantly improves the global balance of resource scheduling, effectively suppresses systemic jitter caused by local resource congestion, and enhances service robustness and stability through a load entropy reduction mechanism. Thus, it constructs a highly reliable, low-fluctuation, and highly adaptive intelligent scheduling infrastructure for large-scale distributed content delivery networks.
[0135] 2. By constructing a new paradigm of multi-domain collaborative operation across the entire content delivery network, multi-domain traffic multi-objective optimal matching is achieved, fundamentally realizing a global balanced control of service quality, resource utilization efficiency, and bandwidth cost. The system perceives end-to-end network transmission quality (including network transmission latency), node resource saturation (including node CPU, memory, network, and IO utilization), and service policy constraints (including network cost topology, domain name SLA, and client-server dual-end positions), and dynamically drives the global optimal scheduling of network traffic among content delivery network nodes based on this.
[0136] 3. Innovatively constructing a three-in-one collaborative scheduling architecture of "node load - network load - bandwidth cost", deeply integrating the spatiotemporal distribution characteristics of content and nodes and real-time connection status, realizing intelligent balanced distribution of traffic among multiple service nodes, significantly reducing network bandwidth costs, and driving resource utilization and cost-effectiveness to approach the Pareto optimal boundary, thereby achieving a dual paradigm leap in content distribution efficiency and system economy.
[0137] 4. High feasibility: Compared with complex machine learning models, the method proposed in this invention has a clear principle, and the implementation difficulty and computational overhead are relatively controllable, making it easy to deploy in actual systems.
[0138] This application also provides an electronic device, which includes a processor and a memory. The memory stores a computer program, and when the computer program is executed by the processor, it performs the steps of the traffic scheduling method based on the multi-objective simulated annealing algorithm described above.
[0139] This application also provides a computer-readable storage medium storing a computer program. When the computer program is executed by a processor, it performs the steps of the traffic scheduling method based on the multi-objective simulated annealing algorithm described above. Specifically, the storage medium can be a general-purpose storage medium, such as a removable disk or hard disk. When the computer program on the storage medium is run, it can execute the embodiments of the traffic scheduling method based on the multi-objective simulated annealing algorithm described above.
[0140] The above description is only a preferred embodiment of the present invention and is not intended to limit the present invention. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of the present invention should be included within the protection scope of the present invention.
Claims
1. A traffic scheduling method based on a multi-objective simulated annealing algorithm, characterized in that, Includes the following steps: S1, Construct a network latency map matrix between clients and servers in the content delivery network; S2, after receiving a user request from the client, the scheduler in the content delivery network constructs a corresponding set of requests to be scheduled, and confirms the set of available servers in the content delivery network based on the resource status information of each server and the preset resource threshold. S3. Based on the service type of the user request received in step S2 and the preset resource information occupancy table, confirm the estimated resource status information of each server in the available server set after executing the scheduled request. Use the estimated resource status information, the resource status information obtained in step S2 and the network delay map matrix obtained in step S1 to construct a performance evaluation function for executing all user request results in step S2. S4. Based on the performance evaluation function obtained in step S3, design the energy function using the simulated annealing algorithm, and confirm the Pareto optimal scheduling scheme according to the Metropolis acceptance criterion. S5, respond to the user request in step S2 according to the Pareto optimal scheduling scheme determined in step S4.
2. The traffic scheduling method based on multi-objective simulated annealing algorithm according to claim 1, characterized in that, Step S2 includes the following steps: S2.1, the scheduler confirms the resource status information of each server, including CPU utilization, memory utilization, network card utilization, and disk I / O utilization; S2.2, the scheduler calculates the resource saturation vector for each server based on the preset weights and the resource status information obtained in step S2.
1. The corresponding calculation formula is as follows: ; In the formula, Indicates the first Resource saturation vector of each server, Indicates the first CPU utilization of each server Indicates the first The memory utilization of each server. Indicates the first Network card utilization of each server Indicates the first Disk I / O utilization of each server , , and All are preset weights; S2.3, Construct a corresponding set of requests to be scheduled based on the user requests received from the client by the scheduler; S2.4, Based on the preset resource threshold and the resource saturation vector obtained in step S2.2, confirm the set of available servers in the content delivery network.
3. The traffic scheduling method based on multi-objective simulated annealing algorithm according to claim 2, characterized in that, Before determining the set of requests to be scheduled, the requests in the set of requests to be scheduled can be sorted according to the domain name priority and province ID of the requests to be scheduled.
4. The traffic scheduling method based on multi-objective simulated annealing algorithm according to claim 1, characterized in that, Step S3 includes the following steps: S3.1, Based on the service type of the user request received in step S2 and the preset resource information occupancy table, confirm the estimated resource status information of each server in the available server set after executing the scheduled request; S3.2, using the estimated resource status information obtained in step S3.1, the resource status information obtained in step S2, and the network latency map matrix obtained in step S1, construct a performance evaluation function to evaluate the results of all user requests executed in step S2; The performance evaluation functions include average saturation variance evaluation, total bandwidth cost consumption evaluation, and average network latency evaluation.
5. The traffic scheduling method based on multi-objective simulated annealing algorithm according to claim 4, characterized in that, The calculation formula corresponding to the average saturation variance assessment is as follows: ; In the formula, Indicates the execution of the scheduling and allocation scheme. The average saturation variance of all pending requests. Indicates processing pending scheduling requests The server is processing the pending scheduling request. The previous resource saturation vector, Indicates processing pending scheduling requests The server is processing the pending scheduling request. The subsequent resource saturation vector.
6. The traffic scheduling method based on multi-objective simulated annealing algorithm according to claim 4, characterized in that, The calculation formula corresponding to the total bandwidth cost consumption assessment is as follows: ; In the formula, Indicates the execution of the scheduling and allocation scheme. The total bandwidth cost generated by all pending scheduling requests at that time. Indicates the first The server processes the first The bandwidth cost of each pending scheduling request. Indicates the first The pending scheduling request was assigned to the first... After one server, pending scheduling requests Server occupied The projected increase in bandwidth, Indicates the first Cost per unit bandwidth of a server.
7. The traffic scheduling method based on multi-objective simulated annealing algorithm according to claim 4, characterized in that, The calculation formula corresponding to the average network latency assessment is as follows: ; In the formula, Indicates the execution of the scheduling and allocation scheme. The average network latency of all pending requests. Indicates the first The pending scheduling request was assigned to the first... After one server, pending scheduling requests To the server Network latency between them.
8. The traffic scheduling method based on multi-objective simulated annealing algorithm according to claim 1, characterized in that, Step S4 includes the following steps: S4.1, then the initial solution is generated. Initialize an empty external archive (Archive) for storing Pareto optimal solutions; S4.2, Design the energy function using the simulated annealing algorithm based on the preset weights and the performance evaluation function obtained in step S3; S4.3, generating a new scheme through neighborhood transformation ; S4.4, New proposal based on Metropolis acceptance criteria Energy function value and initial solution Determine whether to update the energy function value ; S4.5, Cool down based on the preset temperature decay function, and determine whether the iteration termination condition is met. If yes, return to step S4.3; otherwise, execute step S4.
6. S4.6 Calculate the average load of all servers in the content delivery network after the scheduled requests are allocated. Based on preset thresholds and average load Select the Pareto optimal scheduling scheme from the external archive Archive.
9. A traffic scheduling system based on a multi-objective simulated annealing algorithm, comprising edge nodes for processing user requests from clients and a scheduler for receiving user requests from clients, characterized in that, The scheduler is also equipped with: Matrix building module: Used to build a network latency map matrix between clients and servers in a content delivery network; Information collection module: Used to construct a corresponding set of requests to be scheduled after the scheduler in the content delivery network receives user requests from clients, and to confirm the set of available servers in the content delivery network based on the resource status information of each server and preset resource thresholds; Evaluation function construction module: It is used to confirm the estimated resource status information of each server in the available server set of the information collection module after executing the scheduled request based on the service type of the scheduled request of the information collection module and the preset resource information occupancy table, and to construct a performance evaluation function for executing the results of all user requests of the information collection module using the estimated resource status information, the resource status information obtained by the information collection module and the network latency map matrix obtained by the matrix construction module. The performance evaluation functions include average network latency evaluation, average saturation variance evaluation, and total bandwidth cost consumption evaluation. The scheduling scheme optimization module is used to construct the performance evaluation function of the evaluation function module and design the energy function based on the simulated annealing algorithm, and to confirm the Pareto optimal scheduling scheme according to the Metropolis acceptance criterion. Request scheduling module: Used to respond to all pending scheduling requests in the information collection module according to the Pareto optimal scheduling scheme determined by the scheduling scheme optimization module.
