Content distribution network scheduling method, device, equipment, medium and program product

By constructing the current traffic map and adjusting to minimize global hit rate loss, the problem of low global hit rate of CDN scheduling is solved, and adaptive matching of bandwidth to disk and optimized traffic allocation is achieved.

CN119276945BActive Publication Date: 2025-03-28BEIJING VOLCANO ENGINE TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202411793343.8
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-12-06
Publication Date
2025-03-28
Estimated Expiration
2044-12-06

AI Technical Summary

Technical Problem

The global hit rate of content distribution network (CDN) scheduling is low, mainly because existing algorithms rely on local information and are difficult to adapt to large-scale business and complex resource environments.

Method used

By obtaining the service request traffic and resource capacity information of the scheduling domain and resource nodes, a current traffic map is constructed, the global hit rate loss is determined, and the traffic map is adjusted with the minimization loss as the goal to achieve the target traffic map.

Benefits of technology

The global hit rate of the content distribution network is improved, and through the adaptive matching of bandwidth with disks, centralized convergence of the same type of traffic and separation of different types of traffic is achieved.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119276945B_ABST
    Figure CN119276945B_ABST
Patent Text Reader

Abstract

The present disclosure relates to the field of computer technology, and discloses a content distribution network scheduling method, device, equipment, medium and program product, the method comprising: obtaining the service request flow of the scheduling domain in the content distribution network, the resource capacity of the resource node, and the disk space allocated to each scheduling domain by each resource node; constructing a current flow graph based on the service request flow and the resource capacity, the current flow graph is used to characterize the current flow allocation amount allocated to the resource node by the scheduling domain; determining the global hit rate loss based on the current flow allocation amount and the disk space, the global hit rate loss is positively correlated with the current flow allocation amount, and the global hit rate loss is negatively correlated with the disk space; adjusting the current flow graph with the minimum global hit rate loss to determine the target flow graph; scheduling the content distribution network based on the target flow graph. The present disclosure can solve the problem of low global hit rate of content distribution network scheduling, so as to improve the service quality of the content distribution network.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to the field of computer technology, and in particular to a content distribution network scheduling method, device, equipment, medium and program product. Background Art

[0002] As a key network infrastructure, the Content Delivery Network (CDN) scheduling system aims to effectively allocate resources in the content delivery network to users in various regions to improve network performance and user experience. At present, Domain Name System (DNS) scheduling is the main method of content delivery network scheduling. DNS scheduling usually uses approximate algorithms to find a feasible solution within a reasonable time complexity to schedule the content delivery network. However, since these algorithms themselves rely on local information for solution, they are difficult to adapt to large-scale business and complex resource environments, resulting in a low global hit rate of content delivery network scheduling. Summary of the invention

[0003] In view of this, the present disclosure provides a content distribution network scheduling method, apparatus, device, medium and program product to solve the problem of low global hit rate of content distribution network scheduling.

[0004] In a first aspect, the present disclosure provides a content distribution network scheduling method, the method comprising:

[0005] Acquire scheduling domain information and resource node information of a content distribution network, wherein the scheduling domain information includes the service request flow of each scheduling domain, and the resource node information includes the resource capacity of each resource node and the disk space allocated to each scheduling domain;

[0006] Based on the service request traffic and the resource capacity, construct a current traffic graph, wherein the current traffic graph is used to characterize the connection status of each scheduling domain and each resource node, and the current traffic allocation amount allocated by each scheduling domain to each resource node;

[0007] Determine a global hit rate loss based on the current traffic allocation and the corresponding disk space, wherein the global hit rate loss is positively correlated with the current traffic allocation and negatively correlated with the disk space;

[0008] The current flow graph is adjusted to determine a target flow graph with the global hit rate loss being minimized;

[0009] The content distribution network is scheduled based on the target traffic map.

[0010] In a second aspect, the present disclosure provides a content distribution network scheduling device, the device comprising:

[0011] A data acquisition module, used to acquire the scheduling domain information and resource node information of the content distribution network, wherein the scheduling domain information includes the service request flow of each scheduling domain, and the resource node information includes the resource capacity of each resource node and the disk space allocated to each scheduling domain;

[0012] A first operation module, configured to construct a current flow graph based on the service request flow and the resource capacity, wherein the current flow graph is used to characterize the connection status between each of the scheduling domains and each of the resource nodes, and the current flow allocation amount allocated by each of the scheduling domains to each of the resource nodes;

[0013] A second operation module, used for determining a global hit rate loss based on the current traffic allocation amount and the corresponding disk space, wherein the global hit rate loss is positively correlated with the current traffic allocation amount and negatively correlated with the disk space;

[0014] A third operation module is used to adjust the current flow graph to determine a target flow graph with the global hit rate loss being minimized;

[0015] A network scheduling module is used to schedule the content distribution network based on the target traffic graph.

[0016] In a third aspect, the present disclosure provides an electronic device, comprising: a memory and a processor, the memory and the processor are communicatively connected to each other, the memory stores computer instructions, and the processor executes the content distribution network scheduling method of the first aspect or any corresponding embodiment thereof by executing the computer instructions.

[0017] In a fourth aspect, the present disclosure provides a computer-readable storage medium having computer instructions stored thereon, the computer instructions being used to enable a computer to execute the content distribution network scheduling method of the first aspect or any corresponding embodiment thereof.

[0018] In a fifth aspect, the present disclosure provides a computer program product, including computer instructions, where the computer instructions are used to enable a computer to execute the content distribution network scheduling method of the first aspect or any corresponding implementation manner thereof.

[0019] The content distribution network scheduling method provided by the embodiment of the present disclosure constructs a current traffic graph based on the service request traffic of each scheduling domain and the resource capacity of each resource node. Therefore, the current traffic allocation amount allocated to each resource node by each scheduling domain can be characterized by the connection status of each scheduling domain and each resource node in the current traffic graph. Therefore, the problem of solving the traffic allocation amount can be transformed into the connection problem of the scheduling domain and the resource node in combination with the characteristics of the domain name system, so as to reduce the difficulty of solving the traffic allocation amount. Then, based on the current traffic allocation amount represented by the current traffic graph and the corresponding disk space, the global hit rate loss is determined; wherein, the global hit rate loss is positively correlated with the current traffic allocation amount, and the global hit rate loss is negatively correlated with the disk space. And the current traffic graph is adjusted with the minimum global hit rate loss as the optimization goal to determine the target traffic graph. Therefore, it is possible to achieve adaptive matching of bandwidth and disk, so that the same type of traffic converges and different types of traffic are separated from each other, thereby improving the global hit rate. Then, the content distribution network is scheduled based on the target traffic graph to improve the service quality of the content distribution network. BRIEF DESCRIPTION OF THE DRAWINGS

[0020] In order to more clearly illustrate the specific embodiments of the present disclosure or the technical solutions in the prior art, the drawings required for use in the specific embodiments or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are some embodiments of the present disclosure. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative work.

[0021] Figure 1 is a flow chart of a first content distribution network scheduling method according to an embodiment of the present disclosure;

[0022] Figure 2 is a flow chart of a second content distribution network scheduling method according to an embodiment of the present disclosure;

[0023] Figure 3 is a schematic diagram of a flow diagram according to an embodiment of the present disclosure;

[0024] Figure 4 is a flow chart of a third content distribution network scheduling method according to an embodiment of the present disclosure;

[0025] Figure 5 is a schematic diagram of another flow diagram according to an embodiment of the present disclosure;

[0026] Figure 6 is a flowchart of a fourth content distribution network scheduling method according to an embodiment of the present disclosure;

[0027] Figure 7is a flowchart of a fifth content distribution network scheduling method according to an embodiment of the present disclosure;

[0028] Figure 8 is a structural block diagram of a content distribution network scheduling device according to an embodiment of the present disclosure;

