A Method and System for Optimizing the Bandwidth Allocation of Content Delivery Network in an Offline Scenario

By setting a rolling time window in offline scenarios and iteratively solving the optimization function, the problem of ignoring cost of expenses and difficulty in dealing with large-scale bandwidth allocation in the prior art is solved, and efficient bandwidth cost optimization is achieved.

CN118945060BActive Publication Date: 2025-06-10SICHUAN UNIV
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202411009320.3
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-07-26
Publication Date
2025-06-10
Estimated Expiration
2044-07-26

AI Technical Summary

Technical Problem

Bandwidth allocation technology in existing offline scenarios usually ignores cost and is difficult to obtain effective solutions in a limited time when dealing with hyperscale bandwidth allocation problems.

Method used

By setting a rolling time window on the billing cycle, iteratively solve the target optimization function to minimize the total billing bandwidth in the time window, and thus optimize the bandwidth allocation decisions during the entire billing cycle.

Benefits of technology

It realizes bandwidth allocation within a controllable limited time, optimizes bandwidth costs, and effectively utilizes 95% of the free peak, reducing bandwidth billing value in the total cycle.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN118945060B_ABST
    Figure CN118945060B_ABST
Patent Text Reader

Abstract

The present invention provides a method and system for optimizing the bandwidth allocation of a content delivery network in an offline scenario. The method includes: obtaining a user task set; performing an initial allocation on the user task set to obtain an initial allocation decision for each user task in each time period within a billing cycle; setting a rolling time window on the billing cycle; iteratively executing the following steps until an iteration stop condition is reached: solving a target optimization function to obtain an optimized allocation decision for each user task in each time period within the time window, where the target optimization function aims to minimize the total billed bandwidth of the content delivery network within the time window; updating the allocation decision of the user tasks in each time period within the time window to the optimized allocation decision; rolling the time window on the billing cycle according to a step size; and when the iteration stop condition is reached, outputting the allocation decision of each user task in the billing cycle in the last iteration. The present invention can complete bandwidth allocation within a controllable and limited time, and optimize the bandwidth cost.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of content delivery networks, and particularly to a method and system for optimizing the bandwidth allocation of a content transmission network in an offline scenario. Background Art

[0002] In the process of data transmission in a content delivery network (CDN), customers, CDN companies, and Internet service providers (ISPs) are the three main stakeholders. For a CDN company, its goal is to provide customers with reliable, customized, and quality of service (QoS)-guaranteed services while minimizing bandwidth costs (paid to ISPs), which is actually the main component of the overall operating cost. Therefore, it is extremely important for a CDN company to reasonably schedule data transmission to save bandwidth costs.

[0003] The 95th percentile billing method is a bandwidth billing method commonly used between content delivery network (CDN) companies and Internet service providers (ISPs), aiming to provide a billing model that can cover peak demand and avoid high costs caused by a few peak moments. During a billing cycle (usually one month), the ISP records the bandwidth usage data of the CDN company every 5 minutes (a billing period). At the end of the billing cycle, all the collected data points are sorted from high to low according to the bandwidth usage, and the highest 5% of the data points are excluded. The highest value among the remaining 95% of the data is the billing benchmark bandwidth.

[0004] In the 95-billing scenario, bandwidth allocation can be divided into online problems and offline problems. For online problems, traffic sequences need to be predicted and prediction errors need to be processed. For offline problems, it is assumed that the traffic sequences for each time period are given in advance. Therefore, when the task transmission requirements can be known in advance, the bandwidth allocation problem of the CDN network can be regarded as an offline problem. There are mainly two processing methods for existing bandwidth allocation technologies in the offline scenario: either adopting the assumption that flows can be infinitely subdivided, or adopting the assumption that flows are indivisible. However, in practical applications, completely infinite subdivision is unrealistic because the segmentation and recombination of flows require additional processing overhead and time delay, and data packets, as the smallest unit of actual transmission, actually do not conform to the assumption of completely infinite subdivision of flows. Regarding data flows as indivisible wholes (usually referring to application-level flows, such as a CDN transmitting a video as a data flow), this method is simple and intuitive, but it may not be as effective as the divisible assumption in terms of bandwidth utilization and network resource allocation. In addition, the scheduling objectives of existing offline scheduling technologies mostly focus on improving network stability and network service quality (QoS), and their evaluation indicators are usually set as data transmission delay, user experience, etc., while ignoring the important indicator of cost. Some studies have shown that simply optimizing network performance under 95-billing may lead to high costs for users. Therefore, it is very necessary to design an algorithm to reduce the bandwidth cost of non-sharable flows in the offline scenario.

[0005] Existing few offline scenario scheduling technical solutions that focus on cost usually ignore the coupling between time periods in the billing cycle, resulting in the failure to fully utilize the 5% free peak for transmission, and the failure to compress the bandwidth billing value within the total cycle. Moreover, when existing offline scheduling algorithms solve ultra-large-scale bandwidth allocation problems, the time is uncontrollable. Because as the number of concurrent users and the number of billing time periods increase, the number of decision variables and constraints of the problem also increases at a speed far exceeding linearity. The increase in the problem scale will lead to a rapid increase in the solution time of existing algorithms. When the problem scale reaches a certain limit, it is difficult for existing algorithms to obtain a bandwidth allocation scheme within a limited time. Summary of the Invention

[0006] The present invention aims to at least solve the technical problems that existing offline scenario scheduling technical solutions usually ignore cost, and when the problem scale reaches a certain limit, it is difficult for existing algorithms to obtain a bandwidth allocation scheme within a limited time. It provides a method and system for optimizing the bandwidth allocation of a content delivery network in an offline scenario, which can complete bandwidth allocation within a controllable limited time and optimize the bandwidth cost.

[0007] To achieve the above object of the present invention, according to the first aspect of the present invention, there is provided a method for optimizing the bandwidth allocation of a content delivery network in an offline scenario. The content delivery network includes an edge server layer, at least one central server layer, and a source server layer connected in sequence. The edge server is used to obtain user task requests. The method includes: obtaining a user task set, where the user task set includes user tasks for all time periods within a billing cycle; performing an initial allocation on the user task set to obtain an initial allocation decision for each user task in each time period within the billing cycle. The allocation decision for each user task in each time period includes decision variables for allocating the user task to each edge server; setting a rolling time window on the billing cycle, initializing the starting position of the time window to align with the starting point of the billing cycle, and initializing the step size of the time window; iteratively executing the following steps until an iteration stop condition is reached: solving a target optimization function to obtain an optimized allocation decision for each user task in each time period within the time window. The target optimization function aims to minimize the total billing bandwidth of the content delivery network within the time window; updating the allocation decision of the user tasks in each time period within the time window to the optimized allocation decision; rolling the time window on the billing cycle according to the step size; when the iteration stop condition is reached, outputting the allocation decision of each user task in the billing cycle in the last iteration.

