File deployment method and content distribution network

By dynamically adjusting the file deployment volume by real-time statistics of the used bandwidth and origin deployment coefficient of cache nodes in the content delivery network, the problem of origin bandwidth fluctuations is solved, and network stability and service quality are improved.

CN118740932BActive Publication Date: 2026-03-17SHUXING TECH (BEIJING) CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-07-26
Publication Date
2026-03-17

AI Technical Summary

Technical Problem

Real-time file deployment in existing content delivery networks causes fluctuations in origin bandwidth, affecting stability and increasing bandwidth costs, especially significantly reducing service quality during peak periods.

Method used

By statistically analyzing the used bandwidth and origin deployment coefficient of cache nodes, the amount of file data to be deployed is determined, the origin bandwidth ratio is precisely controlled, and the file deployment amount is dynamically adjusted to avoid drastic fluctuations in cache nodes.

Benefits of technology

It improved the stability of the content delivery network, reduced bandwidth costs, enhanced service quality, and ensured the normal service performance of cache nodes.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN118740932B_ABST
    Figure CN118740932B_ABST
Patent Text Reader

Abstract

The embodiment of the present specification provides a file deployment method and a content distribution network, wherein the file deployment method is applied to a scheduling unit of the content distribution network, the content distribution network further comprises at least one cache node, and the method comprises the following steps: counting a used bandwidth of the at least one cache node at a current time; determining a to-be-deployed file data quantity based on the used bandwidth and a back-to-source deployment coefficient, wherein the back-to-source deployment coefficient represents a relationship between a total service bandwidth of the at least one cache node and a back-to-source bandwidth; and determining a target file reaching the to-be-deployed file data quantity from a plurality of files of the content distribution network, wherein the target file is used for deployment on the at least one cache node. The proportion of the back-to-source bandwidth is accurately controlled, the sharp fluctuation of the cache node is avoided, the stability of the content distribution network is improved, the bandwidth cost is reduced, and the service quality of the content distribution network is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This specification relates to the technical field of distributed networks, and in particular to a file deployment method and a content distribution network. Background Technology

[0002] With the development of distributed network technology, the Content Delivery Network (CDN) distributed network service architecture distributes content files to multiple server nodes for caching. When a client requests access to a content file, the CDN directs the client's request to the cache node, avoiding centralized access to the source node. This effectively controls the load balancing of the CDN, improves file access speed and availability, and enhances the reliability and security of the CDN.

[0003] Currently, in content delivery networks (CDNs), to ensure the cache hit rate of cache nodes, files in the content service network need to be deployed from the source nodes to the cache nodes in real time, achieving real-time deployment. The more frequently deployed files are deployed in real time, the better the cache hit rate of the cache nodes will be.

[0004] However, real-time deployment incurs backhaul bandwidth between source and cache nodes, potentially impacting the total service bandwidth of cache nodes in the content delivery network (CDN). This is especially true during peak service periods, causing significant fluctuations in cache node performance, reducing CDN stability, increasing bandwidth costs, and lowering service quality. Therefore, a highly stable, low-bandwidth-cost file deployment method is urgently needed. Summary of the Invention

[0005] In view of this, embodiments of this specification provide a file deployment method. One or more embodiments of this specification also relate to another file deployment method, a file deployment apparatus, another file deployment apparatus, a content delivery network, a computing device, a computer-readable storage medium, and a computer program product, to address the technical deficiencies existing in the prior art.

[0006] According to a first aspect of the embodiments of this specification, a file deployment method is provided, applied to a scheduling unit of a content delivery network, the content delivery network further including at least one cache node, the method comprising:

[0007] Calculate the bandwidth used by at least one cache node at the current moment;

[0008] Based on the used bandwidth and the origin deployment coefficient, the amount of file data to be deployed is determined. The origin deployment coefficient represents the relationship between the total service bandwidth of at least one cache node and the origin bandwidth.

[0009] From multiple files in the content delivery network, a target file is determined that reaches the amount of data to be deployed, wherein the target file is used to deploy on at least one cache node.

[0010] According to a second aspect of the embodiments of this specification, another file deployment method is provided, applied to a deployment unit of a content delivery network, the content delivery network further including a scheduling unit and at least one cache node, the method comprising:

[0011] The target file information sent by the scheduling unit is received. The target file is a file that has reached the data volume of the file to be deployed, which is determined from multiple files in the content delivery network. The data volume of the file to be deployed is determined based on the used bandwidth of at least one cache node at the current time and the back-to-origin deployment coefficient. The back-to-origin deployment coefficient represents the relationship between the total service bandwidth of at least one cache node and the back-to-origin bandwidth.

[0012] Based on file information, the target file is deployed on at least one cache node.

[0013] According to a third aspect of the embodiments of this specification, a file deployment apparatus is provided, applied to a scheduling unit of a content delivery network, the content delivery network further including at least one cache node, the apparatus comprising:

[0014] The statistics module is configured to count the bandwidth used by at least one cache node at the current time.

[0015] The data volume determination module is configured to determine the data volume of the file to be deployed based on the used bandwidth and the back-to-origin deployment coefficient, wherein the back-to-origin deployment coefficient represents the relationship between the total service bandwidth of at least one cache node and the back-to-origin bandwidth.

[0016] The file determination module is configured to determine a target file that reaches the amount of file data to be deployed from multiple files in the content delivery network, wherein the target file is used to deploy on at least one cache node.

[0017] According to a fourth aspect of the embodiments of this specification, another file deployment apparatus is provided, applied to a deployment unit of a content delivery network, the content delivery network further including a scheduling unit and at least one cache node, the apparatus comprising:

[0018] The receiving module is configured to receive file information of the target file sent by the scheduling unit. The target file is a file that has reached the data size of the file to be deployed, which is determined from multiple files in the content delivery network. The data size of the file to be deployed is determined based on the used bandwidth of at least one cache node at the current time and the back-to-origin deployment coefficient. The back-to-origin deployment coefficient represents the relationship between the total service bandwidth of at least one cache node and the back-to-origin bandwidth.

[0019] The deployment unit is configured to deploy the target file on at least one cache node based on file information.

[0020] According to a fifth aspect of the embodiments of this specification, a content delivery network is provided, including a scheduling unit, a deployment unit, and at least one cache node;

[0021] The scheduling unit is used to count the bandwidth used by at least one cache node at the current time, determine the amount of file data to be deployed based on the used bandwidth and the back-to-origin deployment coefficient, determine the target file that reaches the amount of file data to be deployed from multiple files in the content delivery network, and send the file information of the target file to the deployment unit. The back-to-origin deployment coefficient represents the relationship between the total service bandwidth of at least one cache node and the back-to-origin bandwidth.

[0022] The deployment unit is used to receive file information of the target file sent by the scheduling unit, and deploy the target file on at least one cache node based on the file information.

[0023] According to a sixth aspect of the embodiments of this specification, a computing device is provided, comprising:

[0024] Memory and processor;

[0025] The memory is used to store computer programs / instructions, and the processor is used to execute the computer programs / instructions, which, when executed by the processor, implement the steps of the above method.

[0026] According to a seventh aspect of the embodiments of this specification, a computer-readable storage medium is provided that stores a computer program / instructions that, when executed by a processor, implement the steps of the above-described method.

[0027] According to an eighth aspect of the embodiments of this specification, a computer program product is provided, including a computer program / instructions that, when executed by a processor, implement the steps of the above-described method.

[0028] This specification provides a file deployment method in one embodiment, applied to the scheduling unit of the entire content delivery network. It considers the relationship between the total service bandwidth and origin bandwidth of the overall cache nodes in the content delivery network, determines the origin deployment coefficient, and calculates the used bandwidth of the overall cache nodes in real time. Based on the used bandwidth and the origin deployment coefficient, it determines the amount of file data to be deployed in real time. From multiple files in the content delivery network, it identifies the target file that meets the required deployment data volume, completes the real-time deployment of the target file, precisely controls the origin bandwidth ratio, avoids drastic fluctuations in cache nodes, improves the stability of the content delivery network, reduces bandwidth costs, and enhances the service quality of the content delivery network. Attached Figure Description

[0029] Figure 1 This is a flowchart illustrating a file deployment method;

[0030] Figure 2 It is a structural diagram of a content delivery network;