[0029] Fig. 9 is a structural block diagram of an electronic device according to an embodiment of the present disclosure. DETAILED DESCRIPTION

[0030] In order to make the purpose, technical solution and advantages of the embodiments of the present disclosure clearer, the technical solution in the embodiments of the present disclosure will be clearly and completely described below in conjunction with the drawings in the embodiments of the present disclosure. Obviously, the described embodiments are part of the embodiments of the present disclosure, rather than all the embodiments. Based on the embodiments in the present disclosure, all other embodiments obtained by those skilled in the art without creative work are within the scope of protection of the present disclosure.

[0031] It is understandable that before using the technical solutions disclosed in the embodiments of the present disclosure, the types, scope of use, usage scenarios, etc. of the personal information involved in the present disclosure should be informed to the user and the user's authorization should be obtained in an appropriate manner in accordance with relevant laws and regulations.

[0032] For example, in response to receiving an active request from a user, a prompt message is sent to the user to clearly prompt the user that the operation requested to be performed will require obtaining and using the user's personal information. Thus, the user can autonomously choose whether to provide personal information to software or hardware such as an electronic device, application, server, or storage medium that performs the operation of the technical solution of the present disclosure according to the prompt message.

[0033] As an optional but non-limiting implementation, in response to receiving an active request from the user, the prompt information may be sent to the user in the form of a pop-up window, in which the prompt information may be presented in text form. In addition, the pop-up window may also carry a selection control for the user to choose "agree" or "disagree" to provide personal information to the electronic device.

[0034] It is understandable that the above notification and the process of obtaining user authorization are merely illustrative and do not constitute a limitation on the implementation of the present disclosure. Other methods that meet the relevant laws and regulations may also be applied to the implementation of the present disclosure.

[0035] It is understandable that the data involved in this technical solution (including but not limited to the data itself, the acquisition or use of the data) shall comply with the requirements of relevant laws, regulations and relevant provisions.

[0036] As a key network infrastructure, the Content Delivery Network (CDN) scheduling system aims to effectively allocate resources in the content delivery network to users in various regions to improve network performance and user experience. At present, CDN scheduling is mainly accessed through the Domain Name System (DNS), 302 redirect, and the domain name resolution method (HTTPDNS) that uses the Hypertext Transfer Protocol to request the DNS server. Among them, DNS has become the most important content delivery network scheduling method due to its universality. The domain name system realizes the proportional distribution of traffic by returning different numbers of Internet Protocols (IPs). Specifically, the domain name system scheduling uses approximate algorithms such as the Next Fit (NF), the First Fit (FF), the First Fit Decreasing (FFD), and the Worst Fit (BF) to find a feasible solution within a reasonable time complexity to schedule the content delivery network. However, since these algorithms themselves rely on local information for solution, it is difficult to take into account both resource capacity and business hit rate issues in large-scale business and complex resource environments, resulting in a low global hit rate of content distribution network scheduling.

[0037] In view of this, according to an embodiment of the present disclosure, a content distribution network scheduling method embodiment is provided. It should be noted that the steps shown in the flowchart of the accompanying drawings can be executed in a computer system such as a set of computer executable instructions, and although a logical order is shown in the flowchart, in some cases, the steps shown or described can be executed in an order different from that shown here.

[0038] In this embodiment, a content distribution network scheduling method is provided, which can be used in the scheduling system of the above-mentioned content distribution network (such as a domain name system). Figure 1 is a flow chart of a first content distribution network scheduling method according to an embodiment of the present disclosure, such as Figure 1 As shown, the process includes the following steps:

[0039] Step S101, obtaining scheduling domain information and resource node information of a content distribution network, wherein the scheduling domain information includes the service request flow of each scheduling domain, and the resource node information includes the resource capacity of each resource node and the disk space allocated to each scheduling domain.

[0040] Specifically, the scheduling domain is a traffic set of lines in the target area in the content distribution network, and the service request traffic of each scheduling domain is usually expressed by bandwidth. In addition, the scheduling domain information also includes the location information of each scheduling domain. Among them, the location information of the scheduling domain is used to determine the area where the scheduling domain is located.

[0041] Specifically, the resource node includes at least one of an edge node cluster, a computer room, and a machine in a content distribution network. The resource capacity of the resource node is determined based on at least one of the cost capacity and the security capacity of the resource node. For example, the cost capacity of the resource node is used as the resource capacity. Or, the security capacity of the resource node is used as the resource capacity. Or, the resource capacity of the resource node is determined in combination with the cost capacity and the security capacity. Among them, the cost capacity is used to characterize the maximum cost range borne by the resource node, such as construction cost, operation and maintenance cost, etc. The security capacity is used to characterize the ability of the resource node to ensure data security, business continuity and system stability.

[0042] Specifically, each resource node can allocate the disk space of each scheduling domain on the current resource node according to the service customization ratio, or each resource node evenly allocates the disk space of each scheduling domain on the current resource node according to the service request traffic of each scheduling domain. In addition, the resource node information also includes the location information of each resource node. Among them, the location information of the resource node is used to determine the network address (such as IP address) of the resource node.

[0043] Step S102, based on the service request traffic and resource capacity, construct a current traffic graph, which is used to characterize the connection status between each scheduling domain and each resource node, and the current traffic allocation amount allocated by each scheduling domain to each resource node.

[0044] Specifically, each scheduling domain can be divided into a plurality of scheduling nodes with a hierarchical affiliation according to business needs. Alternatively, each scheduling domain can be divided into a plurality of scheduling nodes with a hierarchical affiliation according to a preset number of divisions. Alternatively, each scheduling domain can be divided into a plurality of scheduling nodes with a hierarchical affiliation according to the location information of the scheduling domain and the preset number of divisions. For example, the traffic belonging to different areas is divided into first-level scheduling nodes according to the location information of the scheduling domain, and then the first-level scheduling nodes are further divided into a preset number of second-level scheduling nodes according to the preset number of divisions. Then, the business request traffic of each scheduling domain is divided according to the division of the scheduling domain, and the business request traffic corresponding to each scheduling node is determined. Then, the scheduling node of the minimum level is randomly selected to connect to different resource nodes to determine the current traffic allocation amount allocated to each resource node by each scheduling domain.

[0045] Step S103, based on the current traffic allocation and the corresponding disk space, determine the global hit rate loss, the global hit rate loss is positively correlated with the current traffic allocation, and the global hit rate loss is negatively correlated with the disk space.

[0046] It is worth noting that the frequency of content elimination in disk space is positively correlated with traffic and negatively correlated with disk space, and the size of business request traffic is related to the disk space it occupies. Therefore, the more dispersed the traffic distribution is, the greater the loss of hit rate will be.

[0047] Step S104, adjusting the current flow graph to minimize the global hit rate loss, so as to determine the target flow graph.

[0048] Specifically, at least one of the perturbation methods of random perturbation, domain search, and structured search can be used to adjust the current flow graph. The global hit rate loss corresponding to each adjusted flow graph is calculated until the preset iteration stop condition is met, and the flow graph with the smallest global hit rate loss is determined as the target flow graph.

[0049] Specifically, random perturbation includes randomly selecting a scheduling domain to connect with a resource node. Domain search includes changing the value of a variable in the current traffic graph, such as scheduling domain information, resource node information, and at least one of the target traffic allocation amount allocated by the target scheduling node in the scheduling domain to each resource node, to generate a domain solution space, and determine a new traffic graph in the domain solution space. Structured search includes exchanging and merging the current traffic allocation amount allocated to each resource node of some scheduling domains, or exchanging and merging the resource nodes connected to some scheduling domains.

[0050] Step S105: scheduling the content distribution network based on the target traffic graph.