[0008] To achieve the above object of the present invention, according to the second aspect of the present invention, there is provided a content delivery network bandwidth allocation device for implementing the method for optimizing the bandwidth allocation of a content delivery network in an offline scenario described in the first aspect of the present invention. The device includes: an obtaining module for obtaining a user task set, where the user task set includes user tasks for all time periods within a billing cycle; an initial allocation module for performing an initial allocation on the user task set to obtain an initial allocation decision for each user task in each time period within the billing cycle. The allocation decision for each user task in each time period includes decision variables for allocating the user task to each edge server; an initialization module for setting a rolling time window on the billing cycle, initializing the starting position of the time window to align with the starting point of the billing cycle, and initializing the step size of the time window; an iterative solution module for iteratively executing the following steps until an iteration stop condition is reached: solving a target optimization function to obtain an optimized allocation decision for each user task in each time period within the time window. The target optimization function aims to minimize the total billing bandwidth of the content delivery network within the time window; updating the allocation decision of the user tasks in each time period within the time window to the optimized allocation decision; rolling the time window on the billing cycle according to the step size; an output module for outputting the allocation decision of each user task in the billing cycle in the last iteration when the iteration stop condition is reached; where the content delivery network includes an edge server layer, at least one central server layer, and a source server layer connected in sequence. The edge server is used to obtain user task requests.

[0009] To achieve the above object of the present invention, according to the third aspect of the present invention, there is provided a computer program product, including a computer program / instructions, characterized in that when the computer program / instructions are executed by a processor, the steps of the method described in the first invention of the present invention are implemented.

[0010] To achieve the above object of the present invention, according to the fourth aspect of the present invention, there is provided an electronic device, the electronic device includes: at least one processor; and a memory communicatively connected to the at least one processor; wherein, the memory stores a computer program executable by the at least one processor, and the computer program is executed by the at least one processor, so that the at least one processor can execute a method for optimizing the bandwidth allocation of the content transmission network in an offline scenario as described in the first aspect of the present invention.

[0011] To achieve the above object of the present invention, according to the fifth aspect of the present invention, there is provided a content transmission system, including a content transmission network, the content transmission network includes an edge server layer, at least one central server layer and a source server layer connected in sequence, the edge server is used to obtain user task requests; each user only establishes a connection with one edge server, each edge server only establishes a connection with one central server, and each central server only establishes a connection with one source server; the content transmission network transmits the set of user tasks in the charging period according to a method for optimizing the bandwidth allocation of the content transmission network in an offline scenario as described in the first aspect of the present invention.

[0012] The present invention focuses on the optimization of the CDN bandwidth scheduling of the content transmission network in the 95 charging scenario. First, the user task set in the charging period is initially allocated to obtain the initial allocation decision for each user task; then a rolling time window is set on the charging period. By continuously rolling the time window on the charging period, each time it rolls, an iteration is performed to minimize the total charging bandwidth of the content transmission network within the time window, so as to obtain the optimized allocation decision for each user task in each time period within the time window. The time window rolls according to the step size, and this is continuously repeated until the iteration stop condition is reached, so as to obtain the optimized allocation decision for the user tasks in each time period within the entire charging period. The present invention can set the size of the time window, effectively control the problem scale (including the number of decision variables and constraints) of each round of iterative solution, so that the solution can be completed within a limited time, and the total solution time is controllable; in addition, during the iterative process, the target optimization function takes the minimum total charging bandwidth of the content transmission network within the time window as the optimization goal, realizes the minimization of the bandwidth cost of the entire content transmission network CDN within the charging period, and the coupling of each time period under the 95 charging is considered in the target optimization function, which can obtain a better cost optimization effect and effectively help the cloud service provider save bandwidth costs. Description of the Drawings

[0013] Figure 1 It is a schematic flowchart of a method for optimizing the bandwidth allocation of a content delivery network in an offline scenario in a preferred embodiment of the present invention;

[0014] Figure 2 It is a schematic structural diagram of a content delivery network in a preferred embodiment of the present invention;

[0015] Figure 3 It is a schematic diagram of the initial allocation principle of the user task set in a preferred embodiment of the present invention;

[0016] Figure 4 It is a schematic flowchart of a method for optimizing the bandwidth allocation of a content delivery network in an offline scenario in an application scenario of the present invention;

[0017] Figure 5 It is a schematic structural diagram of an electronic device in a preferred embodiment of the present invention. Specific Embodiments

[0018] The embodiments of the present invention will be described in detail below. Examples of the embodiments are shown in the accompanying drawings, where the same or similar reference numerals denote the same or similar elements or elements having the same or similar functions throughout. The embodiments described below with reference to the accompanying drawings are exemplary only for explaining the present invention and should not be construed as limiting the present invention.

[0019] In the description of the present invention, it should be understood that the terms "longitudinal", "transverse", "upper", "lower", "front", "rear", "left", "right", "vertical", "horizontal", "top", "bottom", "inner", "outer", etc. indicate the orientation or positional relationship based on the orientation or positional relationship shown in the drawings, and are only for facilitating the description of the present invention and simplifying the description, rather than indicating or implying that the device or element referred to must have a specific orientation, be constructed and operated in a specific orientation, and thus should not be construed as limiting the present invention.

[0020] In the description of the present invention, unless otherwise specified and defined, it should be noted that the terms "installed", "connected", "connected" should be understood in a broad sense. For example, it may be a mechanical connection or an electrical connection, or it may be the internal communication of two elements. It may be directly connected or indirectly connected through an intermediate medium. For those of ordinary skill in the art, the specific meanings of the above terms can be understood according to specific circumstances.

[0021] The execution entities of the method for optimizing the bandwidth allocation of the content delivery network in an offline scenario include, but are not limited to, at least one of electronic devices such as a server, a terminal, etc. that can be configured to execute the method provided in the embodiments of the present application. In other words, the method for optimizing the bandwidth allocation of the content delivery network in an offline scenario can be executed by software or hardware installed on a terminal device or a server device. The server includes, but is not limited to: a single server, a server cluster, a cloud server, or a cloud server cluster, etc. The server can be an independent server or a cloud server that provides basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communications, middleware services, domain name services, security services, Content Delivery Network (CDN), and big data and artificial intelligence platforms. The terminal device can be a personal computer, an embedded device, etc.