[0031] Figure 3 This is a flowchart illustrating a file deployment method provided in one embodiment of this specification;

[0032] Figure 4 This is a flowchart illustrating a file deployment method provided in one embodiment of this specification;

[0033] Figure 5 This is a flowchart of another file deployment method provided in one embodiment of this specification;

[0034] Figure 6 This is a flowchart of another file deployment method provided in one embodiment of this specification;

[0035] Figure 7 This is a flowchart illustrating the processing procedure of a file deployment method for audio and video files, provided in one embodiment of this specification.

[0036] Figure 8 This is a schematic diagram of a file deployment device provided in one embodiment of this specification;

[0037] Figure 9 This is a schematic diagram of another file deployment device provided in one embodiment of this specification;

[0038] Figure 10 This is a schematic diagram of the structure of a content delivery network provided in one embodiment of this specification;

[0039] Figure 11 This is a structural block diagram of a computing device provided in one embodiment of this specification. Detailed Implementation

[0040] Many specific details are set forth in the following description to provide a full understanding of this specification. However, this specification can be implemented in many other ways than those described herein, and those skilled in the art can make similar extensions without departing from the spirit of this specification. Therefore, this specification is not limited to the specific implementations disclosed below.

[0041] The terminology used in one or more embodiments of the present invention is for the purpose of describing particular embodiments only and is not intended to limit the scope of the invention. The singular forms “a,” “the,” and “the” used in one or more embodiments of the invention are also intended to include the plural forms unless the context clearly indicates otherwise. It should also be understood that the term “and / or” used in one or more embodiments of the invention refers to and includes any or all possible combinations of one or more associated listed items.

[0042] It should be understood that although the terms first, second, etc., may be used to describe various information in one or more embodiments of the present invention, such information should not be limited to these terms. These terms are only used to distinguish information of the same type from one another. For example, first may also be referred to as second without departing from the scope of one or more embodiments of the present invention, and similarly, second may also be referred to as first. Depending on the context, the word "if" as used herein may be interpreted as "when," "when," or "in response to a determination."

[0043] Furthermore, it should be noted that the data involved in one or more embodiments of the present invention are all information and data authorized by the user or fully authorized by all parties, and the statistics, use and processing of the relevant data need to comply with the relevant laws, regulations and standards of the relevant countries and regions, and corresponding operation entry points are provided for users to choose to authorize or refuse.

[0044] First, the terms and concepts used in one or more embodiments of this specification will be explained.

[0045] Content Delivery Network (CDN): A distributed network service architecture that distributes content files to multiple server nodes for caching. When a client requests access to a content file, the CDN directs the client's request to a cache node, avoiding centralized access to the source node. A CDN can be simplified into three main modules: a scheduling unit, a cache node unit, and the client. The scheduling unit can be further subdivided by function into sub-units such as gateway, node management, scheduling node selection, popularity aggregation, deployment task generation, and file indexing.

[0046] Origin Request: When the content file requested by the client is not cached on the cache node, the cache node needs to request the content file from the origin node.

[0047] Real-time deployment: In a content delivery network, this is the process of deploying content files from the source node to the cache node in real time, so that the next time a client requests access, it can be retrieved directly from the cache node, improving response speed and efficiency.

[0048] Currently, in content delivery networks, to ensure the cache hit rate of cache nodes, the popularity aggregation subunit needs to collect and statistically analyze the popularity of files requested within a past popularity period (usually 1-10 minutes, with a typical value of 5 minutes) in real time (popularity = number of file misses). Files with high popularity in the content service network are then deployed from the source nodes to the cache nodes in real time, completing real-time deployment. The more popular files deployed in real time, the better it is for improving the cache hit rate of the cache nodes.

[0049] However, real-time deployment from the source node to the cache node generates back-to-origin bandwidth, which may affect the total service bandwidth of the cache nodes in the content delivery network. Especially during peak periods of external service, it can cause drastic fluctuations in the cache node bandwidth, reduce the stability of the content delivery network, increase bandwidth costs, and reduce the service quality of the content delivery network.

[0050] Figure 1 A flowchart illustrating a file deployment method is shown, such as... Figure 1 As shown:

[0051] start.

[0052] Based on a preset update frequency, the file popularity of multiple files in the content delivery network during the previous popularity period is calculated. Then, based on each file's popularity, the files are sorted to generate a file popularity list. For example, with a preset update frequency of once every 3 seconds, the number of times multiple files were not selected during the previous 5-minute popularity period is used as file popularity. The files are then sorted from highest to lowest popularity to generate a file popularity list.

[0053] Read the pre-set real-time deployment popularity threshold. For example, the popularity threshold is pre-set with a preset time frequency of half an hour.

[0054] Iterate through the file popularity list and compare the current file popularity with the preset real-time deployment popularity threshold.

[0055] Does the file's popularity exceed the popularity threshold?

[0056] If so, files whose popularity exceeds the popularity threshold are identified as target files, and the target files are deployed in real time on at least one cache node.

[0057] If not, end directly.

[0058] Check if the traversal of the file popularity list has ended.

[0059] If so, end the process immediately.

[0060] If not, return to the list of file popularity and compare the current file popularity with the preset real-time deployment popularity threshold.

[0061] However, the above method has the following problems:

[0062] 1. Within the preset update frequency period, the distribution of file misses for each file will fluctuate drastically, causing huge changes in file popularity. This is not linearly related to the total bandwidth of external services, resulting in drastic fluctuations in the amount of file data deployed in real time, which in turn leads to drastic fluctuations in the back-to-origin bandwidth.

[0063] 2. During specific periods (usually peak service times, but the exact time is uncertain), clients may halve the range size of their HTTPRange requests. This leads to a significant increase in the Queries Per Second (QPS) and the absolute number of file misses, ultimately resulting in a significant increase in the number of files triggering real-time deployment and a significant increase in origin-waiting bandwidth. In other words, external policy changes uncontrollable by the client can significantly impact the origin-waiting bandwidth and bandwidth costs of the content delivery network.

[0064] Figure 2 A structural diagram of a content delivery network is shown, such as Figure 2 As shown:

[0065] The content delivery network includes a scheduling unit, a source node, at least one cache node, and a client, wherein the at least one cache node includes cache node 1, cache node 2, ..., cache node N.

[0066] In view of the above problems, this specification provides a file deployment method, and also relates to another file deployment method, a file deployment device, another file deployment device, a content delivery network, a computing device, a computer-readable storage medium, and a computer program product, which will be described in detail in the following embodiments.

[0067] See Figure 3 , Figure 3 The flowchart illustrates a file deployment method according to an embodiment of this specification. The method is applied to a scheduling unit of a content delivery network (CDN), which further includes at least one cache node. The method comprises the following specific steps:

[0068] Step 302: Calculate the bandwidth used by at least one cache node at the current moment.

[0069] The scheduling unit is a core component of the content delivery network (CDN). It determines the target files that need to be deployed on cache nodes. Optionally, the scheduling unit also receives client access requests for content files and directs them to the corresponding cache nodes. Functionally, the scheduling unit is subdivided into sub-units such as gateway, node management, scheduling node selection, popularity aggregation, deployment task generation, and file indexing. For example, if a client from a specific region (IP address) requests access to a content file, the scheduling unit selects the nearest or most suitable cache node to respond to the request based on factors such as geographical location and network conditions. If the content file is not pre-deployed on the selected cache node, the scheduling unit will trigger a real-time deployment operation.

[0070] A cache node is a server node in a content delivery network (CDN) that caches content files. It caches frequently accessed content files and responds to client requests for those files, thus reducing direct access to the source node and preventing load imbalance caused by a large number of requests. For example, in a CDN, cache node 1, cache node 2... cache node N are located in different geographical locations. Each cache node caches frequently accessed content files. When a client requests access to a content file, the scheduling unit selects the cache node closest to the client to provide the file access service.

[0071] The used bandwidth of a cache node at the current moment is the amount of bandwidth that the cache node has already used to process data traffic at the current moment. The used bandwidth of a cache node at the current moment reflects the uplink network load of the cache node at the current moment, and directly affects the response time of the cache node.