[0051] Specifically, the target connection state between each scheduling domain and each resource node, and the target flow allocation amount allocated to each resource node by each scheduling domain are determined based on the target flow graph. Then, the resource node is converted into the network address of the resource node, and the target connection state, the target flow allocation amount and the network address of the resource node are pushed to the content distribution network, so that the content distribution network performs scheduling based on the pushed target connection state, the target flow allocation amount and the network address of the resource node.

[0052] The content distribution network scheduling method provided in this embodiment constructs a current traffic graph based on the service request traffic of each scheduling domain and the resource capacity of each resource node. Therefore, the current traffic allocation amount allocated to each resource node by each scheduling domain can be represented by the connection status of each scheduling domain and each resource node in the current traffic graph. Therefore, the problem of solving the traffic allocation amount can be transformed into the connection problem of the scheduling domain and the resource node in combination with the characteristics of the domain name system, so as to reduce the difficulty of solving the traffic allocation amount. Then, based on the current traffic allocation amount represented by the current traffic graph and the corresponding disk space, the global hit rate loss is determined; wherein, the global hit rate loss is positively correlated with the current traffic allocation amount, and the global hit rate loss is negatively correlated with the disk space. And the current traffic graph is adjusted with the minimum global hit rate loss as the optimization goal to determine the target traffic graph. Therefore, it is possible to achieve adaptive matching of bandwidth and disk, so that the same type of traffic converges and different types of traffic are separated from each other, thereby improving the global hit rate. Furthermore, the content distribution network is scheduled based on the target traffic graph to improve the service quality of the content distribution network.

[0053] This embodiment provides a content distribution network scheduling method, which can be used in a scheduling system (such as a domain name system) of a content distribution network. Figure 2 is a flow chart of a second content distribution network scheduling method according to an embodiment of the present invention. Figure 2 As shown, the process includes the following steps:

[0054] Step S201, obtain the scheduling domain information and resource node information of the content distribution network, the scheduling domain information includes the service request flow of each scheduling domain, and the resource node information includes the resource capacity of each resource node and the disk space allocated to each scheduling domain. Please refer to the above step S101, which will not be repeated here.

[0055] Step S202, based on the service request flow and resource capacity, construct a current flow graph, the current flow graph is used to characterize the connection status of each scheduling domain and each resource node, and the current flow allocation amount allocated by each scheduling domain to each resource node.

[0056] In some optional implementations, the scheduling domain includes multiple scheduling nodes having a hierarchical affiliation. Then, the above step S202 includes:

[0057] Step S2021, determining the network connection status between each resource node and the target scheduling node to which it is connected.

[0058] It should be noted that the target scheduling node is a scheduling node of the smallest level among multiple scheduling nodes having a hierarchical affiliation, that is, a scheduling node of the last level of division.

[0059] Specifically, a scheduling node is randomly selected to connect with a resource node to determine the network connection status between each resource node and the target scheduling node to which it is connected.

[0060] Further, the scheduling domain information includes the location information of each scheduling node, and the location information of the scheduling node includes the geographical location of the scheduling node. The resource node information includes the location information of each resource node, and the location information of the resource node includes the geographical location of the resource node. In order to avoid the inability to connect between the scheduling node and the resource node due to geographical location restrictions. Therefore, based on the location information of the scheduling node and the location information of the resource node, the connection status between each resource node and each scheduling node can be determined to determine the network connection status between each resource node and the target scheduling node to which it is connected.

[0061] Step S2022, based on the network connection status, business request traffic and the number of nodes of the target scheduling node, determine the target traffic allocation amount allocated by the target scheduling node to each resource node. The current traffic allocation amount of each scheduling domain is obtained based on the sum of the corresponding target traffic allocation amounts.

[0062] Specifically, the current traffic allocation amount of each scheduling domain is the sum of the target traffic allocation amounts of all target scheduling nodes corresponding to the scheduling domain.

[0063] Specifically, the above step S2022 includes:

[0064] Step a1, based on the network connection status, service request flow and the number of nodes, determine the candidate flow allocation amount that the target scheduling node allocates to each resource node.

[0065] It should be noted that the candidate traffic allocation amount is the service request traffic allocated by the target scheduling node to each resource node.

[0066] Furthermore, the above step a1 includes:

[0067] Step a11, dividing the service request traffic of each scheduling domain based on the number of nodes to determine the node bandwidth of the target scheduling node.

[0068] Specifically, the service request traffic of each scheduling domain is evenly divided based on the number of nodes to determine the node bandwidth of the target scheduling node.

[0069] Furthermore, the service request traffic of each scheduling domain may be evenly divided according to the division ratio corresponding to each target scheduling node to determine the node bandwidth of the target scheduling node. Alternatively, the service request traffic of each scheduling domain may be divided according to the service demand of the target scheduling node to determine the node bandwidth of the target scheduling node.

[0070] Step a12: for a first resource node connected to the target scheduling node, determining the candidate flow allocation amount allocated by the target scheduling node to the first resource node as the node bandwidth of the target scheduling node.

[0071] It should be noted that, in order to reduce the amount of calculation, the scheduling node of the level finally divided should correspond to one resource node, and there is a one-to-one correspondence between the target scheduling node and the first resource node. For the connected target scheduling node and the first resource node, the candidate flow allocation amount allocated by the target scheduling node to the first resource node is determined as the node bandwidth of the target scheduling node. Of course, according to actual needs, a target scheduling node can be connected to multiple resource nodes, and the candidate flow allocation amount allocated by each target scheduling node to the first resource node should be determined according to the node bandwidth of the target scheduling node and the number of resource nodes.

[0072] Step a13: for a second resource node that is not connected to the target scheduling node, determine that the candidate allocation amount allocated by the target scheduling node to the second resource node is a preset value.

[0073] It should be noted that, for a target scheduling node and a second resource node that are not connected, the candidate allocation amount allocated by the target scheduling node to the second resource node is determined to be a preset value. Optionally, the preset value is zero.

[0074] It is worth noting that the service request traffic of each scheduling domain is divided based on the number of nodes to determine the node bandwidth of the target scheduling node. Then, for the connected target scheduling node and the first resource node, the node bandwidth of the target scheduling node is determined as the candidate traffic allocation amount allocated by the target scheduling node to the first resource node. Therefore, the bandwidth resources of each scheduling node can be reasonably utilized, bandwidth waste can be reduced, and the overall transmission efficiency of the content distribution network can be improved.

[0075] Step a2: constraining the candidate traffic allocation amount based on resource capacity and service request traffic to determine the target traffic allocation amount.

[0076] It is worth noting that the candidate flow allocation amount allocated by the target scheduling node to each resource node is determined based on the network connection status, service request flow, and the number of nodes. Then, based on the resource capacity and service request flow, the candidate flow allocation amount is constrained to determine the target flow allocation amount. Therefore, the rationality of the target flow allocation amount can be ensured.

[0077] Furthermore, the above step a2 includes:

[0078] Step a21, based on the sum of the candidate flow allocation amounts corresponding to each resource node, determine the sum of the received flows of each resource node.

[0079] Step a22, determining the total service traffic of each scheduling domain based on the total candidate traffic allocation amount of the target scheduling node.

[0080] Step a23: If the sum of the received traffic of each resource node is less than or equal to the corresponding resource capacity, and the sum of the service traffic of each scheduling domain is equal to the corresponding service request traffic, the candidate traffic allocation amount is used as the target traffic allocation amount.

[0081] It should be noted that if the total received traffic of any resource node is greater than the corresponding resource capacity, or the total service traffic of any scheduling domain is not equal to the corresponding service request traffic, the candidate traffic allocation amount calculated this time will be abandoned, and the candidate traffic allocation amount will be re-determined or the current traffic graph will be adjusted.

[0082] Specifically, the constraints corresponding to the resource capacity and service request flow can be represented by the following formula:

[0083]

[0084] Where N is the number of scheduling domains, is the candidate flow allocation amount allocated by the i-th target scheduling node to the j-th resource node, M is the number of resource nodes, C j is the jth resource node, B i is the service request traffic of the i-th scheduling domain.

[0085] It is worth noting that the traffic allocation is constrained based on resource capacity and service request traffic, thereby improving resource utilization and reducing data transmission delay.

[0086] Step S2023, constructing a current traffic graph based on the hierarchical relationship, target traffic allocation, and network connection status.

[0087] Specifically, each scheduling domain and its scheduling nodes with affiliation are connected based on the hierarchical affiliation relationship. Figure 3As shown, it is assumed that the content distribution network includes scheduling domain name 1, ..., scheduling domain name n-1, and scheduling domain name n, where n is the number of scheduling domain names. The content distribution network includes resource node 1, resource node 2, ..., resource node j, ..., and resource node M. If scheduling domain name 1 corresponds to scheduling domain 1, scheduling domain 2, ..., and scheduling domain N. Scheduling domain name n corresponds to scheduling domain 1, scheduling domain 2, ..., and scheduling domain N. Then, the scheduling domain name 1 and the scheduling domain name n are connected to scheduling domain 1, scheduling domain 2, ..., and scheduling domain N respectively. If scheduling domain 2 includes scheduling node 21, scheduling node 22, ..., and scheduling node 29, then the scheduling domain 2 is connected to scheduling node 21, scheduling node 22, ..., and scheduling node 29. If scheduling node 21, scheduling node 22, and scheduling node 29 are connected to resource node 2, then the scheduling node 21, scheduling node 22, and scheduling node 29 are connected to resource node 2. By analogy, we can get the following Figure 3 Flow diagram shown.

[0088] Step S203, based on the current traffic allocation and the corresponding disk space, determine the global hit rate loss, the global hit rate loss is positively correlated with the current traffic allocation, and negatively correlated with the disk space. Please refer to the above step S103, which will not be repeated here.

[0089] Step S204, adjusting the current flow graph to minimize the global hit rate loss to determine the target flow graph. Please refer to the above step S104, which will not be repeated here.

[0090] Step S205, scheduling the content distribution network based on the target traffic graph. Please refer to the above step S105, which will not be repeated here.

[0091] The content distribution network scheduling method provided in this embodiment determines the network connection status between each resource node and the target scheduling node to which it is connected. Then, based on the network connection status, the service request flow, and the number of nodes of the target scheduling node, the target flow allocation amount allocated to each resource node by the target scheduling node is determined. And based on the hierarchical affiliation, the target flow allocation amount, and the network connection status, the current flow graph is constructed. Therefore, the flow graph can be used to convert the flow allocation amount problem allocated by each scheduling domain to each resource node into a network connectivity matching problem between the scheduling node and the resource node, thereby reducing the computational difficulty and improving the scheduling efficiency of the content distribution network scheduling.

[0092] As a specific application example, Figure 3As shown, the problem of content distribution network scheduling in the present disclosure, which determines the global hit rate loss based on the current traffic allocation and the corresponding disk space, and takes the global hit rate loss as the optimization goal, belongs to a large-scale combinatorial optimization problem, which is difficult to solve directly in a large-scale business and complex resource environment. Therefore, in the content distribution network scheduling in the present disclosure, based on the optimization problem of minimizing the global hit rate loss adopted by the present disclosure and combined with the characteristics of the scheduling system (such as the domain name system) of the content distribution network, the optimization problem of minimizing the global hit rate loss is transformed into the following: Figure 3 The four-layer directed graph structure from the scheduling domain to the scheduling nodes at each level, the scheduling nodes at the minimum level, and the resource nodes is shown. Specifically, each scheduling domain is evenly divided into k scheduling nodes. For example, each scheduling domain is divided into 10 scheduling nodes according to the business demand split ratio. The node bandwidth of the kth scheduling node of the ith scheduling domain is for If there is a directed edge between the kth scheduling node of the i-th scheduling domain and the jth resource node, it means that the service request traffic of the kth scheduling node is allocated to the jth resource node. The traffic allocation amount allocated to the jth resource node by the i-th scheduling domain is converted into Figure 3 The edge connectivity matching problem between scheduling nodes and resource nodes is shown.

[0093] This embodiment provides a content distribution network scheduling method, which can be used in a scheduling system of a content distribution network. Figure 4 is a flow chart of a third content distribution network scheduling method according to an embodiment of the present invention. Figure 4 As shown, the process includes the following steps:

[0094] Step S401, obtain the scheduling domain information and resource node information of the content distribution network, the scheduling domain information includes the service request flow of each scheduling domain, and the resource node information includes the resource capacity of each resource node and the disk space allocated to each scheduling domain. Please refer to the above step S101, which will not be repeated here.

[0095] Step S402: Based on the service request flow and resource capacity, a current flow graph is constructed, and the current flow graph is used to characterize the connection status between each scheduling domain and each resource node, and the current flow allocation amount allocated by each scheduling domain to each resource node. Please refer to the above step S102, which will not be repeated here.

[0096] Step S403, determining the global hit rate loss based on the ratio of the current traffic allocation amount to the corresponding disk space.

[0097] It is worth noting that the disk space used by a business is related to the total disk space (resource capacity) of the resource node and the occupation of different businesses (such as business request traffic). The larger the disk space allocated to the i-th scheduling domain by the j-th resource node, the smaller the hit rate loss of the i-th scheduling domain at the j-th resource node. If there is only one type of business request traffic on the disk, it is equivalent to the business having the entire disk space exclusively. Therefore, in the process of minimizing the hit rate loss of the i-th scheduling domain at the j-th resource node or the global hit rate loss, it tends to make the disk space allocated to each business larger. As a result, the business request traffic of different businesses will be separated as much as possible, and resources with larger disk space will be used. Therefore, in the global scope, the same type of traffic is concentrated and converged, different traffic is separated from each other, and adaptive matching between business and disk is achieved, thereby improving the global hit rate.

[0098] Therefore, the global hit rate loss can be determined based on the ratio of the current traffic allocation to the corresponding disk space.

[0099] Specifically, the above determination of the global hit rate loss based on the ratio of the current traffic allocation amount to the corresponding disk space includes:

[0100] Step S4031: determining the first hit rate loss of each scheduling domain corresponding to each resource node based on the ratio of the current traffic allocation amount to the corresponding disk space.

[0101] Specifically, the first hit rate loss of each scheduling domain corresponding to each resource node is expressed by the following formula: ;in, is the first hit rate loss of the i-th scheduling domain corresponding to the j-th resource node, The disk space allocated to the i-th scheduling domain for the j-th resource node.

[0102] Step S4032: Determine the second hit rate loss corresponding to each resource node based on the sum of the first hit rate losses corresponding to each resource node.

[0103] Specifically, the second hit rate loss corresponding to each resource node is expressed by the following formula: Among them, g j is the second hit rate loss corresponding to the j-th resource node, and N is the number of scheduling domains.

[0104] Step S4033: determining a global hit rate loss based on the sum of the second hit rate losses corresponding to the various resource nodes.

[0105] It should be noted that if you want to improve the global hit rate, you need to minimize the hit rate loss. Therefore, the global hit rate loss is expressed by the following formula: . Where F is the global hit rate loss.

[0106] It is worth noting that the first hit rate loss of each scheduling domain corresponding to each resource node is first determined. Then, the second hit rate loss corresponding to each resource node is determined based on the first hit rate loss. Thus, the global hit rate loss is determined based on the sum of the second hit rate losses corresponding to each resource node. Therefore, the global hit rate loss can be minimized to minimize the hit rate loss of all scheduling domains on the resource nodes.