[0022] A method for optimizing the bandwidth allocation of the content delivery network in an offline scenario provided by the present invention performs bandwidth allocation for the content delivery network with reference to Figure 2 As shown, the content delivery network includes an edge server layer ( Figure 2 the edge layer in Figure 2 ), at least one central server layer ( Figure 2 the central layer in Figure 2 ), and a source server layer (

[0023] the source node in e ), and the edge server is used to obtain user task requests. The edge server layer includes multiple edge servers, the central server layer includes more than one central server, and the source server layer includes more than one source server. As shown in c ), each user only establishes a connection with one edge server, each edge server only establishes a connection with one central server, and each central server only establishes a connection with one source server. It should be noted that the user here refers to an electronic device held or used by the user. s ), V e represents the set of edge servers, V c represents the set of central servers, V s represents the set of source servers, and E represents the set of edges connecting two servers in the content delivery network.

[0024] In a preferred embodiment, a method for optimizing the bandwidth allocation of the content delivery network in an offline scenario provided by the present invention, with reference to Figure 1 As shown, the method includes:

[0025] Step S1, obtain the user task set. The user task set includes user tasks for all time periods within the billing cycle. A user task represents a user content data request. The user task set can be expressed as: where T represents the billing cycle, T = {1, 2, …, T}, T is a positive integer, t represents the time period index, and U t represents the subset of user tasks for time period t in the billing cycle. In the 95th percentile billing method, a complete billing cycle is usually one month, and an Internet service provider (ISP) usually monitors the instant traffic of the server every five minutes, that is, one time period is 5 minutes. Therefore, for a 30-day month, the billing cycle is divided into 8,640 sampling intervals.

[0026] In this embodiment, to reduce the bandwidth cost of the content transmission network, in the present invention, in addition to the source server storing all the content provided by the ISP to the users, part of the content data is also stored in the edge server and the central server respectively. Therefore, referring to Figure 2 , the data requested by the users of the present invention is hierarchically transmitted to the users through the source server, the central server, and the edge server in sequence, or through the central server and the edge server in sequence, or directly through the edge server. Specifically, the users first request the content from the edge server they are connected to. If the content requested is not cached on the edge server, the request will be sent to the central server. Similarly, if the content requested by the users is not available on the central server, the request will be further forwarded to the source server.

[0027] In this embodiment, taking a three-layer content delivery network (CDN) as an example, the layer closest to the users is the edge server layer, which is usually composed of multiple edge servers. The edge layer directly establishes a connection with the users in time period t, allowing any user in U t to connect to any edge server in the edge server layer. After the users establish a connection with the edge server, they first request the required data from the edge server.

[0028] Step S2, perform an initial allocation on the user task set to obtain the initial allocation decision for each user task in each time period within the billing cycle. The allocation decision for each user task in each time period includes the decision variable for allocating the user task to each edge server.

[0029] In this embodiment, to facilitate the expression of the allocation scheme, an allocation decision is introduced, and the bandwidth allocation scheme is decomposed into obtaining the allocation decision for each user task in each time period within the billing cycle. Let the allocation decision for user task i in time period t be expressed as x ij represents the decision variable for allocating user task i to edge server j in the allocation decision for user task i in time period t. When x ijWhen \(x_{ijt}=1\), it means that user task \(i\) is assigned to edge server \(j\). When \(x_{ijt} = 0\), it means that user task \(i\) is not assigned to edge server \(j\); \(1\leq j\leq I\), where \(I\) represents the total number of edge servers in the edge server layer. In time period \(t\), user task \(i\) can only be assigned to one edge server, that is, the decision variable of user task \(i\) in time period \(t\) satisfies ij In this embodiment, a heuristic method can be used to perform an initial assignment on the user task set. To improve the processing efficiency of the initial assignment and save time, initial classification can be performed in segments. Specifically: the user task set is divided into user task subsets for each time period according to the time period, and the user task subsets for multiple time periods are assigned as follows sequentially or in parallel: taking the user task subset \(U_t\) of time period \(t\) as an example, the user tasks in the user task subset \(U_t\) are preferentially assigned to edge servers with a lower unit price of bandwidth until the capacity of the edge server reaches the upper limit, and then assigned to the edge server with the second lowest price, and so on, until all user tasks in the user task subset \(U_t\) are assigned. Although this initial assignment method does not consider the coupling relationship between each charging period under 95 charging, it can still ensure that the scheduling scheme for a single time period is relatively optimal in terms of cost, and at the same time has a great advantage in terms of the time to obtain the initial solution, and usually can obtain the initial solution of a large-scale problem within 1 minute. The purpose of the bandwidth allocation method provided by the present invention is to solve the optimal allocation decision for each user task in each time period, so as to minimize the bandwidth cost within the charging period, and at the same time be able to solve large-scale problems and improve the solution speed.

[0030] In this embodiment, a heuristic method can be used to perform an initial assignment on the user task set. To improve the processing efficiency of the initial assignment and save time, initial classification can be performed in segments. Specifically: the user task set is divided into user task subsets for each time period according to the time period, and the user task subsets for multiple time periods are assigned as follows sequentially or in parallel: taking the user task subset \(U_t\) of time period \(t\) as an example, the user tasks in the user task subset \(U_t\) are preferentially assigned to edge servers with a lower unit price of bandwidth until the capacity of the edge server reaches the upper limit, and then assigned to the edge server with the second lowest price, and so on, until all user tasks in the user task subset \(U_t\) are assigned. Although this initial assignment method does not consider the coupling relationship between each charging period under 95 charging, it can still ensure that the scheduling scheme for a single time period is relatively optimal in terms of cost, and at the same time has a great advantage in terms of the time to obtain the initial solution, and usually can obtain the initial solution of a large-scale problem within 1 minute. t For example, preferentially assign the user tasks in the user task subset \(U_t\) t to the edge server with a lower unit price of bandwidth until the capacity of the edge server reaches the upper limit, and then assign them to the edge server with the second lowest price, and so on, until all user tasks in the user task subset \(U_t\) t are assigned. Although this initial assignment method does not consider the coupling relationship between each charging period under 95 charging, it can still ensure that the scheduling scheme for a single time period is relatively optimal in terms of cost, and at the same time has a great advantage in terms of the time to obtain the initial solution, and usually can obtain the initial solution of a large-scale problem within 1 minute.

[0031] Step S3, set a rolling time window on the charging cycle, initialize the starting position of the time window to align with the starting point of the charging cycle, and initialize the step size of the time window.

[0032] In this embodiment, in the loop iteration of step S4, when the time window is iterated for the first time, its starting position is aligned with the starting point of the charging cycle. In the next iteration, the time window advances by one step size, and so on. When the iteration of the time window at the tail of the charging cycle is completed, in the next iteration, the time window returns to the starting point of the charging cycle again. In this way, in the loop iteration, the time window rolls forward on the charging cycle.