[0072] The bandwidth used by at least one cache node at the current moment represents the total bandwidth used by all cache nodes in the content delivery network (CDN) to process data traffic at that moment. The bandwidth used by at least one cache node at the current moment reflects the uplink network load of the entire CDN at that moment, and directly affects the response time of the entire cache network and the data throughput of the entire CDN. For example, in a CDN with three cache nodes (Cache Node 1, Cache Node 2, and Cache Node 3), if at the current moment these three cache nodes are using bandwidths of 0.5Gbps, 0.75Gbps, and 1Gbps respectively, then the bandwidth used by at least one cache node at the current moment is 2.25Gbps.

[0073] The usage bandwidth of at least one cache node at the current moment can be determined by directly calculating the usage bandwidth of each cache node at the current moment, or by calculating the available bandwidth of each cache node at the current moment. No limitation is made here.

[0074] For example, in the content distribution network of a certain content social platform, there is a scheduling unit, 20 cache nodes, and source nodes storing popular audio and video files. The scheduling unit monitors the current bandwidth usage of the 20 cache nodes: 0.5Gbps, 0.7Gbps...1Gbps, and calculates the totalUpWidth of the total bandwidth usage of the 20 cache nodes at the current moment to be 15Gbps.

[0075] The system provides real-time statistics on the bandwidth used by all cache nodes at the current moment, which provides a data foundation for determining the amount of file data to be deployed in real time.

[0076] Step 304: Determine the amount of file data to be deployed based on the used bandwidth and the back-to-origin deployment coefficient, wherein the back-to-origin deployment coefficient represents the relationship between the total service bandwidth of at least one cache node and the back-to-origin bandwidth.

[0077] The origin-back deployment coefficient is a quantified coefficient that characterizes the relationship between the total service bandwidth of at least one cache node and the origin-back bandwidth. The origin-back deployment coefficient determines the ratio between the overall real-time deployment bandwidth and the overall total service bandwidth of the cache nodes at any given moment. It is used to control and constrain the dynamic adjustment of real-time deployment bandwidth usage in the content delivery network, ensuring that real-time deployment bandwidth does not excessively consume the total service bandwidth of the cache nodes, thereby avoiding impacting the normal service performance of the cache nodes. The origin-back deployment coefficient can be automatically adjusted based on factors such as time and geographical location (e.g., provincial operators). For example, if there are three cache nodes in the content delivery network, each with a service bandwidth of 5Gbps, and the total service bandwidth of the three cache nodes is 15Gbps, the theoretically allowed total origin-back bandwidth is 1.5Gbps. In this case, the origin-back deployment coefficient is set to 0.1 (i.e., 10%) to ensure that it does not affect the normal service of the cache nodes.

[0078] The amount of data to be deployed is the total amount of content files that can be deployed from the source node to at least one cache node at the current moment. This amount of data serves as a constraint on real-time deployment operations, ensuring that real-time deployment does not exceed the total bandwidth limit of the cache nodes. The amount of data to be deployed can be dynamically adjusted to adapt to the load on the cache nodes over different time periods. For example, setting the amount of data to be deployed to 250MB means that a total of 250MB of content files can be deployed at the current moment; once this limit is exceeded, real-time deployment will be restricted.

[0079] The total service bandwidth of a cache node is the total bandwidth that a single cache node uses to process data traffic. For example, a cache node with a total service bandwidth of 5Gbps means that the cache node can transmit a maximum of 5Gbps of data traffic simultaneously.

[0080] The total service bandwidth of at least one cache node is the total bandwidth used by all cache nodes in the content delivery network to process data traffic. For example, if the content delivery network includes three cache nodes, each with a total service bandwidth of 5Gbps, the total service bandwidth of the three cache nodes is 15Gbps, meaning that the total cache nodes of the content delivery network can transmit a maximum of 15Gbps of data traffic simultaneously.

[0081] The back-to-origin bandwidth of a cache node refers to the bandwidth used by a single cache node to process data traffic for deploying files from the source node to the cache node. The back-to-origin bandwidth of any cache node can be automatically adjusted based on factors such as time and geographical location (e.g., provincial carrier). For example, each cache node has a service bandwidth of 5Gbps, and the theoretically allowed total back-to-origin bandwidth for each cache node is 0.5Gbps, to ensure that it does not affect the normal service of each cache node.

[0082] The back-to-origin bandwidth of at least one cache node is the total bandwidth used by the entire content delivery network (CDN) cache nodes to process data traffic for deploying files from the source node to the cache node. The back-to-origin bandwidth of at least one cache node can be automatically adjusted based on factors such as time and geographical location (e.g., provincial carrier). For example, if there are three cache nodes in the CDN, each with a service bandwidth of 5Gbps, and the total service bandwidth of the three cache nodes is 15Gbps, then theoretically, the total allowed back-to-origin bandwidth on each cache node is 0.5Gbps, and theoretically, the total allowed back-to-origin bandwidth on all three cache nodes is 1.5Gbps, to ensure that it does not affect the normal service of the overall cache node.

[0083] Before determining the amount of file data to be deployed based on the used bandwidth and the back-to-origin deployment coefficient, the process also includes: reading the pre-determined back-to-origin deployment coefficient.

[0084] Based on the used bandwidth and the origin deployment coefficient, the amount of file data to be deployed is determined. One possible calculation formula is shown in Formula 1:

[0085] DeployTotalBytes=TotalUpWidth×DeployAlpha Formula 1

[0086] Among them, DeployTotalBytes represents the amount of file data to be deployed, TotalUpWidth represents the bandwidth used, and DeployAlpha represents the back-to-origin deployment coefficient.

[0087] It should be noted that Formula 1 does not restrict the method for determining the amount of data in the file to be deployed. Other calculation formulas for conventional transformations such as proportional changes, adding or removing constants, adding or removing variables, and function transformations are also within the scope of protection of this application. For example, proportional transformation is shown in Formula 2:

[0088] DeployTotalBytes=A× (TotalUpWidth×DeployAlpha) Formula 2

[0089] Where A is a constant.

[0090] For example, the transformation of constants by increasing or decreasing them is shown in Formula 3:

[0091] DeployTotalBytes=TotalUpWidth×DeployAlpha±B Formula 3

[0092] Where B is a constant.

[0093] For example, the transformation of adding or subtracting variables is shown in Formula 4:

[0094] DeployTotalBytes=TotalUpWidth×DeployAlpha±F(TotalUpWidth, DeployAlpha)

[0095] Formula 4

[0096] Where F(TotalUpWidth, DeployAlpha) represents the transformation of the used bandwidth and / or back-to-source deployment coefficients using a conventional function.

[0097] DeployTotalBytes=F(TotalUpWidth×DeployAlpha) Formula 5

[0098] Where F(TotalUpWidth×DeployAlpha) is a function transformation of the used bandwidth multiplied by the back-source deployment coefficient, such as a trigonometric function, exponential function, logarithmic function, power function, etc.

[0099] For example, the predetermined back-to-origin deployment coefficient DeployAlpha is read, and Formula 1 is used to determine the amount of file data to be deployed, DeployTotalBytes, as 1.5GB, based on the total upwidth of the 20 cache nodes at the current moment: 15Gbps and the back-to-origin deployment coefficient DeployAlpha: 0.1.

[0100] The relationship between the total service bandwidth of the overall cache nodes and the back-to-origin bandwidth in the content delivery network was considered, and the back-to-origin deployment coefficient was determined. The used bandwidth of the overall cache nodes at the current moment was statistically analyzed in real time. Based on the used bandwidth and the back-to-origin deployment coefficient, the amount of file data to be deployed was determined in real time, which provides constraints to support the subsequent precise control of the back-to-origin bandwidth ratio.

[0101] Step 306: From multiple files in the content delivery network, determine the target file that reaches the amount of data to be deployed, wherein the target file is used to deploy on at least one cache node.

[0102] Multiple files in a content delivery network (CDN) refer to multiple content files accessible to clients within the CDN. These files include, but are not limited to, various types of content such as text, images, audio, and video. Files can be static (e.g., web pages, images) or dynamically generated (e.g., streaming video). Files may already exist on some cache nodes or may only exist on the source node. For example, on a video sharing platform, all user-uploaded videos, images, and other media files constitute multiple content files in the CDN.