[0107] Step S404, the current flow graph is adjusted to minimize the global hit rate loss to determine the target flow graph. Please refer to the above step S104, which will not be described in detail here.

[0108] Step S405, scheduling the content distribution network based on the target traffic graph. Please refer to the above step S105, which will not be described in detail here.

[0109] The content distribution network scheduling method provided in this embodiment determines the global hit rate loss based on the ratio of the current traffic allocation amount to the corresponding disk space. Therefore, it is possible to centrally converge the same type of traffic, separate different types of traffic from each other, achieve adaptive matching between services and disks, improve the global hit rate, and thus improve the service quality of the content distribution network.

[0110] It is worth noting that the goal of the content distribution network scheduling method disclosed in the present invention is to minimize the global hit rate loss. With g j Substitute into In this paper, we can get the following formula: It can be seen that minimizing the global hit rate loss is to minimize the first hit rate loss of each scheduling domain corresponding to each resource node. The first hit rate loss is related to the size of the service request flow and the occupied disk space. After expansion, we can get the following formula: Assuming that all disks are standard and ignoring the impact of disk space, we discuss the impact of global hit rate loss and business request traffic distribution. By squaring both sides at the same time, we can see and The relationship has the following relationship: Among them, b 1 is the service request flow corresponding to the first scheduling node, b 2 is the service request flow corresponding to the second scheduling node. Then, for a scheduling domain, after splitting a single scheduling domain into k scheduling nodes, the global hit rate loss is: Among them, b kis the service request flow corresponding to the kth scheduling node. Therefore, according to In the feasible solution range of resource capacity, the global hit rate loss can be minimized by continuously combining scheduling nodes and resource nodes, that is, adaptive convergence of the same type of traffic can be achieved.

[0111] As a specific application example, Figure 5 As shown, it is assumed that scheduling domain 1 corresponds to scheduling node 11, scheduling node 12, and scheduling node 13. The service request traffic of scheduling domain 1 is scattered and allocated. Scheduling node 11 corresponds to resource node 1, scheduling node 12 corresponds to resource node 2, and scheduling node 13 corresponds to resource node 3. The node traffic allocation amount allocated to the corresponding resource node by each scheduling node is 10, and the global hit rate corresponding to the three scheduling nodes is about 9.4. In the process of minimizing the loss of global hit rate, the service request traffic of scheduling domain 1 is gradually converged and allocated. Scheduling node 11 and scheduling node 12 correspond to resource node 1, and the node traffic allocation amount allocated to the corresponding resource node 1 by scheduling node 11 and scheduling node 12 is 10. Scheduling node 13 corresponds to resource node 2, and the node traffic allocation amount allocated to the corresponding resource node 2 by scheduling node 13 is 20, and the global hit rate corresponding to the three scheduling nodes is about 7.6. In this way, the same type of traffic can be concentrated and converged, and different types of traffic can be separated from each other, so as to achieve the purpose of adaptive matching between business and disk, so as to improve the global hit rate.

[0112] This embodiment provides a content distribution network scheduling method, which can be used in a scheduling system of a content distribution network. Figure 6 is a flowchart of a fourth content distribution network scheduling method according to an embodiment of the present invention. Figure 6 As shown, the process includes the following steps:

[0113] Step S601, obtain the scheduling domain information and resource node information of the content distribution network, the scheduling domain information includes the service request flow of each scheduling domain, and the resource node information includes the resource capacity of each resource node and the disk space allocated to each scheduling domain. Please refer to the above step S101, which will not be repeated here.

[0114] Step S602: Based on the service request flow and resource capacity, a current flow graph is constructed, and the current flow graph is used to characterize the connection status between each scheduling domain and each resource node, and the current flow allocation amount allocated by each scheduling domain to each resource node. Please refer to the above step S102, which will not be repeated here.

[0115] Step S603, based on the current traffic allocation and the corresponding disk space, determine the global hit rate loss, the global hit rate loss is positively correlated with the current traffic allocation, and negatively correlated with the disk space. Please refer to the above step S103, which will not be repeated here.

[0116] Step S604, adjusting the current flow graph to minimize the global hit rate loss, so as to determine the target flow graph.

[0117] In some optional implementations, the above step S604 includes:

[0118] Step S6041, obtaining the last determined historical global hit rate loss.

[0119] Specifically, when the iteration stop condition is not met at present, the global hit rate loss of each generated traffic graph is recorded. The historical global hit rate loss is the global hit rate loss obtained in the last operation that meets the preset condition.

[0120] Step S6042: Determine the change in global hit rate loss based on the difference between the current global hit rate loss and the historical global hit rate loss.

[0121] Specifically, each time a new global hit rate loss is calculated, the global hit rate loss currently calculated is subtracted from the historical global hit rate loss determined last time to obtain a change in the global hit rate loss.

[0122] Step S6043: If the change amount is less than the preset threshold, the current flow graph is determined as a candidate flow graph.

[0123] Optionally, the preset threshold is zero.

[0124] It can be understood that if the change amount is less than the preset threshold, it means that the current flow graph may be a local optimal solution, and therefore, the current flow graph can be determined as a candidate flow graph.

[0125] Step S6044: If the iteration stop condition is not met currently, the current flow graph is adjusted to generate a new flow graph.

[0126] It should be noted that the iteration stop condition is that the number of iterations of the flow graph reaches a preset iteration threshold. Alternatively, the control parameters of the currently used solution algorithm meet the preset conditions. For example, if the simulated annealing algorithm is used to solve the global hit rate loss, the control parameter of the simulated annealing algorithm is the upper limit temperature. In each solution process, the upper limit temperature is reduced according to the annealing rate. If the upper limit temperature drops to the preset temperature threshold, or the number of iterations reaches the preset iteration threshold, it is determined that the iteration stop condition is met. If the upper limit temperature does not drop to the preset temperature threshold and the number of iterations does not reach the preset iteration threshold, it is determined that the iteration stop condition is not met.

[0127] Specifically, the above step S6044 includes: adjusting the network connection status of each resource node in the current traffic graph and the target scheduling node of each scheduling domain; and / or adjusting the parameter variables in the current traffic graph, the parameter variables including scheduling domain information, resource node information and at least one of the target traffic allocation amount allocated by the target scheduling node to each resource node.

[0128] Specifically, the above step S6044 of adjusting the current flow graph can be further divided into the following three situations: First, random disturbance: randomly select scheduling nodes and resource nodes for connection. Second, domain search: change the value of any parameter variable in the current flow graph, generate a domain solution space, and determine a new flow graph in the domain solution space. Third, exchange and merge the allocation of some scheduling nodes. For example, exchange the resource nodes connected to the scheduling nodes. Or, merge the resource nodes connected to multiple scheduling nodes.

[0129] Step S6045: If the iteration stop condition is currently met, the candidate flow graph with the smallest global hit rate loss among all candidate flow graphs is determined as the target flow graph.

[0130] In some optional implementations, the above step S604 further includes:

[0131] Step b1: If the change amount is greater than or equal to a preset threshold, the acceptance probability of the current flow graph is determined based on the change amount, and the acceptance probability is used to characterize the probability of determining the current flow graph as a candidate flow graph.

[0132] It can be understood that the candidate flow graph obtained when the change amount is less than the preset threshold may be a local optimal solution. When the change amount is greater than or equal to the preset threshold, the acceptance probability of the current flow graph is further determined based on the change amount. Therefore, it is possible to jump out of the local optimal solution and find the global optimal solution.

[0133] Step b2, determining the acceptance status of the current traffic graph based on the acceptance probability.

[0134] It can be understood that the greater the acceptance probability is, the greater the possibility of determining the current flow graph as a candidate flow graph is.

[0135] Step b3: If the current flow graph is accepted, the current flow graph is determined as a candidate flow graph.