[0033] Step S4, referring to Figure 1 and Figure 4 , iteratively execute the following steps until the iteration stop condition is reached:

[0034] Step S41, solve the target optimization function to obtain the optimal allocation decision for each user task in each time period within the time window. The target optimization function aims to minimize the total billed bandwidth of the content transmission network within the time window.

[0035] Step S42: Update the allocation decision of each time period within the time window to an optimized allocation decision.

[0036] Step S43: Roll the time window over the billing cycle by a step size, specifically, move the time window by the step size.

[0037] Step S5: When the iteration stop condition is reached, output the allocation decision of each user task within the billing cycle in the last iteration.

[0038] In this embodiment, the iteration stop condition is preferably that the number of iterations reaches a preset maximum number of iterations. In step S41, preferably, an existing Gurobi solver is used to solve the objective optimization function.

[0039] In this embodiment, the size of the time window can be determined by dividing the maximum number of tasks that the Gurobi solver can handle by the average number of tasks per time period, so as to quickly solve the size of the time window and shorten the overall solution time.

[0040] In a preferred embodiment, the step size of the sliding window is a fixed value, which is greater than or equal to 1, that is, 1 time period. Further preferably, the fixed value is equal to the width of the time window, and when the sliding window rolls, the head and tail are connected, taking into account both the processing time and the processing effect. The fixed value can also be less than or equal to the width of the time window to achieve overlapping movement of the time window.

[0041] In a preferred embodiment, a random value is selected as the step size for the next iteration in each iteration, and the value is greater than or equal to 1, that is, 1 time period. The value can also be less than or equal to the width of the time window to achieve overlapping movement of the time window.

[0042] In a preferred embodiment, in order to adaptively make a reasonable initial allocation according to the scale of the user task set to improve the processing efficiency. In step S2, an initial allocation is made to the user task set, including:

[0043] Step S21: When the number of user tasks in the user task set is less than a preset number threshold, use the Gurobi solver to make an initial allocation to the user task set to obtain the initial allocation decision of each user task in each time period within the billing cycle. The preset number threshold is preferably but not limited to less than or equal to the maximum number of user tasks that the Gurobi solver can solve.

[0044] At this time, the initial allocation process is as follows:

[0045] Assume that all user tasks can only be transmitted through one server in each CDN layer, which means that each user can only establish a connection with one edge server, and a single task is indivisible. Therefore, the following constraints hold:

[0046]

[0047] Let u i be the bandwidth required for user task i. The total bandwidth of edge server j at time period t can be calculated as:

[0048]

[0049] In the CDN network, users first request content from the edge server they are connected to. If the content is not cached on the edge server, the request will be sent to the central server. Let π ij represent the probability that the content requested by user i is cached on edge server j. Then the probability that user task i needs to request data from the central server is 1 - π ij . At time period t, the requested bandwidth from all edge servers to central server k can be calculated as:

[0050]

[0051] The above equation indicates that the edge server can only request from the central server k it is connected to. Similarly, if the content requested by the user is not available on the central server, the request will be further forwarded to the source server. In the CDN network, the source server stores all the content provided by the ISP to the users. Similarly, let π ik represent the probability that the content requested by user i is cached on central server k. If the content requested by the user cannot be obtained at both the edge server layer and the central server layer, the probability that user task i needs to request data from the source server is (1 - π ik )(1 - π ij ). The requested bandwidth of source server s in the CDN network is expressed as:

[0052]

[0053] Let the bandwidth capacity of server j' be C j' . Since content can be replicated within the server, the total egress bandwidth of the CDN server at all levels is always greater than or equal to the ingress bandwidth. Therefore, it is very important to ensure that the sum of the egress bandwidths of each server does not exceed its capacity limit. For each server in the three - layer CDN network, there is a maximum bandwidth capacity constraint:

[0054]

[0055] Under the 95th percentile billing method, the goal of the ISP is to minimize the total cost of all servers within a billing cycle. Assume that the unit bandwidth cost of server j' is c j', Q95 is the operation of obtaining the 95th percentile in a set of numbers, and the objective function can be expressed as minimizing the total cost of edge layer servers, central layer servers, and source servers:

[0056]

[0057] According to the above specifications, the original objective optimization function model of the CDN can be expressed as the following model M0:

[0058]

[0059] Due to the non - linear and non - convex nature of the above - mentioned original objective optimization function, it is challenging to directly use the Gurobi solver to solve the original objective optimization function. By adopting the Big - M method, by introducing an artificial variable and a sufficiently large number M, the inequality constraints are transformed into equality constraints, thus simplifying the problem - solving process. The Big - M method transforms the original objective optimization function into a linear convex model, which is convenient for using the Gurobi solver to solve:

[0060] Let y j' be the billed bandwidth on server j'. The objective optimization function of the CDN network can be expressed as follows:

[0061]

[0062] Equivalent to the original problem, y j' needs to be greater than or equal to (If the 95th percentile is not an integer, round up). This is ensured by two types of constraints. For any server in the CDN network, this set of constraints is expressed as:

[0063]

[0064] is a binary variable used for the discounted billing period. For server j', means that the bandwidth size in time period t is within the top 5% peak of all billing periods, which means that time period t is not billed. Equation (8) ensures that the number of unbilled peak periods accounts for 5% of the total number of periods. M is a large integer constant in the Big - M method, and Equation (9) ensures that the billed bandwidth is not less than the bandwidth of any non - top 5% peak period.

[0065] According to the above specifications, the original model M 0 can be converted into the objective optimization function model M 1 :

[0066]

[0067] s.t. Constrants (1)-(5), (8), (9)

[0068]

[0069] Solve the above objective optimization function model M through the Gurobi solver 1 to obtain an initial solution, that is, the initial allocation decision for each user task in each time period.

[0070] Step S22, when the number of user tasks in the user task set is greater than or equal to the preset quantity threshold, refer to Figure 3 as shown, Step S22 includes:

[0071] Step S221, divide the billing cycle into n subsets. The first n - 1 subsets each include λ time periods, and the nth subset includes time periods, where λ is a positive integer represents rounding up, and T represents the billing cycle.

[0072] Then T = T 1 ∪T 2 ∪...∪T n , n ∈ Z, Z represents the set of positive integers. Among them, T 1 = {1, 2,..., λ}, T 2 = {λ + 1, λ + 2,..., 2λ}, and so on. When T is exactly divisible by λ, n = T / λ. If T is not divisible by λ, then T n = {nλ - λ + 1, nλ - λ + 2,..., T}, and the number of time periods included in the last cycle T n will be less than λ.