[0103] The target file is the content file that needs to be deployed in real time, and it needs to be deployed from the source node to at least one cache node. The target file can be a single content file or multiple content files; this is not limited here. The selection of the target file can be based on the file popularity (i.e., the number of file misses) among multiple files in the content delivery network. For example, the target file with the highest file popularity and reaching the required data size for deployment can be selected from multiple files in the content delivery network. The selection can also be based on the file size among multiple files in the content delivery network. For example, the target file with the largest file size and reaching the required data size for deployment can be selected from multiple files in the content delivery network. The selection can also be based on the file type among multiple files in the content delivery network. For example, the target file of a specific file type and reaching the required data size for deployment can be selected from multiple files in the content delivery network. Finally, the selection can be based on client user behavior prediction. For example, the target file reaching the required data size for deployment can be determined based on client user behavior prediction among multiple files in the content delivery network. The selection of target files can also be based on the geographical location information of the client and at least one cache node. For example, from multiple files in the content delivery network, the target file that meets the data volume of the file to be deployed can be determined based on the geographical location information of the client and at least one cache node in a specific region.

[0104] The target files that meet the data volume requirement for deployment can be determined in two ways: First, all four files can be selected at once. For example, four files can be selected at once, and once their data volume reaches the required size, these four files are selected as target files. Second, the target files can be selected cumulatively. For example, one file can be selected first, and if its data volume is less than the required size, then another file can be selected, and once the data volume of these two files reaches the required size, these two files are selected as target files.

[0105] For example, from 30,000 files in the content delivery network, 300 target files with the highest file popularity and reaching the data size of DeployTotalBytes (1.5GB) to be deployed are identified. The deployment unit triggers in real time to deploy the 300 target files from the source node to 20 cache nodes.

[0106] In the embodiments of this specification, the scheduling unit applied to the entire content delivery network considers the relationship between the total service bandwidth of the overall cache nodes and the back-to-origin bandwidth in the content delivery network, determines the back-to-origin deployment coefficient, and calculates the used bandwidth of the overall cache nodes at the current moment in real time. Based on the used bandwidth and the back-to-origin deployment coefficient, it determines the amount of file data to be deployed in real time, identifies the target file that reaches the amount of file data to be deployed from multiple files in the content delivery network, completes the real-time deployment of the target file, accurately controls the back-to-origin bandwidth ratio, avoids drastic fluctuations in cache nodes, improves the stability of the content delivery network, reduces bandwidth costs, and improves the service quality of the content delivery network.

[0107] In one optional embodiment of this specification, the following specific steps are included before step 306:

[0108] Get the file popularity of multiple files in a content delivery network;

[0109] Correspondingly, step 306 includes the following specific steps:

[0110] Based on the popularity of each file, the target file that meets the data volume to be deployed is determined from multiple files in the content delivery network.

[0111] File popularity is the number of times a file is requested but not accessed on the cache node, requiring a request to the origin node. File popularity reflects the probability of a file being requested; generally, higher popularity indicates a higher probability of future requests, and lower popularity indicates a lower probability. File popularity is a metric for measuring the number of requests for content files in a content delivery network (CDN), used to determine which files should be prioritized for deployment on cache nodes. File popularity is calculated by counting file misses, which can be collected by the popularity aggregation subunit. For example, in a 5-minute period, file A is requested 100 times, and 20 of those misses fail on the cache node, meaning file A has a popularity of 20 in that period. File B is requested 200 times in the same period, and 50 of those misses fail on the cache node, so file B has a popularity of 50. File B has a higher popularity than file A.

[0112] One possible way to obtain the file popularity of multiple files in a content delivery network is to count the number of file misses for each file in the network. The number of file misses can be actively uploaded by at least one cache node or actively collected by the popularity aggregation subunit; this is not limited here.

[0113] Based on the file popularity of each file, a target file that meets the data volume of the file to be deployed is determined from multiple files in the content delivery network. One possible approach is to determine the target file that meets the data volume of the file to be deployed from multiple files in the content delivery network, from high to low, based on the file popularity of each file.

[0114] For example, the number of times 30,000 files in the content delivery network are not deployed within a specific time period is counted to obtain the file popularity of the 30,000 files. Based on the file popularity of the 30,000 files, 300 target files that reach the data size of DeployTotalBytes (1.5GB) to be deployed are determined from high to low. The deployment unit triggers in real time to deploy the 300 target files from the source node to 20 cache nodes.

[0115] In the embodiments described in this specification, deploying frequently accessed files improves cache hit rate and reduces origin server requests. This also allows for the rational allocation of origin server bandwidth, avoiding bandwidth waste during peak periods. Deploying frequently accessed files on cache nodes shortens response time for access requests, provides faster content access speeds, and improves the service quality of the content delivery network.

[0116] In one optional embodiment of this specification, obtaining the file popularity of multiple files in a content delivery network according to a preset update frequency includes the following specific steps:

[0117] Based on a preset update frequency, the file popularity of multiple files in the content delivery network during the previous popularity cycle is statistically analyzed.

[0118] The default update frequency is the time interval for real-time deployment within the content delivery network. It is also a periodic time unit for the content delivery network to periodically check and update key metrics such as file popularity. For example, every 3 seconds.

[0119] The popularity period is a pre-defined statistical period for calculating the popularity of files. Within this period, the number of file misses for multiple files is counted to assess their popularity. The popularity period can be adjusted based on the specific application requirements. Shorter periods reflect changes in file popularity more quickly, making them suitable for handling sudden surges in popularity; while longer periods smooth out short-term fluctuations and reduce the impact of noise, making them suitable for scenarios requiring higher stability. For example, the popularity period can be set between 1 and 10 minutes, with a typical period of 5 minutes. This means the system counts file misses every 5 minutes and updates the file popularity of multiple files in the content delivery network accordingly.

[0120] Based on a preset update frequency, the file popularity of multiple files in the content delivery network during the previous popularity period can be calculated. One possible method is to calculate the number of times multiple files were not selected during the previous popularity period, based on a preset update frequency, to obtain the file popularity of multiple files.

[0121] Correspondingly, based on the used bandwidth and the origin deployment coefficient, the amount of file data to be deployed is determined. One possible approach is to determine the amount of file data to be deployed corresponding to the preset update frequency based on the used bandwidth and the origin deployment coefficient.

[0122] For example, according to a preset update frequency (once every 3 seconds), the number of times 30,000 files in the content delivery network were not hit in the previous popularity period (5 minutes) is counted to obtain the file popularity of the 30,000 files.

[0123] In the embodiments of this specification, by introducing a preset update frequency, the file popularity of multiple files in the content distribution network is periodically obtained. By setting an appropriate popularity period, the file popularity of multiple files in the content distribution network is periodically obtained, which to a certain extent smooths out short-term fluctuations in file popularity, reduces abnormal changes in file popularity caused by random factors, controls the back-to-origin bandwidth ratio in real time, stabilizes and accurately, avoids drastic real-time fluctuations in cache nodes, improves the stability of the content distribution network, reduces real-time bandwidth costs, and improves the service quality of the content distribution network.

[0124] In one optional embodiment of this specification, after obtaining the file popularity of multiple files in the content delivery network, the following specific steps are further included:

[0125] Based on the popularity of each file, multiple files are sorted to generate a file popularity list;

[0126] Based on the popularity of each file, target files that meet the data volume to be deployed are determined from multiple files in the content delivery network, including:

[0127] Based on the order of the file popularity list, the target file that meets the data volume to be deployed is determined from multiple files in the content delivery network.

[0128] The file popularity list is an ordered list generated by sorting multiple files in a content delivery network based on their file popularity. The files in the list are arranged from highest to lowest popularity. For example, in a content delivery network, there are four files: file A, file B, file C, and file D. In the previous popularity period (e.g., 5 minutes), the number of times these files were not selected were 100, 200, 50, and 150, respectively. Based on the file popularity of each file, the multiple files are sorted to generate the file popularity list as shown in Table 1.

[0129] file name Number of file misses File popularity Document B 200 200 File D 150 150 Document A 100 100 File C 50 50

[0130] Table 1

[0131] Based on the order of the file popularity list, the target file that meets the data volume to be deployed is determined from multiple files in the content delivery network. One possible approach is to determine the target file that meets the data volume to be deployed from multiple files in the content delivery network, from high to low, based on the order of the file popularity list.