[0136] It should be noted that if the current flow map is not accepted, the current flow map is adjusted to generate a new flow map.

[0137] It is worth noting that if the change is greater than or equal to the preset threshold, the acceptance probability of the current flow graph is determined based on the change, and the current flow graph is determined as a candidate flow graph based on the acceptance probability. Therefore, being able to jump out of the local optimal solution is conducive to finding the global optimal solution, thereby improving the accuracy of the final target flow graph, so as to further improve the global hit rate of content distribution network scheduling.

[0138] Step S605, scheduling the content distribution network based on the target traffic graph. Please refer to the above step S105, which will not be described in detail here.

[0139] The content distribution network scheduling method provided in this embodiment determines the change between the current global hit rate loss and the historical global hit rate loss determined last time. If the change is less than a preset threshold, the current flow graph is determined as a candidate flow graph. And when the iteration stop condition is currently met, the candidate flow graph with the smallest global hit rate loss among all candidate flow graphs is determined as the target flow graph. Therefore, the flow graph with a smaller global hit rate loss can be quickly determined based on the change in the global hit rate loss, thereby improving the computational efficiency of the global hit rate loss.

[0140] As a specific application example, let's take the simulated annealing algorithm to minimize the global hit rate loss. The simulated annealing algorithm to minimize the global hit rate loss includes the following process:

[0141] Process 1, initialize the control parameters of the simulated annealing algorithm, set the upper temperature T, the lower temperature , the maximum number of iterations L (i.e. the preset iteration threshold), and the annealing rate α.

[0142] Process 2 randomly initializes a new solution (i.e., flow graph) and calculates the model loss of the current flow graph corresponding to the simulated annealing algorithm. The solution that minimizes the global hit rate loss is calculated in situ incrementally to reduce the calculation time.

[0143] Specifically, in the current flow graph, each state change of the flow graph can be described as the connectivity state of the directed edges, so the incremental calculation can be expressed as: Among them, loss is the current model loss, loss old is the historical model loss of the last acceptance, is the last determined historical global hit rate loss, is the current global hit rate loss.

[0144] Process 3: Record the model loss corresponding to the current flow graph .

[0145] Process 4, the probability of selecting a new solution operator is adjusted according to the temperature, and a new solution operator is generated to obtain a new flow diagram.

[0146] Specifically, the method of selecting a new solution operator includes any one of the following three methods:

[0147] The first type of random disturbance: randomly select scheduling nodes and resource nodes to connect.

[0148] The second type of neighborhood search: Change the value of a parameter variable in the current flow graph to generate a neighborhood solution space.

[0149] The third type of structured search: exchange and merge the allocations of some scheduling nodes.

[0150] Process 5: The state change record table records the state of each flow graph change and calculates the model loss of the current flow graph.

[0151] Process 6, according to the Metropolis criterion, decide whether to accept the new solution (i.e. the current flow graph) as a candidate flow graph:

[0152] Specifically, the specific process of the Meltrov criterion is as follows:

[0153] Process 61, calculate the change of model loss (i.e. the change in global hit rate loss): .

[0154] Process 62, if , then accept the new solution and clear the state change record table.

[0155] Process 63, if , then the acceptance probability Accept the new solution and roll back the state change log table and model loss.

[0156] Process 7: After a certain number of iterations, the upper temperature T is reduced according to the annealing rate. When the upper temperature T does not drop to the preset temperature threshold, return to process 4 to continue iteration.

[0157] Process 8, when the number of iterations reaches the maximum number of iterations L, or the upper temperature T does not drop to the preset temperature threshold, the candidate flow graph with the smallest global hit rate loss among all accepted candidate flow graphs is selected as the final target flow graph.

[0158] It should be noted that in the simulated annealing algorithm, the flow graph accepted last time is the target flow graph.

[0159] As a specific application example, the edge node cluster of the content distribution network is used as a resource node, and the simulated annealing algorithm is used to solve the problem of minimizing the global hit rate loss. Figure 7 As shown, the target application is configured in the scheduling system of the content distribution network, and the target application can be scheduled in the content distribution network according to a preset period through the content distribution network scheduling method disclosed in the present invention. Each time the content distribution network scheduling method disclosed in the present invention is executed, the node information, scheduling strategy, scheduling domain information, and the location information of the scheduling domain and each edge node (such as the network address of the edge node) of each edge node in the edge node cluster are pulled to generate a traffic graph. Based on the traffic graph and the simulated annealing algorithm, the target traffic graph that minimizes the global hit rate loss is solved to obtain the mapping relationship between each scheduling domain and each edge node. The mapping relationship between each scheduling domain and each edge node is converted into a mapping relationship between the network address of each scheduling domain and each edge node, and the mapping relationship of the network address is sent to the content distribution network, so that the content distribution network is scheduled based on the mapping relationship pushed by the scheduling system.

[0160] It is worth noting that in a large-scale network environment, through the content distribution network scheduling method disclosed in the present invention, adaptive matching of bandwidth and disk, centralized convergence of similar traffic, and separation of different traffic can be achieved, thereby improving the global hit rate and reducing network operating costs, thereby significantly improving the service quality and user experience of the content distribution network.

[0161] In the present embodiment, a content distribution network scheduling device is also provided, and the device is used to implement the above-mentioned embodiment and preferred implementation mode, and the description has been made no further. As used below, the term "module" can implement a combination of software and / or hardware of a predetermined function. Although the device described in the following embodiments is preferably implemented in software, the implementation of hardware, or a combination of software and hardware is also possible and conceived.

[0162] This embodiment provides a content distribution network scheduling device, such as Figure 8 As shown, including:

[0163] The data acquisition module 801 is used to acquire the scheduling domain information and resource node information of the content distribution network, the scheduling domain information includes the service request flow of each scheduling domain, and the resource node information includes the resource capacity of each resource node and the disk space allocated to each scheduling domain;

[0164] The first operation module 802 is used to construct a current flow graph based on the service request flow and resource capacity, and the current flow graph is used to represent the connection status of each scheduling domain and each resource node, and the current flow allocation amount allocated by each scheduling domain to each resource node;

[0165] The second operation module 803 is used to determine the global hit rate loss based on the current traffic allocation and the corresponding disk space, wherein the global hit rate loss is positively correlated with the current traffic allocation and negatively correlated with the disk space;

[0166] The third operation module 804 is used to adjust the current flow graph to determine the target flow graph with the minimum loss of global hit rate;

[0167] The network scheduling module 805 is used to schedule the content distribution network based on the target traffic graph.

[0168] In some optional implementations, the scheduling domain includes multiple scheduling nodes having a hierarchical relationship. Then, the first operation module 802 includes:

[0169] A node connection unit, used to determine the network connection status between each resource node and the target scheduling node to which it is connected;

[0170] A traffic allocation unit, configured to determine a target traffic allocation amount allocated by the target scheduling node to each resource node based on the network connection status, the service request traffic, and the number of nodes of the target scheduling node, wherein the current traffic allocation amount of each scheduling domain is obtained based on the sum of the corresponding target traffic allocation amounts;

[0171] The flow graph construction unit is used to construct the current flow graph based on the hierarchical affiliation, the target flow allocation and the network connection status.

[0172] In some optional implementations, the flow distribution unit includes:

[0173] A first traffic allocation subunit, configured to determine the candidate traffic allocation amount allocated by the target scheduling node to each resource node based on the network connection status, the service request traffic, and the number of nodes;

[0174] The second traffic allocation subunit is used to constrain the candidate traffic allocation amount based on the resource capacity and the service request traffic to determine the target traffic allocation amount.