[0073] Step S222, use the Gurobi solver to perform an initial allocation of the user tasks in each subset, and obtain the initial allocation decision for each user task in each time period within each subset.

[0074] For the allocation tasks of each sub - problem (i.e., subset, sub - cycle), the objective optimization function model M 1 can be used for expression and solved by the Gurobi solver in a relatively short time. Thus, the bandwidth allocation scheme for each time period can be quickly obtained as the initial solution of the heuristic algorithm.

[0075] Step S223, refer to Figure 3 as shown, merge the initial allocation decisions of each user task in each time period of all subsets to obtain the initial allocation decision for each user task in each time period within the billing cycle.

[0076] In a preferred embodiment, in step S2, the initial allocation of the user task set includes: dividing the billing cycle into n subsets, where the first n - 1 subsets each include λ time periods, and the nth subset includes time periods, λ is a positive integer, represents rounding up, and T represents the billing cycle;

[0077] Use the Gurobi solver to perform an initial allocation of the user tasks in each subset, and obtain the initial allocation decisions for each user task in each time period within each subset;

[0078] Merge the initial allocation decisions for each user task in each time period of all subsets to obtain the initial allocation decisions for each user task in each time period within the billing cycle.

[0079] In a preferred embodiment, in order to improve the solution speed and the ability to solve large-scale problems, step S41 in the iterative process of step S4 is specifically: construct an objective optimization function for the set of user tasks within the time window of this round of iteration, denoted as the objective optimization function model M2, and use the Gurobi solver to solve the objective optimization function model M2 to obtain the optimal allocation decisions for each user task in each time period within the time window. The objective optimization function (i.e., the objective optimization function model M2) aims to minimize the total billing bandwidth of the content delivery network within the time window.

[0080] In this embodiment, the iterative process of the rolling time window starts from the initial solution. Set the number of iterative rounds of rolling solution as α, 1 ≤ α ≤ N 0 , N 0 represents the maximum number of iterations. Each round of iteration solves the bandwidth allocation scheme for consecutive β time periods, that is, the time window size is β time periods, and regards the bandwidth usage of each server in the remaining time periods as parameters to obtain the optimal solution for the bandwidth allocation of the current time window from a global perspective. When the step size of the time window is equal to β time periods, the set of time periods solved in the first round can be expressed as P 1 ={1, 2,..., β}, and the set of time periods solved in the second round is P 2 ={β + 1, β + 2,..., 2β}. After completing the solution for all T time periods, the iteration should start again from time period 1. Therefore, for the set of time periods P α solved in the αth round, the recursive expression without loss of generality can be written as P α ={(βα - β + 1) mod T, (βα - β + 2) mod T,..., (βα) mod T}. mod represents the modulo operator. In the αth iteration, is a decision variable. The bandwidth allocation scheme for the time periods outside P α on the billing cycle has been obtained from the initialization process and is updated by the time window iteration of each round.

[0081] In this embodiment, at the α-th iteration, the objective optimization function (i.e., the objective optimization function model M2) of the user task set for all time periods within the time window is as follows:

[0082]

[0083] The optimization conditions of the objective optimization function at the α-th iteration include:

[0084] y j' ≥0

[0085]

[0086] Let the time period set within the time window for the α-th iteration be P α , and the total bandwidth of edge server j at time period t α within P α is:

[0087]

[0088] The total bandwidth of central server k at time period t α within P α is:

[0089]

[0090] The total bandwidth of source server s at time period t α within P α is:

[0091]

[0092] The bandwidth capacity constraint of server j' in the content delivery network is:

[0093]

[0094] where j' = j, k, s, c j' represents the unit bandwidth cost of server j'; y j' represents the billed bandwidth of server j'; represents the discount variable of server j' in the content delivery network within the billing cycle T. When , it means that the bandwidth of server j' at time period t in the billing cycle T is within the top 5% of the bandwidth peaks of all time periods within the measurement cycle. When , it means that the bandwidth of server j' at time period t in the billing cycle T is outside the top 5% of the bandwidth peaks of all time periods within the measurement cycle; t α represents the time period index of the time period set P α within the time window for the α-th iteration; T represents the billing cycle; Denotes the total bandwidth of server j' at time t in the billing cycle T; C j’ Denotes the bandwidth capacity of server j'; M denotes the large integer constant of the Big-M method; V denotes the set of servers in the content delivery network, V = V e ∪V c ∪V s , j' represents the server index, V e Denotes the set of edge servers, j represents the edge server index, V c Denotes the set of central servers, k represents the central server index, V s Denotes the set of source servers, s represents the source server index, E denotes the set of edges connecting servers in the content delivery network, (j, k) represents the edge connecting edge server j and central server k, (k, s) represents the edge connecting central server k and source server s; U t Denotes the set of user tasks at time t, Denotes the set of user tasks at time t α , i represents the index of the user task; x ij Denotes the decision variable in the assignment decision of user task i at time t that user task i is assigned to edge server j. When x ij = 1, it means that user task i is assigned to edge server j. When x ij = 0, it means that user task i is not assigned to edge server j; u i Denotes the bandwidth required for user task i; π ij Denotes the probability that the content requested by user task i is cached on edge server j; π ik Denotes the probability that the content requested by user task i is cached on central server k.

[0095] In the iterative solution process of this embodiment, by means of rolling time window and full-cycle modeling, all time periods are examined. Considering the coupling between time periods under 95 billing, a better cost optimization effect can be obtained. Moreover, by setting the size of the time window, the problem scale (including the number of decision variables and constraints) of each round of solution can be effectively controlled, so that the solution can be completed within a limited time, and the total solution time is controllable.

[0096] In a preferred embodiment, to further shorten the solution time of a single time window and shorten the solution time of the entire algorithm, algorithm acceleration is performed.

[0097] In the above objective optimization function model M2, a 0-1 variable is still assigned to each server in each time period To indicate whether the bandwidth usage of server j' at time t is at the 5% peak. For the set of time periods P α outside of α rounds of solution, The parameters regarded as determined in the target optimization function model M2, and their magnitude relationships are also obviously determined. In fact, for server j', to determine its traffic period at the 5% peak, there is no need to compare all time periods with each other. Since is a subset of , only the 5% peak in has the possibility of being the 5% peak of . Therefore, for the α-th round of solution, define the set of time periods corresponding to the 5% peak of α as set M α , and M α contains the peak time periods of servers in T\P j t ' . At this time, it is only necessary to examine whether the bandwidth usage of these time periods is the 5% peak of the entire time period T. β represents the number of time periods included in the time window. In this way, the range of Z is reduced from

[0098] Therefore, in the α-th round of iteration, the target optimization function (i.e., the target optimization function model M3) of the user task set for all time periods within the time window is:

[0099]

[0100] The optimization conditions of the target optimization function in the α-th round of iteration include:

[0101] y j' ≥0

[0102]

[0103] M α represents the set of time periods in the top 5% of the bandwidth peaks in the time periods outside the time window in the billing cycle during the α-th round of iteration; t1 represents the time period index of P α ∪M α ;

[0104] Let the set of time periods within the time window in the α-th round of iteration be P α , and the total bandwidth of edge server j at time period t α in P α is:

[0105]

[0106] The total bandwidth of central server k at time period t α in P α is:

[0107]

[0108] The source server s at P α During the time period t α The total bandwidth is:

[0109]

[0110] The bandwidth capacity constraint of server j' in the content delivery network is:

[0111]

[0112] where j' = j, k, s, c j' represents the unit bandwidth cost of server j'; y j' represents the billed bandwidth of server j'; represents the discount variable of server j' in the content delivery network during P α ∪M α When it means that the bandwidth of server j' at time period t1 in P α ∪M α is within the top 5% of the bandwidth peaks of all time periods in P α ∪M α When it means that the bandwidth of server j' at time period t1 in P α ∪M α is outside the top 5% of the bandwidth peaks of all time periods in P α ∪M α ; t α represents the time period index of the time period set P within the time window of the α-th iteration α ; T represents the billing cycle; represents the total bandwidth of server j' at time period t in the billing cycle T; C j' represents the bandwidth capacity of server j'; M represents the large integer constant of the Big-M method; V represents the set of servers in the content delivery network, V = V e ∪V c ∪V s where j' represents the server index, V e represents the set of edge servers, j represents the edge server index, V c represents the set of central servers, k represents the central server index, V s represents the set of source servers, s represents the source server index, E represents the set of edges connecting servers in the content delivery network, (j, k) represents the edge connecting edge server j and central server k, (k, s) represents the edge connecting central server k and source server s; U t represents the set of user tasks at time period t, Denote the time period \(t\). l The set of user tasks, where \(i\) represents the index of the user task; \(x\) ij represents the decision variable for allocating user task \(i\) to edge server \(j\) in the allocation decision of user task \(i\) in time period \(t\). When \(x\) ij = 1, it means that user task \(i\) is allocated to edge server \(j\). When \(x\) ij = 0, it means that user task \(i\) is not allocated to edge server \(j\); \(u\) i represents the bandwidth required for user task \(i\); \(\pi\) ij represents the probability that the content requested by user task \(i\) is cached on edge server \(j\); \(\pi\) ik represents the probability that the content requested by user task \(i\) is cached on central server \(k\).

[0113] The present invention also discloses a content transmission network bandwidth allocation device for implementing the above method for optimizing the bandwidth allocation of the content transmission network in an offline scenario. In a preferred embodiment, the device includes:

[0114] An acquisition module that acquires a set of user tasks, where the set of user tasks includes user tasks for all time periods within a billing cycle;

[0115] An initial allocation module that performs an initial allocation on the set of user tasks to obtain an initial allocation decision for each user task in each time period within the billing cycle. The allocation decision for each user task in each time period includes the decision variable for allocating the user task to each edge server;

[0116] An initialization module that sets a rolling time window on the billing cycle, initializes the starting position of the time window to align with the starting point of the billing cycle, and initializes the step size of the time window;

[0117] An iterative solution module that iteratively executes the following steps until the iterative stop condition is reached: Solve the target optimization function to obtain an optimized allocation decision for each user task in each time period within the time window. The target optimization function aims to minimize the total billing bandwidth of the content transmission network within the time window; Update the allocation decision of each user task in each time period within the time window to the optimized allocation decision; Roll the time window on the billing cycle according to the step size;

[0118] An output module that, when the iterative stop condition is reached, outputs the allocation decision for each user task in the billing cycle in the last iteration;

[0119] where the content transmission network includes an edge server layer, at least one central server layer, and a source server layer connected in sequence, and the edge servers are used to obtain user task requests.

[0120] In this embodiment, the acquisition module, the initial allocation module, the initialization module, the iterative solution module, and the output module respectively correspond to step S1, step S2, step S3, step S4, and step S5 of the above method for optimizing the bandwidth allocation of the content transmission network in an offline scenario, which will not be elaborated here.

[0121] The present invention also discloses a content transmission system, which includes a content transmission network. Referring to Figure 2 , the content transmission network includes an edge server layer, at least one central server layer, and a source server layer connected in sequence. The edge server is used to obtain user task requests; each user only establishes a connection with one edge server, each edge server only establishes a connection with one central server, and each central server only establishes a connection with one source server; the content transmission network transmits the user task set of the billing cycle according to the above method for optimizing the bandwidth allocation of the content transmission network in an offline scenario of the present invention.

[0122] The present invention also discloses a computer program product, including computer programs / instructions. When the computer programs / instructions are executed by a processor, the steps of the above method for optimizing the bandwidth allocation of the content transmission network in an offline scenario provided by the present invention are implemented. The computer program product should be understood as a software product that mainly realizes its solution through computer programs, such as a program product integrated in the cloud or a software library.

[0123] The present invention also discloses an electronic device. In one embodiment, the electronic device includes at least one processor; and a memory communicatively connected to the at least one processor; wherein, the memory stores a computer program executable by the at least one processor, and the computer program is executed by the at least one processor so that the at least one processor can execute the method for optimizing the bandwidth allocation of the content transmission network in an offline scenario provided by the present invention.

[0124] As Figure 5 shown, it is a schematic structural diagram of an electronic device for the method of optimizing the bandwidth allocation of the content transmission network in an offline scenario provided by an embodiment of the present invention. The electronic device may include a processor 10, a memory 11, a communication bus 12, and a communication interface 13, and may also include a computer program stored in the memory 11 and executable on the processor 10, such as a program for the method of optimizing the bandwidth allocation of the content transmission network in an offline scenario.

[0125] Among them, the processor 10 can be composed of an integrated circuit in some embodiments. For example, it can be composed of a single packaged integrated circuit, or can be composed of multiple packaged integrated circuits with the same or different functions, including the combination of one or more central processing units (CPUs), microprocessors, digital processing chips, graphics processors, and various control chips, etc. The processor 10 is the control core (Control Unit) of the electronic device, connecting various components of the entire electronic device through various interfaces and circuits. By running or executing programs or modules stored in the memory 11 (such as executing a method for optimizing the bandwidth allocation of the content transmission network in an offline scenario, etc.), and calling the data stored in the memory 11, it can execute various functions of the electronic device and process data.