[0132] For example, based on the file popularity of 30,000 files, the 30,000 files are sorted to generate a file popularity list L. Based on the order of the file popularity list L, 300 target files with a data volume of DeployTotalBytes (1.5GB) that meet the preset update frequency are determined from high to low. The deployment unit triggers in real time to deploy the 300 target files from the source node to 20 cache nodes.

[0133] In the embodiments described in this specification, multiple files are sorted based on their popularity, and a file popularity list is dynamically generated. By using the file popularity list, the proportion of back-to-origin bandwidth can be controlled in real time, flexibly and accurately, avoiding drastic real-time fluctuations in cache nodes, improving the stability of the content delivery network, reducing real-time bandwidth costs, and improving the service quality of the content delivery network.

[0134] In one optional embodiment of this specification, the following specific steps are included before step 304:

[0135] At preset time intervals, obtain the total service bandwidth and back-to-origin bandwidth of at least one cache node;

[0136] The origin deployment coefficient is determined based on the relationship between the total service bandwidth and the origin bandwidth.

[0137] The preset time interval is the period used in a content delivery network to control the proportion of back-to-origin bandwidth. The preset time interval can be set according to the needs of actual application scenarios to adapt to different network traffic patterns, especially the differences between peak and off-peak service periods. The preset time interval is used to automatically adjust the back-to-origin deployment coefficient according to different time periods to optimize the use of back-to-origin bandwidth. For example, during peak service periods, the back-to-origin deployment coefficient may be reduced to decrease back-to-origin bandwidth usage and avoid affecting the normal service performance of cache nodes; while during off-peak service periods, the back-to-origin deployment coefficient can be appropriately increased to utilize more bandwidth for real-time back-to-origin file deployment. For example, the back-to-origin deployment coefficient can be set to different values ​​with a half-hour granularity to distinguish between peak and off-peak service periods, facilitating the reduction of back-to-origin bandwidth during peak periods and the expansion of back-to-origin bandwidth during off-peak periods.

[0138] The origin deployment coefficient is determined based on the relationship between the total service bandwidth and the origin bandwidth. One possible approach is to determine the origin deployment coefficient based on the ratio between the total service bandwidth and the origin bandwidth.

[0139] For example, the total service bandwidth and back-to-origin bandwidth of 20 cache nodes are obtained at preset time intervals (half an hour), and the back-to-origin deployment coefficient DeployTotalBytes is determined based on the ratio between the total service bandwidth and the back-to-origin bandwidth.

[0140] In the embodiments described in this specification, the origin deployment coefficient is determined according to a preset time interval, which effectively distinguishes the real-time deployment requirements of different time intervals. This helps to maintain the stable operation of cache nodes, reduce the drastic fluctuations of cache nodes during peak external service periods, improve the stability of the content delivery network, reduce bandwidth costs, and improve the service quality of the content delivery network.

[0141] In one optional embodiment of this specification, step 306 includes the following specific steps:

[0142] From multiple files on the content delivery network, obtain the first file and determine the first file as the target file;

[0143] Identify whether the target file's data size meets the data size of the file to be deployed;

[0144] If not, obtain the second file from multiple files in the content delivery network, determine the second file as the target file, and return the step of identifying whether the file data size of the target file reaches the file data size to be deployed. If so, determine the target file that reaches the file data size to be deployed.

[0145] The first file is a content file selected during the process of determining the data size of the files to be deployed. It is used to check if its file size meets the requirements for deployment. The first file is selected from multiple files in the content delivery network (CDN), and the selection criteria can be file popularity, file size, file type, or other relevant factors. For example, if the data size of the files to be deployed is 1.5GB, and the most popular file is selected from 30,000 files in the CDN with a file size of 100MB, then this file is the first file. Since its file size does not meet the requirements for deployment, the data size of other files needs to be added.

[0146] The second file is selected from multiple files in the content delivery network if the first file fails to meet the required deployment size. The selection of the second file is similar to that of the first file, based on factors such as file popularity, file size, and file type. It is used to further accumulate the file data until the required deployment size is reached. For example, after the first file, if another file with high popularity and a size of 200MB is selected, this file becomes the second file. At this point, the combined file data of the first and second files is 300MB, which still does not reach the 1.5GB deployment size, so more files need to be added.

[0147] For example, from 30,000 files in the content delivery network, a first file is obtained and identified as the target file. The file data size of the first file is 1GB. It is identified that the file data size of the target file does not reach the deployment file data size DeployTotalBytes (1.5GB). From 29,999 files in the content delivery network, a second file is obtained. The file data size of the second file is 600MB and is identified as the target file. The step of returning to the step of identifying that the file data size of the target file reaches the deployment file data size is to determine the target file that reaches the deployment file data size.

[0148] In the embodiments described in this specification, the back-to-origin bandwidth is effectively controlled by the accumulation method, which avoids unnecessary file deployment, prevents sudden and drastic fluctuations in cache nodes, reduces the pressure on the source node, improves the stability of the content delivery network, reduces bandwidth costs, and improves the service quality of the content delivery network.

[0149] In one optional embodiment of this specification, the content delivery network further includes a deployment unit;

[0150] Correspondingly, after step 306, the following specific steps are also included:

[0151] The file information of the target file is sent to the deployment unit so that the deployment unit can deploy the target file on at least one cache node based on the file information.

[0152] The deployment unit is a core component of a content delivery network (CDN), used to deploy files from source nodes to cache nodes. It is a crucial step in content distribution, ensuring that cache nodes have the latest, most frequently accessed content files, thereby improving cache hit rates and reducing requests to the origin server.

[0153] The target file's file information includes metadata such as file ID, file size, and file path. This information is used by the deployment unit to retrieve the target file from the source node, determine the appropriate cache node for the target file, and deploy the target file on the cache node. For example, the target file's file information includes: File ID: The unique identifier of the file FILE12345; File size: The actual size of the file, 5MB; File path: The complete path of the file on the source node: / content / videos / FILE12345.mp4.

[0154] For example, the content distribution network of a content social platform also includes a deployment unit. Metadata information such as file IDs, file sizes, and file paths of 300 target files is sent to the deployment unit, so that the deployment unit can deploy the target files on 20 cache nodes based on the metadata information.

[0155] In the embodiments described in this specification, real-time deployment is triggered by sending the file information of the target file to the deployment unit, thus achieving precise and accurate real-time deployment.

[0156] Figure 4 A flowchart illustrating a file deployment method according to an embodiment of this specification is shown, such as... Figure 4 As shown:

[0157] start.

[0158] Based on a preset update frequency, the file popularity of multiple files in the content delivery network during the previous popularity period is calculated. Then, based on each file's popularity, the files are sorted to generate a file popularity list. For example, with a preset update frequency of once every 3 seconds, the number of times multiple files were not selected during the previous 5-minute popularity period is used as file popularity. The files are then sorted from highest to lowest popularity to generate a file popularity list.

[0159] Calculate the bandwidth used by at least one cache node at the current moment.

[0160] Read the pre-determined back-to-origin deployment coefficient. For example, the back-to-origin deployment coefficient is pre-determined with a preset time frequency of half an hour.

[0161] The amount of file data to be deployed is determined based on the used bandwidth and the origin deployment coefficient. For example, the amount of file data to be deployed is the maximum amount of file data that can be deployed in the sending cycle corresponding to the current preset update frequency.

[0162] The process iterates through the file popularity list, analyzing the file popularity of each file. From multiple files on the content delivery network, it identifies the target file that meets the required deployment data size. For example, the deployment data size can be used as a termination condition for iterating through the file popularity list.

[0163] The file information of the target file is sent to the deployment unit so that the deployment unit can deploy the target file on at least one cache node based on the file information.

[0164] Finish.

[0165] See Figure 5 , Figure 5 A flowchart of another file deployment method provided in one embodiment of this specification is shown. The method is applied to the deployment unit of a content delivery network, which also includes a scheduling unit and at least one cache node. The method includes the following specific steps:

[0166] Step 502: Receive the file information of the target file sent by the scheduling unit, wherein the target file is a file that has reached the data volume of the file to be deployed, which is determined from multiple files in the content delivery network. The data volume of the file to be deployed is determined based on the used bandwidth of at least one cache node at the current time and the back-to-origin deployment coefficient. The back-to-origin deployment coefficient represents the relationship between the total service bandwidth of at least one cache node and the back-to-origin bandwidth.