[0175] In some optional embodiments, the first traffic allocation subunit is specifically used to: divide the business request traffic of each scheduling domain based on the number of nodes to determine the node bandwidth of the target scheduling node; for a first resource node connected to the target scheduling node, determine the candidate traffic allocation amount allocated by the target scheduling node to the first resource node as the node bandwidth of the target scheduling node; for a second resource node not connected to the target scheduling node, determine the candidate allocation amount allocated by the target scheduling node to the second resource node as a preset value.

[0176] In some optional embodiments, the second traffic allocation subunit is specifically used to: determine the sum of received traffic of each resource node based on the sum of candidate traffic allocation amounts corresponding to each resource node; determine the sum of business traffic of each scheduling domain based on the sum of candidate traffic allocation amounts of the target scheduling nodes; if the sum of received traffic of each resource node is less than or equal to the corresponding resource capacity, and the sum of business traffic of each scheduling domain is equal to the corresponding business request traffic, then the candidate traffic allocation amount is used as the target traffic allocation amount.

[0177] In some optional implementations, the second operation module 803 includes:

[0178] The loss calculation unit is used to determine the global hit rate loss based on the ratio of the current traffic allocation amount to the corresponding disk space.

[0179] In some optional implementations, the loss calculation unit includes:

[0180] A first loss calculation subunit, used to determine a first hit rate loss of each scheduling domain corresponding to each resource node based on a ratio of a current traffic allocation amount to a corresponding disk space;

[0181] A second loss calculation subunit, configured to determine a second hit rate loss corresponding to each resource node based on the sum of the first hit rate losses corresponding to each resource node;

[0182] The third loss calculation subunit is used to determine the global hit rate loss based on the sum of the second hit rate losses corresponding to each resource node.

[0183] In some optional implementations, the third operation module 804 includes:

[0184] A loss acquisition unit, used to acquire the last determined historical global hit rate loss;

[0185] A first computing unit, configured to determine a change in the global hit rate loss based on a difference between a current global hit rate loss and a historical global hit rate loss;

[0186] a second operation unit, configured to determine the current flow graph as a candidate flow graph if the change amount is less than a preset threshold;

[0187] A third operation unit is used to adjust the current flow graph to generate a new flow graph if the iteration stop condition is not met at present;

[0188] The fourth operation unit is used to determine the candidate flow graph with the smallest global hit rate loss among all the candidate flow graphs as the target flow graph if the iteration stop condition is currently met.

[0189] In some optional implementations, the third operation module 804 further includes:

[0190] a fifth operation unit, configured to determine an acceptance probability of the current flow graph based on the change amount if the change amount is greater than or equal to a preset threshold, wherein the acceptance probability is used to characterize a probability of determining the current flow graph as a candidate flow graph;

[0191] a sixth operation unit, configured to determine the acceptance status of the current flow graph based on the acceptance probability;

[0192] The seventh operation unit is used to determine the current flow map as a candidate flow map if the current flow map is accepted.

[0193] In some optional implementations, the third operation unit includes:

[0194] The traffic graph adjustment subunit is used to adjust the network connection status of each resource node in the current traffic graph and the target scheduling node of each scheduling domain; and / or, to adjust the parameter variables in the current traffic graph, the parameter variables including the scheduling domain information, the resource node information and at least one of the target traffic allocation amount allocated by the target scheduling node to each resource node.

[0195] The further functional description of each of the above modules and units is the same as that of the above corresponding embodiments and will not be repeated here.

[0196] The content distribution network scheduling device in this embodiment is presented in the form of a functional unit, where the unit refers to an ASIC (Application Specific Integrated Circuit) circuit, a processor and memory that executes one or more software or fixed programs, and / or other devices that can provide the above functions.

[0197] The present disclosure also provides an electronic device having the above Figure 8 The content distribution network scheduling device is shown.

[0198] See also Fig. 9 , Fig. 9is a structural block diagram of an electronic device provided by an optional embodiment of the present disclosure, such as Fig. 9 As shown, the electronic device includes: one or more processors 901, a memory 902, and an interface for connecting various components, including a high-speed interface and a low-speed interface. The various components are connected to each other using different buses for communication, and can be installed on a common mainboard or installed in other ways as needed. The processor can process the instructions executed in the electronic device, including instructions stored in or on the memory to display the graphical information of the GUI on an external input / output device (such as a display device coupled to the interface). In some optional embodiments, if necessary, multiple processors and / or multiple buses can be used together with multiple memories and multiple memories. Similarly, multiple electronic devices can be connected, and each device provides some necessary operations (for example, as a server array, a group of blade servers, or a multi-processor system). Fig. 9 A processor 901 is taken as an example.

[0199] The processor 901 may be a central processing unit, a network processor or a combination thereof. The processor 901 may further include a hardware chip. The hardware chip may be a dedicated integrated circuit, a programmable logic device or a combination thereof. The programmable logic device may be a complex programmable logic device, a field programmable logic gate array, a general purpose array logic or any combination thereof.

[0200] The memory 902 stores instructions executable by at least one processor 901 so as to enable at least one processor 901 to implement the method shown in the above embodiment.

[0201] The memory 902 may include a program storage area and a data storage area, wherein the program storage area may store an operating system, an application required for at least one function; the data storage area may store data created according to the use of the electronic device, etc. In addition, the memory 902 may include a high-speed random access memory, and may also include a non-transient memory, such as at least one disk storage device, a flash memory device, or other non-transient solid-state storage device. In some optional embodiments, the memory 902 may optionally include a memory remotely arranged relative to the processor 901, and these remote memories may be connected to the electronic device via a network. Examples of the above-mentioned network include, but are not limited to, the Internet, an intranet, a local area network, a mobile communication network, and combinations thereof.

[0202] The memory 902 may include a volatile memory, such as a random access memory; the memory may also include a non-volatile memory, such as a flash memory, a hard disk or a solid state drive; the memory 902 may also include a combination of the above types of memory.

[0203] The electronic device also includes a communication interface 903, which is used for the electronic device to communicate with other devices or a communication network.

[0204] The embodiments of the present disclosure also provide a computer-readable storage medium. The above-mentioned method according to the embodiments of the present disclosure can be implemented in hardware, firmware, or can be implemented as a computer code that can be recorded in a storage medium, or can be implemented as a computer code that is originally stored in a remote storage medium or a non-temporary machine-readable storage medium and will be stored in a local storage medium and downloaded through a network, so that the method described herein can be stored in such software processing on a storage medium using a general-purpose computer, a dedicated processor, or programmable or dedicated hardware. Among them, the storage medium can be a magnetic disk, an optical disk, a read-only storage memory, a random access memory, a flash memory, a hard disk or a solid-state drive, etc.; further, the storage medium can also include a combination of the above-mentioned types of memory. It can be understood that a computer, a processor, a microprocessor controller, or programmable hardware includes a storage component that can store or receive software or computer code. When the software or computer code is accessed and executed by a computer, a processor, or hardware, the method shown in the above embodiment is implemented.

[0205] A part of the present disclosure may be applied as a computer program product, such as a computer program instruction, which, when executed by a computer, can call or provide the method and / or technical solution according to the present disclosure through the operation of the computer. Those skilled in the art should understand that the existence of computer program instructions in computer-readable media includes, but is not limited to, source files, executable files, installation package files, etc., and accordingly, the way in which computer program instructions are executed by a computer includes, but is not limited to: the computer directly executes the instruction, or the computer compiles the instruction and then executes the corresponding compiled program, or the computer reads and executes the instruction, or the computer reads and installs the instruction and then executes the corresponding installed program. Here, the computer-readable medium can be any available computer-readable storage medium or communication medium accessible to the computer.

[0206] Although the embodiments of the present disclosure have been described in conjunction with the accompanying drawings, those skilled in the art may make various modifications and variations without departing from the spirit and scope of the present disclosure, and such modifications and variations are all within the scope defined by the appended claims.

Claims