[0126] The memory 11 includes at least one type of readable storage medium. The readable storage medium includes flash memory, mobile hard disks, multimedia cards, card-type memories (such as SD or DX memories, etc.), magnetic memories, magnetic disks, optical discs, etc. The memory 11 can be an internal storage unit of the electronic device in some embodiments. For example, the mobile hard disk of the electronic device. The memory 11 can also be an external storage device of the electronic device in other embodiments. For example, the plug-in mobile hard disk, smart media card (SMC), secure digital (SD) card, flash card, etc. equipped on the electronic device. Further, the memory 11 can also include both the internal storage unit and the external storage device of the electronic device. The memory 11 can not only be used to store application software installed on the electronic device and various types of data, such as the code of a method program for optimizing the bandwidth allocation of the content transmission network in an offline scenario, etc., but also be used to temporarily store the data that has been output or will be output.

[0127] The communication bus 12 can be a peripheral component interconnect (PCI) bus or an extended industry standard architecture (EISA) bus, etc. This bus can be divided into an address bus, a data bus, a control bus, etc. The bus is set to realize the connection and communication between the memory 11 and at least one processor 10, etc.

[0128] The communication interface 13 is used for communication between the above-mentioned electronic device and other devices, including a network interface and a user interface. Optionally, the network interface may include a wired interface and / or a wireless interface (such as a WI-FI interface, a Bluetooth interface, etc.), and is generally used to establish a communication connection between this electronic device and other electronic devices. The user interface may be a display, an input unit (such as a keyboard), and optionally, the user interface may also be a standard wired interface or a wireless interface. Optionally, in some embodiments, the display may be an LED display, a liquid crystal display, a touch liquid crystal display, and an OLED (Organic Light-Emitting Diode) toucher, etc. Among them, the display may also be appropriately referred to as a display screen or a display unit, and is used to display the information processed in the electronic device and to display a visual user interface.

[0129] Figure 5 Only the electronic device with components is shown. Those skilled in the art can understand that Figure 5 the shown structure does not constitute a limitation on the electronic device, and it may include fewer or more components than shown, or combine certain components, or have different component arrangements. For example, although not shown, the electronic device may further include a power source (such as a battery) for powering each component. Preferably, the power source may be logically connected to at least one processor 10 through a power management device, so as to implement functions such as charge management, discharge management, and power consumption management through the power management device. The power source may also include any components such as one or more DC or AC power sources, a recharge device, a power failure detection circuit, a power converter or an inverter, and a power status indicator. The electronic device may also include various sensors, a Bluetooth module, a Wi-Fi module, etc., which will not be elaborated here.

[0130] It should be understood that the embodiments are only for illustration purposes and are not limited by this structure in the scope of the patent application.

[0131] Furthermore, if the modules / units integrated in the electronic device 1 are implemented in the form of software functional units and sold or used as independent products, they can be stored in a computer-readable storage medium. The computer-readable storage medium may be volatile or non-volatile. For example, the computer-readable medium may include: any entity or device capable of carrying the computer program code, a recording medium, a USB flash drive, a mobile hard disk, a magnetic disk, an optical disk, a computer memory, a read-only memory (ROM, Read-Only Memory).

[0132] In the description of this specification, the descriptions referring to terms such as "one embodiment", "some embodiments", "example", "specific example", "one implementation manner", "one preferred implementation manner", or "some examples", etc., mean that the specific features, structures, materials, or characteristics described in connection with the embodiment or example are included in at least one embodiment or example of the present invention. In this specification, the schematic expressions of the above terms do not necessarily refer to the same embodiment or example. Moreover, the specific features, structures, materials, or characteristics described can be combined in a suitable manner in any one or more embodiments or examples.

[0133] Although the embodiments of the present invention have been shown and described, those of ordinary skill in the art can understand that various changes, modifications, substitutions, and variations can be made to these embodiments without departing from the principles and spirit of the present invention, and the scope of the present invention is defined by the claims and their equivalents.

Claims

1. A method for optimizing content transmission network bandwidth allocation in an offline scenario, characterized in that: The content transmission network comprises an edge server layer, at least one central server layer and a source server layer connected in sequence, wherein the edge server is used to obtain user task requests; The method comprises: Acquire a user task set, wherein the user task set includes user tasks for all time periods in a billing cycle; Initially allocating the user task set to obtain an initial allocation decision for each user task in each time period within a billing cycle, wherein the allocation decision for each user task in each time period includes a decision variable for allocating the user task to each edge server; wherein the initial allocation of the user task set includes: The billing cycle is divided into n subsets. The first n-1 subsets include λ time periods, and the nth subset includes time periods, λ is a positive integer, represents rounding up, and T represents the billing cycle; The Gurobi solver is used to initially allocate the user tasks of each subset, and the initial allocation decision of each user task in each time period in each subset is obtained; Merge the initial allocation decision of each user task in each time period of all subsets to obtain the initial allocation decision of each user task in each time period in the billing cycle; Set a rolling time window on the billing cycle, initialize the starting position of the time window to align with the starting point of the billing cycle, and initialize the step size of the time window; The following steps are iterated until the iteration stopping condition is reached: Solving the target optimization function to obtain an optimal allocation decision for each user task in each time period within the time window, wherein the target optimization function takes minimizing the total billable bandwidth of the content transmission network within the time window as an optimization goal; Update the allocation decision of the user tasks in each period within the time window to the optimized allocation decision; Roll the time window over the billing cycle according to the step size; When the iteration stop condition is reached, the allocation decision of each user task in the billing cycle in the last iteration is output.

2. The method for optimizing bandwidth allocation of a content transmission network in an offline scenario according to claim 1, characterized in that: The step size is a fixed value, and the fixed value is greater than or equal to 1.

3. The method for optimizing bandwidth allocation of a content transmission network in an offline scenario according to claim 1, characterized in that: In each iteration, a value is randomly selected as the step size of the next iteration, and the value is greater than or equal to 1.