[0167] Step 504: Based on the file information, deploy the target file on at least one cache node.

[0168] Based on file information, the target file is deployed on at least one cache node. Alternatively, the target file can be deployed from the source node to at least one cache node based on file information.

[0169] For example, a content distribution network of a content social platform includes a deployment unit, a scheduling unit, 20 cache nodes, and source nodes storing popular audio and video files. The deployment unit receives metadata information such as file IDs, file sizes, and file paths of 300 target files sent by the scheduling unit, and deploys the 300 target files from the source nodes to the 20 cache nodes based on the metadata information.

[0170] The technical solutions in the embodiments of this specification are the same as those described above. Figure 3 The technical solutions of the embodiments described in this specification belong to the same concept. Details not described in detail in the embodiments of this specification can be found in the above description. Figure 3 The specification describes the technical solutions of the embodiments.

[0171] In the embodiments described in this specification, the relationship between the total service bandwidth and back-to-origin bandwidth of the entire cache nodes in the content delivery network is considered in advance on the scheduling unit of the entire content delivery network, and the back-to-origin deployment coefficient is determined. The used bandwidth of the entire cache nodes at the current moment is statistically analyzed in real time. Based on the used bandwidth and the back-to-origin deployment coefficient, the amount of file data to be deployed is determined in real time. From multiple files in the content delivery network, the target file that reaches the amount of file data to be deployed is determined. On the deployment unit of the content delivery network, the file information of the target file sent by the scheduling unit is received, and based on the file information, the real-time deployment of the target file is completed on at least one cache node. The back-to-origin bandwidth ratio is precisely controlled, avoiding drastic fluctuations in cache nodes, improving the stability of the content delivery network, reducing bandwidth costs, and improving the service quality of the content delivery network.

[0172] In one optional embodiment of this specification, the content delivery network further includes a source node;

[0173] Correspondingly, step 504 includes the following specific steps:

[0174] Based on file information, obtain the target file from the source node;

[0175] Deploy the target file to at least one cache node.

[0176] For example, based on the metadata information such as file ID, file size, and file path of 300 target files, 300 target files are obtained from the source node and deployed to 20 cache nodes.

[0177] In the embodiments described in this specification, the target file is obtained from the source node based on the file information of the target file and deployed on at least one cache node. This achieves centralized management of files on the source node and automatic deployment to each cache node, reducing the complexity of cache file management.

[0178] The technical solutions in the embodiments of this specification are the same as those described above. Figure 3 The technical solutions of the embodiments described in this specification belong to the same concept. Details not described in detail in the embodiments of this specification can be found in the above description. Figure 3 The specification describes the technical solutions of the embodiments.

[0179] Figure 6 This specification illustrates a flow timing diagram of another file deployment method provided in one embodiment, as shown below. Figure 6 As shown:

[0180] At the scheduling unit, the used bandwidth of at least one cache node at the current moment is counted.

[0181] At the scheduling unit, based on the used bandwidth and the origin deployment coefficient, the amount of file data to be deployed is determined, and the target file that reaches the amount of file data to be deployed is selected from multiple files in the content delivery network.

[0182] The scheduling unit sends the file information of the target file to the deployment unit.

[0183] In the deployment unit, the target file is deployed on at least one cache node based on the file information.

[0184] On the client side, an access request is sent to the cache node.

[0185] On the client side, the target file is received from the cache node.

[0186] The following is in conjunction with the appendix Figure 7 Taking the file deployment method provided in this manual as an example of its application to audio and video files, the above file deployment method will be further explained. Among other things, Figure 7This specification illustrates a flowchart of a file deployment method for audio and video files according to an embodiment of this specification. The method is applied to the scheduling unit of a content distribution network on a content social platform. The content distribution network further includes a deployment unit, source nodes storing audio and video files, and 100 cache nodes for caching audio and video files. The specific steps include:

[0187] Step 702: Obtain the total service bandwidth and back-to-origin bandwidth of 100 cache nodes at preset half-hour intervals.

[0188] Step 704: Based on the relationship between the total service bandwidth and back-to-origin bandwidth of 100 cache nodes, determine the back-to-origin deployment coefficient for each time interval.

[0189] Step 706: According to the preset update frequency of once every 3 seconds, calculate the file popularity of 80,000 audio and video files in the content delivery network in the previous 5-minute popularity cycle.

[0190] Step 708: Based on the file popularity of 80,000 audio and video files, sort the 80,000 audio and video files and generate a file popularity list.

[0191] Step 710: Calculate the bandwidth used by 100 cache nodes at the current moment.

[0192] Step 712: Read the back-to-source deployment coefficient of the current time interval.

[0193] Step 714: Based on the used bandwidth and the origin deployment coefficient, determine the amount of file data to be deployed for the period corresponding to the preset update frequency.

[0194] Step 716: Based on the order of the file popularity list, identify 400 target audio and video files from 80,000 audio and video files that meet the data volume to be deployed.

[0195] Step 718: Send the file information of 400 target audio and video files to the deployment unit so that the deployment unit can deploy 400 target audio and video files on 100 cache nodes based on the file information.

[0196] In the embodiments described in this specification, the origin-back bandwidth is linearly proportional to the total real-time external bandwidth of the cache nodes, while the origin-back deployment coefficient remains unchanged. This allows for precise control of the origin-back bandwidth ratio within the period corresponding to the preset update frequency. It effectively prevents uncontrollable external policy changes, such as halving the range of client HTTP Range requests, from significantly impacting origin-back bandwidth and costs. By ensuring the cache cleanup algorithm accurately cleans the least popular files, it minimizes the consumption of server node resources such as CPU, memory, and disk I / O, thereby reducing the impact on the performance of deployment and external service units. This effectively avoids drastic fluctuations in cache nodes, improves the stability of the content delivery network, reduces bandwidth costs, and enhances the service quality of the content delivery network.

[0197] Corresponding to the above method embodiments, this specification also provides embodiments of a file deployment device. Figure 8 A schematic diagram of a file deployment apparatus according to one embodiment of this specification is shown. Figure 8 As shown, this device is used in the scheduling unit of a content delivery network, which also includes at least one cache node. The device includes:

[0198] The statistics module 802 is configured to count the bandwidth used by at least one cache node at the current time.

[0199] The data volume determination module 804 is configured to determine the data volume of the file to be deployed based on the used bandwidth and the back-to-origin deployment coefficient, wherein the back-to-origin deployment coefficient represents the relationship between the total service bandwidth of at least one cache node and the back-to-origin bandwidth.

[0200] The file determination module 806 is configured to determine a target file that reaches the amount of file data to be deployed from multiple files in the content delivery network, wherein the target file is intended to be deployed on at least one cache node.

[0201] Optionally, the device further includes: a file popularity acquisition module, configured to acquire the file popularity of multiple files in the content delivery network;

[0202] Correspondingly, the file determination module 806 is further configured to: determine the target file that reaches the amount of file data to be deployed from multiple files in the content delivery network based on the file popularity of each file.

[0203] Optionally, the file popularity acquisition module is further configured to: count the file popularity of multiple files in the content delivery network in the previous popularity period according to a preset update frequency.

[0204] Optionally, the device further includes: a list generation module configured to sort multiple files based on their popularity and generate a file popularity list;

[0205] Correspondingly, the file determination module 806 is further configured to: determine the target file that reaches the amount of file data to be deployed from multiple files in the content delivery network based on the order of the file popularity list.

[0206] Optionally, the device further includes: a coefficient determination module, configured to acquire the total service bandwidth and back-to-origin bandwidth of at least one cache node at preset time intervals; and determine the back-to-origin deployment coefficient based on the relationship between the total service bandwidth and the back-to-origin bandwidth.

[0207] Optionally, the file determination module 806 is further configured to: obtain a first file from multiple files in the content delivery network and determine the first file as the target file; identify whether the file data volume of the target file reaches the file data volume to be deployed; if not, obtain a second file from multiple files in the content delivery network and determine the second file as the target file; return to the step of identifying whether the file data volume of the target file reaches the file data volume to be deployed; if so, determine the target file that reaches the file data volume to be deployed.