1. A content distribution network scheduling method, characterized in that: The method comprises: Acquire scheduling domain information and resource node information of a content distribution network, wherein the scheduling domain information includes service request traffic of each scheduling domain, the scheduling domain includes a plurality of scheduling nodes having a hierarchical affiliation, and the resource node information includes resource capacity of each resource node and disk space allocated to each scheduling domain; Based on the service request traffic and the resource capacity, construct a current traffic graph, wherein the current traffic graph is used to characterize the connection status of each scheduling domain and each resource node, and the current traffic allocation amount allocated by each scheduling domain to each resource node; Determine a global hit rate loss based on the current traffic allocation and the corresponding disk space, wherein the global hit rate loss is positively correlated with the current traffic allocation and negatively correlated with the disk space; The current flow graph is adjusted to determine a target flow graph with the global hit rate loss being minimized; Scheduling the content distribution network based on the target traffic graph; The step of constructing a current traffic graph based on the service request traffic and the resource capacity includes: Determine the network connection status between each resource node and the target scheduling node connected thereto; Determine the target traffic allocation amount allocated by the target scheduling node to each of the resource nodes based on the network connection state, the service request traffic, and the number of nodes of the target scheduling node, wherein the current traffic allocation amount of each scheduling domain is obtained based on the sum of the corresponding target traffic allocation amounts; The current traffic graph is constructed based on the hierarchical relationship, the target traffic allocation amount and the network connection status.

2. The content distribution network scheduling method according to claim 1, characterized in that: The determining, based on the network connection state, the service request flow, and the number of nodes of the target scheduling node, the target flow allocation amount allocated by the target scheduling node to each of the resource nodes comprises: Determine, based on the network connection status, the service request flow, and the number of nodes, a candidate flow allocation amount allocated by the target scheduling node to each of the resource nodes; Based on the resource capacity and the service request flow, the candidate flow allocation amount is constrained to determine the target flow allocation amount.

3. The content distribution network scheduling method according to claim 2, characterized in that: The determining, based on the network connection state, the service request flow, and the number of nodes, the candidate flow allocation amount allocated by the target scheduling node to each of the resource nodes comprises: Dividing the service request traffic of each of the scheduling domains based on the number of nodes to determine the node bandwidth of the target scheduling node; For a first resource node connected to the target scheduling node, determining that the candidate flow allocation amount allocated by the target scheduling node to the first resource node is the node bandwidth of the target scheduling node; For a second resource node that is not connected to the target scheduling node, it is determined that the candidate allocation amount allocated by the target scheduling node to the second resource node is a preset value.

4. The content distribution network scheduling method according to claim 2, characterized in that: The constraining the candidate flow allocation amount based on the resource capacity and the service request flow to determine the target flow allocation amount includes: Determine the total received traffic of each resource node based on the total of the candidate traffic allocation amounts corresponding to each resource node; Determining the sum of the service flows of each of the scheduling domains based on the sum of the candidate flow allocation amounts of the target scheduling node; If the sum of the received traffic of each of the resource nodes is less than or equal to the corresponding resource capacity, and the sum of the service traffic of each of the scheduling domains is equal to the corresponding service request traffic, the candidate traffic allocation amount is used as the target traffic allocation amount.

5. The content distribution network scheduling method according to claim 1, characterized in that: The determining of the global hit rate loss based on the current traffic allocation and the corresponding disk space includes: The global hit rate loss is determined based on a ratio of the current traffic allocation amount to the corresponding disk space.

6. The content distribution network scheduling method according to claim 5, characterized in that: The determining the global hit rate loss based on the ratio of the current traffic allocation amount to the corresponding disk space includes: Determine, based on a ratio of the current traffic allocation amount to the corresponding disk space, a first hit rate loss of each of the scheduling domains corresponding to each of the resource nodes; Determine a second hit rate loss corresponding to each of the resource nodes based on the sum of the first hit rate losses corresponding to each of the resource nodes; The global hit rate loss is determined based on the sum of the second hit rate losses corresponding to the resource nodes.

7. The content distribution network scheduling method according to claim 1, characterized in that: The step of adjusting the current flow graph to determine the target flow graph by minimizing the global hit rate loss includes: Get the last determined historical global hit rate loss; Determine a change in the global hit rate loss based on a difference between the current global hit rate loss and the historical global hit rate loss; If the change amount is less than a preset threshold, determining the current flow graph as a candidate flow graph; If the iteration stop condition is not met currently, the current flow graph is adjusted to generate a new flow graph; If the iteration stop condition is currently met, the candidate flow graph with the smallest global hit rate loss among all the candidate flow graphs is determined as the target flow graph.

8. The content distribution network scheduling method according to claim 7, characterized in that: The adjusting the current flow graph to determine the target flow graph with the global hit rate loss being minimized also includes: If the change amount is greater than or equal to a preset threshold, determining the acceptance probability of the current flow graph based on the change amount, the acceptance probability being used to characterize the probability of determining the current flow graph as a candidate flow graph; Determining acceptance of the current flow graph based on the acceptance probability; If the current flow map is accepted, the current flow map is determined as the candidate flow map.

9. The content distribution network scheduling method according to claim 7, characterized in that: The adjusting the current flow graph to generate a new flow graph includes: Adjust the network connection status of each resource node in the current traffic graph and the target scheduling node of each scheduling domain; and / or adjust the parameter variables in the current traffic graph, wherein the parameter variables include at least one of the scheduling domain information, the resource node information and the target traffic allocation amount allocated by the target scheduling node to each resource node.

10. A content distribution network scheduling device, characterized in that: The device comprises: A data acquisition module, used to acquire scheduling domain information and resource node information of a content distribution network, wherein the scheduling domain information includes the service request flow of each scheduling domain, the scheduling domain includes a plurality of scheduling nodes having a hierarchical affiliation, and the resource node information includes the resource capacity of each resource node and the disk space allocated to each scheduling domain; A first operation module, configured to construct a current flow graph based on the service request flow and the resource capacity, wherein the current flow graph is used to characterize the connection status between each of the scheduling domains and each of the resource nodes, and the current flow allocation amount allocated by each of the scheduling domains to each of the resource nodes; A second operation module, used for determining a global hit rate loss based on the current traffic allocation amount and the corresponding disk space, wherein the global hit rate loss is positively correlated with the current traffic allocation amount and negatively correlated with the disk space; A third operation module is used to adjust the current flow graph to determine a target flow graph with the global hit rate loss being minimized; A network scheduling module, configured to schedule the content distribution network based on the target traffic graph; Wherein, the first operation module includes: A node connection unit, used to determine the network connection status between each resource node and the target scheduling node connected thereto; A traffic allocation unit, configured to determine a target traffic allocation amount allocated by the target scheduling node to each of the resource nodes based on the network connection state, the service request traffic, and the number of nodes of the target scheduling node, wherein the current traffic allocation amount of each scheduling domain is obtained based on the sum of the corresponding target traffic allocation amounts; A traffic map construction unit is used to construct the current traffic map based on the hierarchical relationship, the target traffic allocation amount and the network connection status.

11. An electronic device, characterized in that: include: A memory and a processor, wherein the memory and the processor are communicatively connected to each other, the memory stores computer instructions, and the processor executes the content distribution network scheduling method according to any one of claims 1 to 9 by executing the computer instructions.

12. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores computer instructions, and the computer instructions are used to enable a computer to execute the content distribution network scheduling method according to any one of claims 1 to 9.

13. A computer program product, characterized in that The method comprises computer instructions, wherein the computer instructions are used to cause a computer to execute the content distribution network scheduling method according to any one of claims 1 to 9.

Citation Information

Patent Citations

  • Short-term prediction method and device for coupled directed graph structure flow data containing missing data

    CN111860787A

  • Flow balance processing method and device based on content delivery network (CDN)

    CN114598654A