4. The method for optimizing bandwidth allocation of a content transmission network in an offline scenario according to claim 1, 2 or 3, characterized in that: In the αth round of iteration, the objective optimization function is: min∑ j′∈V c j ′y j ′; Optimization conditions of the objective optimization function in the αth round of iteration include: y j′ ≥0 Suppose the time period set in the time window of the αth iteration is P α , edge server j is in P α Time period t α The total bandwidth is: The central server k is in P α Time period t α The total bandwidth is: The source server s is in P α Time period t α The total bandwidth is: The bandwidth capacity constraint of server j′ in the content delivery network is: Where j′=j,k,s,c j′ represents the unit bandwidth cost of server j′; y j′ represents the billable bandwidth of server j′; represents the discount variable of server j′ in the content delivery network within the billing period T. When , it means that the bandwidth of server j′ in time period t in billing cycle T is within the top 5% of the bandwidth peak of all time periods in the metering cycle. , it means that the bandwidth of server j′ in time period t in billing period T is outside the top 5% of the bandwidth peaks of all time periods in the metering period; t α Represents the time period set P in the time window of the αth iteration α The time period index; T represents the billing cycle; represents the total bandwidth of server j′ in time period t in billing cycle T; C j′ represents the bandwidth capacity of server j′; M represents the large integer constant of the Big-M method; V represents the server set of the content delivery network, V = V e ∪V c ∪V s , j′ represents the server index, V e represents the edge server set, j represents the edge server index, V c represents the central server set, k represents the central server index, V s represents the set of source servers, s represents the source server index, E represents the set of edges connecting servers in the content delivery network, (j, k) represents the edge connecting edge server j with central server k, and (k, s) represents the edge connecting central server k with source server s; U t represents the user task set in time period t, Indicates time period t α The user task set of i represents the index of the user task; x ij represents the decision variable of user task i being assigned to edge server j in the allocation decision of user task i in time period t. ij =1, indicating that user task i is assigned to edge server j. ij =0, it means that user task i is not assigned to edge server j; u i represents the bandwidth required by user task i; π ij represents the probability that the content requested by user task i is cached on edge server j; π ik represents the probability that the content requested by user task i is cached on the central server k.

5. The method for optimizing bandwidth allocation of a content transmission network in an offline scenario according to claim 1, 2 or 3, characterized in that: In the αth round of iteration, the objective optimization function is: min∑ j′∈V c j′ y j′ ; Optimization conditions of the objective optimization function in the αth round of iteration include: y j′ ≥0 M α In the αth iteration, the bandwidth peak value is in the top 5% of the bandwidth peak value of the time period other than the time window in the billing cycle; t1 represents P α ∪M α The time period index of Suppose the time period set in the time window of the αth iteration is P α , edge server j is in P α Time period t α The total bandwidth is: The central server k is in P α Time period t α The total bandwidth is: The source server s is in P α Time period t α The total bandwidth is: The bandwidth capacity constraint of server j′ in the content delivery network is: Where j′=j,k,s,c j′ represents the unit bandwidth cost of server j′; y j′ represents the billable bandwidth of server j′; Indicates that server j′ in the content delivery network is in P α ∪M α The discount variable within When P α ∪M α At time t1, the bandwidth of server j′ is located at P α ∪M α Within the first 5% of the bandwidth peak value of all time periods, when When P α ∪M α At time t1, the bandwidth of server j′ is located at P α ∪M α Except for the top 5% of bandwidth peaks in all time periods; α Represents the time period set P in the time window of the αth iteration α The time period index; T represents the billing cycle; represents the total bandwidth of server j′ in time period t in billing cycle T; C j′ represents the bandwidth capacity of server j′; M represents the large integer constant of the Big-M method; V represents the server set of the content delivery network, V = V e ∪V c ∪V s , j′ represents the server index, V e represents the edge server set, j represents the edge server index, V c represents the central server set, k represents the central server index, V s represents the set of source servers, s represents the source server index, E represents the set of edges connecting servers in the content delivery network, (j, k) represents the edge connecting edge server j with central server k, and (k, s) represents the edge connecting central server k with source server s; U t represents the user task set in time period t, Indicates time period t l The user task set of i represents the index of the user task; x ij represents the decision variable of user task i being assigned to edge server j in the allocation decision of user task i in time period t. ij =1, indicating that user task i is assigned to edge server j. ij =0, it means that user task i is not assigned to edge server j; u i represents the bandwidth required by user task i; π ij represents the probability that the content requested by user task i is cached on edge server j; π ik represents the probability that the content requested by user task i is cached on the central server k.

6. A content transmission network bandwidth allocation device, used to implement the method for optimizing content transmission network bandwidth allocation in an offline scenario according to any one of claims 1 to 5, characterized in that: include: An acquisition module is used to acquire a user task set, wherein the user task set includes user tasks for all time periods within a billing cycle; The initial allocation module performs initial allocation on the user task set, obtains the initial allocation decision of each user task in each time period within the billing cycle, and the allocation decision of each user task in each time period includes the decision variable of the user task being allocated to each edge server; wherein the initial allocation of the user task set includes: The billing cycle is divided into n subsets. The first n-1 subsets include λ time periods, and the nth subset includes time periods, λ is a positive integer, represents rounding up, and T represents the billing cycle; The Gurobi solver is used to initially allocate the user tasks of each subset, and the initial allocation decision of each user task in each time period in each subset is obtained; Merge the initial allocation decision of each user task in each time period of all subsets to obtain the initial allocation decision of each user task in each time period in the billing cycle; An initialization module sets a rolling time window on the billing cycle, initializes the starting position of the time window to align with the starting point of the billing cycle, and initializes the step size of the time window; The iterative solution module iteratively executes the following steps until the iteration stop condition is reached: Solving the target optimization function to obtain an optimal allocation decision for each user task in each time period within the time window, wherein the target optimization function takes minimizing the total billable bandwidth of the content transmission network within the time window as an optimization goal; Update the allocation decision of the user tasks in each period within the time window to the optimized allocation decision; Roll the time window over the billing cycle according to the step size; The output module outputs the allocation decision of each user task in the billing cycle in the last iteration when the iteration stop condition is reached; The content transmission network includes an edge server layer, at least one central server layer and a source server layer connected in sequence, and the edge server is used to obtain user task requests.

7. A computer program product comprising a computer program / instructions, characterized in that When the computer program / instructions are executed by a processor, the steps of the method according to any one of claims 1 to 5 are implemented.

8. An electronic device, characterized in that: The electronic device comprises: At least one processor; and a memory in communication with the at least one processor; wherein the memory stores a computer program executable by the at least one processor, and the computer program is executed by the at least one processor so that the at least one processor can execute the method for optimizing bandwidth allocation of a content delivery network in an offline scenario as described in any one of claims 1 to 5.

9. A content transmission system, characterized in that: comprising a content transmission network, the content transmission network comprising an edge server layer, at least one central server layer and a source server layer connected in sequence, the edge server being used to obtain user task requests; Each user only connects to one edge server, each edge server only connects to one central server, and each central server only connects to one origin server; The content delivery network transmits a user task set of a billing period according to the method for optimizing content delivery network bandwidth allocation in an offline scenario according to any one of claims 1 to 5.

Citation Information

Patent Citations

  • CDN node peak elimination processing method and device, electronic equipment and storage medium

    CN113839795A

  • Server load balancing method based on dual-objective optimization

    CN114528100A