[0208] Optionally, the content delivery network may also include a deployment unit;

[0209] Correspondingly, the device also includes an information sending module configured to send file information of the target file to the deployment unit, so that the deployment unit can deploy the target file on at least one cache node based on the file information.

[0210] In the embodiments of this specification, the scheduling unit applied to the entire content delivery network considers the relationship between the total service bandwidth of the overall cache nodes and the back-to-origin bandwidth in the content delivery network, determines the back-to-origin deployment coefficient, and calculates the used bandwidth of the overall cache nodes at the current moment in real time. Based on the used bandwidth and the back-to-origin deployment coefficient, it determines the amount of file data to be deployed in real time, identifies the target file that reaches the amount of file data to be deployed from multiple files in the content delivery network, completes the real-time deployment of the target file, accurately controls the back-to-origin bandwidth ratio, avoids drastic fluctuations in cache nodes, improves the stability of the content delivery network, reduces bandwidth costs, and improves the service quality of the content delivery network.

[0211] The above is an illustrative scheme of a file deployment device according to this embodiment. It should be noted that the technical solution of this file deployment device and the technical solution of the above-described file deployment method belong to the same concept. For details not described in detail in the technical solution of the file deployment device, please refer to the description of the technical solution of the above-described file deployment method.

[0212] Corresponding to the above method embodiments, this specification also provides embodiments of a file deployment device. Figure 9A schematic diagram of another file deployment apparatus provided in one embodiment of this specification is shown. Figure 9 As shown, this device is used in the deployment unit of a content delivery network, which also includes a scheduling unit and at least one cache node. The device includes:

[0213] The receiving module 902 is configured to receive file information of the target file sent by the scheduling unit. The target file is a file that has reached the data volume of the file to be deployed, which is determined from multiple files in the content delivery network. The data volume of the file to be deployed is determined based on the used bandwidth of at least one cache node at the current time and the back-to-origin deployment coefficient. The back-to-origin deployment coefficient represents the relationship between the total service bandwidth of at least one cache node and the back-to-origin bandwidth.

[0214] Deployment module 904 is configured to deploy target files on at least one cache node based on file information.

[0215] Optionally, the content delivery network may also include source nodes;

[0216] Correspondingly, the deployment module 904 is further configured to: obtain the target file from the source node based on the file information; and deploy the target file to at least one cache node.

[0217] In the embodiments described in this specification, the relationship between the total service bandwidth and back-to-origin bandwidth of the entire cache nodes in the content delivery network is considered in advance on the scheduling unit of the entire content delivery network, and the back-to-origin deployment coefficient is determined. The used bandwidth of the entire cache nodes at the current moment is statistically analyzed in real time. Based on the used bandwidth and the back-to-origin deployment coefficient, the amount of file data to be deployed is determined in real time. From multiple files in the content delivery network, the target file that reaches the amount of file data to be deployed is determined. On the deployment unit of the content delivery network, the file information of the target file sent by the scheduling unit is received, and based on the file information, the real-time deployment of the target file is completed on at least one cache node. The back-to-origin bandwidth ratio is precisely controlled, avoiding drastic fluctuations in cache nodes, improving the stability of the content delivery network, reducing bandwidth costs, and improving the service quality of the content delivery network.

[0218] The above is an illustrative scheme of another file deployment device according to this embodiment. It should be noted that the technical solution of this file deployment device and the technical solution of the above-described file deployment method belong to the same concept. For details not described in detail in the technical solution of the file deployment device, please refer to the description of the technical solution of the above-described file deployment method.

[0219] Corresponding to the above method embodiments, this specification also provides content delivery network embodiments. Figure 10 A schematic diagram of the structure of a content delivery network according to one embodiment of this specification is shown. Figure 10As shown, the content delivery network includes a scheduling unit 1002, a deployment unit 1004, and at least one cache node 1006;

[0220] The scheduling unit 1002 is used to count the bandwidth used by at least one cache node 1006 at the current time, determine the amount of file data to be deployed based on the used bandwidth and the back-to-origin deployment coefficient, determine the target file that reaches the amount of file data to be deployed from multiple files in the content delivery network, and send the file information of the target file to the deployment unit 1004. The back-to-origin deployment coefficient represents the relationship between the total service bandwidth of at least one cache node 1006 and the back-to-origin bandwidth.

[0221] The deployment unit 1004 is used to receive the file information of the target file sent by the scheduling unit 1002, and deploy the target file on at least one cache node 1006 based on the file information.

[0222] In the embodiments described in this specification, the scheduling unit of the entire content delivery network (CDN) considers the relationship between the total service bandwidth of the overall cache nodes and the back-to-origin bandwidth, determines the back-to-origin deployment coefficient, and calculates the used bandwidth of the overall cache nodes at the current moment in real time. Based on the used bandwidth and the back-to-origin deployment coefficient, the amount of file data to be deployed is determined in real time. From multiple files in the CDN, a target file that reaches the amount of file data to be deployed is determined. In the deployment unit of the CDN, the file information of the target file sent by the scheduling unit is received, and based on the file information, the real-time deployment of the target file is completed on at least one cache node. This precisely controls the back-to-origin bandwidth ratio, avoids drastic fluctuations in cache nodes, improves the stability of the CDN, reduces bandwidth costs, and improves the service quality of the CDN.

[0223] The above is an illustrative scheme of a content delivery network according to this embodiment. It should be noted that the technical solution of this content delivery network and the technical solution of the file deployment method described above belong to the same concept. For details not described in detail in the technical solution of the content delivery network, please refer to the description of the technical solution of the file deployment method described above.

[0224] Figure 11 A structural block diagram of a computing device according to one embodiment of this specification is shown. The components of the computing device 1100 include, but are not limited to, a memory 1110 and a processor 1120. The processor 1120 is connected to the memory 1110 via a bus 1130, and a database 1150 is used to store data.

[0225] The computing device 1100 also includes an access device 1140, which enables the computing device 1100 to communicate via one or more networks 1160. Examples of these networks include Public Switched Telephone Network (PSTN), Local Area Network (LAN), Wide Area Network (WAN), Personal Area Network (PAN), or a combination of communication networks such as the Internet. The access device 1140 may include one or more of any type of wired or wireless network interface (e.g., Network Interface Controller (NIC)), such as an IEEE 802.11 Wireless Local Area Network (WLAN) interface, a Worldwide Interoperability for Microwave Access (Wi-MAX) interface, an Ethernet interface, a Universal Serial Bus (USB) interface, a cellular network interface, a Bluetooth interface, or a Near Field Communication (NFC) interface.

[0226] In one embodiment of this specification, the aforementioned components of the computing device 1100 and Figure 11 Other components, not shown, can also be connected to each other, for example, via a bus. It should be understood that... Figure 11 The block diagram of the computing device shown is for illustrative purposes only and is not intended to limit the scope of this specification. Those skilled in the art can add or replace other components as needed.

[0227] The computing device 1100 can be any type of stationary or mobile computing device, including mobile computers or mobile computing devices (e.g., tablet computers, personal digital assistants, laptop computers, notebook computers, netbooks, etc.), mobile phones (e.g., smartphones), wearable computing devices (e.g., smartwatches, smart glasses, etc.) or other types of mobile devices, or stationary computing devices such as desktop computers or personal computers (PCs). The computing device 1100 can also be a mobile or stationary server.

[0228] The processor 1120 is used to execute the following computer program / instructions, which, when executed by the processor, implement the steps of the above-described file deployment method.

[0229] The above is an illustrative scheme of a computing device according to this embodiment. It should be noted that the technical solution of this computing device and the technical solution of the file deployment method described above belong to the same concept. For details not described in detail in the technical solution of the computing device, please refer to the description of the technical solution of the file deployment method described above.

[0230] An embodiment of this specification also provides a computer-readable storage medium storing a computer program / instructions that, when executed by a processor, implement the steps of the above-described file deployment method.

[0231] The above is an illustrative scheme of a computer-readable storage medium according to this embodiment. It should be noted that the technical solution of this storage medium and the technical solution of the file deployment method described above belong to the same concept. For details not described in detail in the technical solution of the storage medium, please refer to the description of the technical solution of the file deployment method described above.

[0232] An embodiment of this specification also provides a computer program product, including a computer program / instructions that, when executed by a processor, implement the steps of the above-described file deployment method.

[0233] The above is an illustrative scheme of a computer program product according to this embodiment. It should be noted that the technical solution of this computer program product and the technical solution of the file deployment method described above belong to the same concept. For details not described in detail in the technical solution of the computer program product, please refer to the description of the technical solution of the file deployment method described above.

[0234] The foregoing has described specific embodiments of this specification. Other embodiments are within the scope of the appended claims. In some cases, the actions or steps recited in the claims may be performed in a different order than that shown in the embodiments and may still achieve the desired result. Furthermore, the processes depicted in the drawings do not necessarily require the specific or sequential order shown to achieve the desired result. In some embodiments, multitasking and parallel processing are possible or may be advantageous.

[0235] The computer instructions include computer program code, which may be in the form of source code, object code, executable file, or some intermediate form. The computer-readable medium may include: any entity or device capable of carrying the computer program code, recording media, USB flash drives, portable hard drives, magnetic disks, optical disks, computer memory, read-only memory (ROM), random access memory (RAM), electrical carrier signals, telecommunication signals, and software distribution media, etc. It should be noted that the content included in the computer-readable medium may be appropriately added or removed according to the requirements of patent practice. For example, in some regions, according to patent practice, computer-readable media may not include electrical carrier signals and telecommunication signals.

[0236] It should be noted that, for the sake of simplicity, the foregoing method embodiments are all described as a series of actions. However, those skilled in the art should understand that the embodiments in this specification are not limited to the described order of actions, because according to the embodiments in this specification, some steps can be performed in other orders or simultaneously. Furthermore, those skilled in the art should also understand that the embodiments described in this specification are all preferred embodiments, and the actions and modules involved are not necessarily essential to the embodiments in this specification.

[0237] In the above embodiments, the descriptions of each embodiment have different focuses. For parts not described in detail in a certain embodiment, please refer to the relevant descriptions of other embodiments.

[0238] The preferred embodiments disclosed above are merely illustrative of this specification. The optional embodiments do not exhaustively describe all details, nor do they limit the invention to the specific implementations described. Clearly, many modifications and variations can be made based on the embodiments described herein. These embodiments are selected and specifically described in this specification to better explain the principles and practical applications of the embodiments, thereby enabling those skilled in the art to better understand and utilize this specification. This specification is limited only by the claims and their full scope and equivalents.

Claims

1. A file deployment method characterized by, The application discloses a scheduling unit applied to a content distribution network, and the content distribution network further comprises at least one cache node, and the method comprises the following steps: statistically obtaining a used bandwidth of the at least one cache node at a current time; determining a to-be-deployed file data amount based on the used bandwidth and a back-to-source deployment coefficient, wherein the back-to-source deployment coefficient represents a proportional relationship between a total service bandwidth and a back-to-source bandwidth of the at least one cache node; determining a target file reaching the to-be-deployed file data amount from a plurality of files of the content distribution network, comprising the following steps: obtaining a first file from the plurality of files of the content distribution network and determining the first file as the target file; identifying whether a file data amount of the target file reaches the to-be-deployed file data amount; if not, obtaining a second file from the plurality of files of the content distribution network and determining the second file as the target file, returning to the step of identifying whether the file data amount of the target file reaches the to-be-deployed file data amount, and if yes, determining the target file reaching the to-be-deployed file data amount, wherein the target file is used for being deployed on the at least one cache node.

2. The method of claim 1, wherein, Before the step of determining the target file reaching the to-be-deployed file data amount from the plurality of files of the content distribution network, the method further comprises the following steps: obtaining file hotness of a plurality of files in the content distribution network; the step of determining the target file reaching the to-be-deployed file data amount from the plurality of files of the content distribution network comprises the following step: determining the target file reaching the to-be-deployed file data amount from the plurality of files of the content distribution network based on the file hotness of each file.

3. The method of claim 2, wherein, the step of obtaining the file hotness of the plurality of files in the content distribution network comprises the following step: statistically obtaining the file hotness of the plurality of files in the content distribution network within a last hotness period according to a preset update frequency.

4. The method of claim 2, wherein, After the step of obtaining the file hotness of the plurality of files in the content distribution network, the method further comprises the following steps: sorting the plurality of files based on the file hotness of each file to generate a file hotness list; the step of determining the target file reaching the to-be-deployed file data amount from the plurality of files of the content distribution network based on the file hotness of each file comprises the following step: determining the target file reaching the to-be-deployed file data amount from the plurality of files of the content distribution network based on an order of the file hotness list.

5. The method according to any one of claims 1 to 4, characterized in that, Before the step of determining the to-be-deployed file data amount based on the used bandwidth and the back-to-source deployment coefficient, the method further comprises the following steps: obtaining a total service bandwidth and a back-to-source bandwidth of the at least one cache node according to a preset time interval; determining the back-to-source deployment coefficient based on a relationship between the total service bandwidth and the back-to-source bandwidth.

6. The method according to any one of claims 1 to 4, characterized in that, The content distribution network further comprises a deployment unit; After the step of determining the target file reaching the to-be-deployed file data amount from the plurality of files of the content distribution network, the method further comprises the following steps: sending file information of the target file to the deployment unit, so that the deployment unit deploys the target file on the at least one cache node based on the file information.

7. The method of claim 1, wherein, Before determining the to-be-deployed file data amount based on the used bandwidth and the back-to-source deployment coefficient, the method further includes: reading a predetermined back-to-source deployment coefficient, wherein the back-to-source deployment coefficient is determined according to at least one of time and geographical position.

8. A file deployment method characterized by, The method is applied to a deployment unit of a content distribution network, and the content distribution network further includes a scheduling unit and at least one cache node, and the method includes: receiving file information of a target file sent by the scheduling unit, wherein the target file is a file reaching a to-be-deployed file data amount determined from a plurality of files of the content distribution network, the to-be-deployed file data amount is determined based on a used bandwidth of the at least one cache node at a current time and a back-to-source deployment coefficient, the back-to-source deployment coefficient represents a proportional relationship between a total service bandwidth and a back-to-source bandwidth of the at least one cache node, and the target file is determined in the following manner: a first file is obtained from the plurality of files of the content distribution network, and the first file is determined as the target file; it is identified whether a file data amount of the target file reaches the to-be-deployed file data amount; if not, a second file is obtained from the plurality of files of the content distribution network, and the second file is determined as the target file, and the step of identifying whether the file data amount of the target file reaches the to-be-deployed file data amount is returned; and if yes, the target file reaching the to-be-deployed file data amount is determined; deploying the target file on the at least one cache node based on the file information.

9. The method of claim 8, wherein, The content distribution network further includes a source node; The deploying the target file on the at least one cache node based on the file information includes: obtaining the target file from the source node based on the file information; deploying the target file to the at least one cache node.

10. A content distribution network, characterized by, The content distribution network includes a scheduling unit, a deployment unit and at least one cache node; The scheduling unit is configured to: count a used bandwidth of the at least one cache node at a current time, determine a to-be-deployed file data amount based on the used bandwidth and a back-to-source deployment coefficient, determine a target file reaching the to-be-deployed file data amount from a plurality of files of the content distribution network, and send file information of the target file to the deployment unit, wherein the back-to-source deployment coefficient represents a proportional relationship between a total service bandwidth and a back-to-source bandwidth of the at least one cache node, and the determining the target file reaching the to-be-deployed file data amount from the plurality of files of the content distribution network includes: obtaining a first file from the plurality of files of the content distribution network, and determining the first file as the target file; identifying whether a file data amount of the target file reaches the to-be-deployed file data amount; if not, obtaining a second file from the plurality of files of the content distribution network, and determining the second file as the target file, returning the step of identifying whether the file data amount of the target file reaches the to-be-deployed file data amount; and if yes, determining the target file reaching the to-be-deployed file data amount. The deployment unit is configured to receive file information of a target file sent by the scheduling unit, and deploy the target file on the at least one cache node based on the file information.

Citation Information

Patent Citations

  • Resource pre-distribution method and device

    CN111064997A

  • Video stream scheduling method, device and equipment and computer readable storage medium

    CN115883872A