A scheduling method, apparatus, device, storage medium, and program product

By selecting physical CDN nodes with traffic values ​​lower than a preset value from the DNS scheduling nodes and redirecting them, the problem of inaccurate CDN node traffic scheduling is solved, achieving more efficient resource utilization and improved user experience.

CN122120274APending Publication Date: 2026-05-29HUAWEI CLOUD COMPUTING TECHNOLOGIES CO LTD

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
HUAWEI CLOUD COMPUTING TECHNOLOGIES CO LTD
Filing Date
2024-11-27
Publication Date
2026-05-29

AI Technical Summary

Technical Problem

Existing content delivery networks (CDNs) have low accuracy in traffic scheduling during DNS scheduling, making it impossible to accurately schedule traffic to the load limit of a physical CDN node, resulting in poor load balancing performance.

Method used

The first DNS scheduling node receives DNS requests from clients, selects physical CDN nodes with traffic values ​​less than a preset traffic value, and sends an indication message containing the node's identification information to the client to redirect DNS requests and improve the accuracy of traffic scheduling.

Benefits of technology

It enables precise traffic scheduling for physical CDN nodes, improving the accuracy of node traffic scheduling, enhancing resource utilization and user experience, and reducing resource usage costs.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122120274A_ABST
    Figure CN122120274A_ABST
Patent Text Reader

Abstract

A scheduling method, device, equipment, storage medium and program product are disclosed, relating to the cloud computing technical field. After receiving a DNS request, the first DNS scheduling node determines at least one first physical CDN node with a flow value less than a preset flow value, and sends indication information containing the identification information of the first physical CDN node to the client, the indication information containing the identification information of the first physical CDN node, the indication information being used to instruct the client to send the DNS request to the first physical CDN node, the DNS request being redirected to the first physical CDN node with the flow value less than the preset flow value, wherein the identification information is used to uniquely identify the first physical CDN node, the accurate flow scheduling of the first physical CDN node being realized, and the accuracy of the node flow scheduling being improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of cloud computing technology, and in particular to a scheduling method, apparatus, device, storage medium, and program product. Background Technology

[0002] Current content delivery networks (CDNs) use Domain Name System (DNS) scheduling. Based on the principle of load balancing, DNS requests are scheduled to physical CDN nodes, which then provide resources to user terminals based on the DNS requests, thereby achieving load balancing among physical CDN nodes.

[0003] During DNS scheduling, the DNS server receives the domain name input by the user and resolves it to an Internet Protocol (IP) address. Since each DNS packet can contain a maximum of 20 IP addresses, and each IP address corresponds to one CDN node, the DNS server can schedule traffic to a maximum of 20 physical CDN nodes. The DNS server uses a load balancing algorithm to schedule traffic to these 20 physical CDN nodes, which means that the DNS server cannot accurately schedule traffic to the maximum limit for any given physical CDN node. Therefore, the accuracy of node traffic scheduling is relatively low. Summary of the Invention

[0004] This application provides a scheduling method, apparatus, device, storage medium, and program product that can improve the accuracy of node traffic scheduling.

[0005] Firstly, a scheduling method is provided, applied to a first DNS scheduling node in a cloud platform, which also includes at least one physical CDN node and a client. After receiving a DNS request from the client, the first DNS scheduling node selects a first physical CDN node from the at least one physical CDN node whose traffic value is less than a preset traffic value. The traffic value indicates the traffic already occupied by the physical CDN node. The first DNS scheduling node sends indication information to the client, the indication information containing the identification information of the first physical CDN node, and the indication information instructs the client to send a DNS request to the first physical CDN node.

[0006] Based on the above scheduling method, after receiving a DNS request, the first DNS scheduling node identifies at least one physical CDN node whose traffic value is less than a preset traffic value. By sending an indication message containing the identification information of the first physical CDN node to the client, the DNS request is redirected to the first physical CDN node whose traffic value is less than the preset traffic value. The identification information is used to uniquely identify the first physical CDN node, so as to accurately schedule the traffic of the first physical CDN node to the upper limit. This achieves precise traffic scheduling of the first physical CDN node and improves the accuracy of node traffic scheduling.

[0007] One possible implementation is to use a 302 status code as the indication information. That is, the first DNS scheduling node sends a 302 status code to the client, and this 302 status code contains the identification information of the first physical CDN node. Based on this, DNS requests are directed to the first physical CDN node through 302 scheduling, improving the accuracy of node traffic.

[0008] As one possible implementation, the second physical CDN node includes an original node and virtualized virtual nodes. The virtual nodes are virtualized CDN software applications. The available traffic of the virtual nodes in the second physical CDN node is the difference between the occupied traffic of the original node and the preset traffic value of the second physical CDN node. The second physical CDN node can be any physical CDN node. Based on this, the first DNS scheduling node selects at least one physical CDN node whose virtual nodes have available traffic. The available traffic of the virtual nodes indicates the traffic shortage between the occupied traffic of the original node and the preset traffic value. Therefore, based on querying the available traffic of the virtual nodes, it is possible to accurately and quickly determine whether there is a traffic shortage in the physical CDN node.

[0009] As one possible implementation, the address information of the virtual nodes in the first physical CDN node is the logical address information of the first physical CDN node. The identification information is the address information of the virtual nodes in the first physical CDN node, and the indication information is used to instruct the client to send a DNS request to the virtual nodes in the first physical CDN node. Since the virtual nodes are located within the first physical CDN node and are logically associated with it, the DNS request is redirected by the first DNS scheduling node to the virtual nodes in the first physical CDN node, which is equivalent to the DNS request being redirected by the first DNS scheduling node to the first physical CDN node, thereby improving the resource utilization of the first physical CDN node.

[0010] As one possible implementation, the first DNS scheduling node obtains the first traffic value of the occupied traffic of the original node in each physical CDN node; for each physical CDN node, the difference between the preset traffic value and the first traffic value is configured as the available traffic of the virtual node. Thus, when the first traffic value of the occupied traffic of the original node changes, the available traffic of the virtual node also changes synchronously, thereby adjusting the available traffic of the virtual node based on the actual occupied traffic of the original node, and thus enabling the available traffic of the virtual node to accurately indicate traffic shortages.

[0011] As one possible implementation, the first DNS scheduling node selects multiple physical CDN nodes from at least one physical CDN node according to load balancing. Among these multiple physical CDN nodes, the first physical CDN node with a traffic value less than a preset traffic value is selected. Since traffic scheduling from multiple physical CDN nodes selected based on the load balancing algorithm cannot reach the upper limit, determining the first physical CDN node from the multiple physical CDN nodes selected according to load balancing improves the accuracy of node traffic scheduling based on the load balancing algorithm.

[0012] One possible implementation is to use the physical CDN node that requires precise scheduling. This allows for scheduling of a limited number of physical CDN nodes that require precise scheduling, improving the resource utilization of the scheduling node for traffic scheduling.

[0013] As one possible implementation, the physical CDN nodes that require precise scheduling can be pre-selected by the user, thereby improving the user experience by scheduling traffic to the user-selected physical CDN nodes that require precise scheduling.

[0014] As one possible approach, the physical CDN nodes that require precise scheduling can be free physical CDN nodes, thereby improving the utilization rate of free resources and reducing the cost of using physical CDN node resources.

[0015] As one possible implementation, the first DNS scheduling node obtains the traffic value already occupied by each physical CDN node among at least one physical CDN node. Thus, based on the obtained traffic value already occupied by each physical CDN node, the first DNS scheduling node can determine the first physical CDN node among at least one physical CDN node and perform traffic scheduling, thereby improving the accuracy of traffic scheduling.

[0016] As one possible implementation, the first DNS scheduling node obtains the traffic value of each physical CDN node in at least one physical CDN node at a preset frequency. Based on the preset frequency, the first DNS scheduling node can accurately obtain the traffic value while avoiding excessive resource consumption during traffic value acquisition, and the accuracy of traffic scheduling is further improved based on the accurate traffic value.

[0017] As one possible implementation, the cloud platform also includes a second DNS scheduling node. Specifically, the first DNS scheduling node obtains the traffic value already occupied by each of at least one physical CDN node. This is achieved by the first DNS scheduling node receiving the traffic value already occupied by each of at least one physical CDN node from the second DNS scheduling node. In this way, by configuring different functions on different scheduling nodes, distributed deployment of functions is achieved, improving the anti-interference capability of traffic scheduling.

[0018] In a second aspect, a scheduling apparatus is provided, the apparatus comprising modules for performing the scheduling method in the first aspect or any possible implementation thereof.

[0019] The scheduling device described in the second aspect can be a network device, or a chip (system), network card, or other component or assembly that can be set in a network device, or a device that includes a network device. This application does not limit the scope of the application.

[0020] Furthermore, the technical effects of the scheduling device described in the second aspect can be referred to the technical effects of the scheduling method described in the first aspect, and will not be repeated here.

[0021] Thirdly, a computing device cluster is provided, including at least one computing device, each computing device including a processor and memory;

[0022] The processor of the at least one computing device is configured to execute instructions stored in the memory of the at least one computing device to cause the cluster of computing devices to perform the operational steps of the method as described in any possible implementation of the first aspect.

[0023] Fourthly, a computer-readable storage medium is provided, including computer program instructions that, when executed by a cluster of computing devices, cause the cluster of computing devices to perform operational steps of the method as described in the first aspect or any possible implementation thereof.

[0024] Fifthly, a chip system is provided. The chip system includes a memory and at least one processor. The memory stores a set of computer instructions, which, when executed by the processor, perform the operational steps of the method described in any possible implementation of the first aspect.

[0025] In a sixth aspect, a computer program product containing instructions is provided, wherein when the instructions are run by a cluster of computing devices, the cluster of computing devices performs the operation steps of the method as described in any possible implementation of the first aspect.

[0026] Based on the implementation methods provided in the above aspects, this application can be further combined to provide more implementation methods. Attached Figure Description

[0027] Figure 1 A schematic diagram of the architecture of a cloud platform 100 provided for an embodiment of this application;

[0028] Figure 2 A schematic diagram of the layered structure of a cloud platform 100 provided in an embodiment of this application;

[0029] Figure 3 An architecture of a cloud platform 300 provided in this application embodiment Figure 1 ;

[0030] Figure 4 An architecture of a cloud platform 300 provided in this application embodiment Figure 2 ;

[0031] Figure 5 A flowchart illustrating a scheduling method provided in an embodiment of this application;

[0032] Figure 6 A schematic diagram illustrating a process for configuring the available traffic of a virtual node, provided in an embodiment of this application;

[0033] Figure 7 A schematic diagram illustrating a scheduling method provided in an embodiment of this application;

[0034] Figure 8 A schematic diagram of a scheduling device 800 provided in an embodiment of this application;

[0035] Figure 9 This is a schematic diagram of the structure of a computing device provided in an embodiment of this application;

[0036] Figure 10 This is a schematic diagram of the structure of a computing device cluster provided in an embodiment of this application;

[0037] Figure 11 This is a schematic diagram of a network connection structure between computing devices provided in an embodiment of this application. Detailed Implementation

[0038] This application can be applied not only to existing cloud computing technologies and content acceleration scenarios in the cloud computing field, but also to future cloud computing technologies and content acceleration scenarios in the cloud computing field. For ease of understanding, the relevant terminology used in the embodiments of this application will be introduced below.

[0039] (1) Content Delivery Network

[0040] A content delivery network is a layer of intelligent virtual network consisting of node servers placed throughout the network, used to provide content acceleration services to customers.

[0041] Content Delivery Networks (CDNs) can redirect user requests to the nearest service node in real time based on comprehensive information such as network traffic, the connectivity and load of each node, as well as distance and response time to the user. The aim is to allow users to access the content they need from the nearest location, alleviating network congestion and improving website response speed.

[0042] (2) Physical CDN Nodes

[0043] Content delivery networks purchase edge sites from network operators to provide content acceleration services to customers.

[0044] (3) DNS request

[0045] A DNS request is used to request the IP address corresponding to a domain name.

[0046] After receiving a DNS request, the DNS server resolves the IP address from the domain name in the DNS request message and returns a DNS data packet. According to the DNS protocol, a maximum of 20 IP addresses can be filled in the DNS data packet, and 20 IP addresses can correspond to a maximum of 20 servers.

[0047] To make the technical issues easier to understand, the process of scheduling physical CDN nodes using DNS is explained below.

[0048] DNS servers, based on the DNS protocol, distribute DNS requests to different physical CDN nodes. Since each DNS packet can contain a maximum of 20 IP addresses, and each IP address corresponds to one physical CDN node, the DNS server can only distribute DNS requests to a maximum of 20 physical CDN nodes. Due to the limitation on the number of physical CDN nodes and the requirement for load balancing, the DNS server distributes traffic to the less loaded physical CDN nodes to achieve load balancing. Furthermore, the traffic allocated to each physical CDN node is a fixed value, determined based on the total traffic volume and the total number of nodes. Because the purpose of the DNS protocol is to balance the load of nodes in the system, it cannot quickly bring a node to its load limit (preset value) through scheduling. Therefore, the accuracy of node traffic scheduling is not high.

[0049] To address the aforementioned issues, this application provides a scheduling method, particularly a method for scheduling node traffic based on precise redirection scheduling capabilities. Upon receiving a DNS request from a client, a first DNS scheduling node identifies at least one physical CDN node whose traffic value is less than a preset traffic value. By sending an indication message containing the identifier of the first physical CDN node to the client, the DNS request is redirected to this first physical CDN node, where the identifier uniquely identifies it. This precise traffic scheduling of the first physical CDN node improves the accuracy of node traffic scheduling.

[0050] The embodiments of this application will now be described in detail with reference to the accompanying drawings.

[0051] Figure 1 This is a schematic diagram of the architecture of a cloud platform 100 provided in an embodiment of this application. Figure 1 As shown, the cloud platform 100 includes a computing server cluster 110, a storage server cluster 120, a management server cluster 130, a network device cluster 140, and a user terminal 150. The computing server cluster 110, storage server cluster 120, and management server cluster 130 communicate with the user terminal 150 through the network device cluster 140.

[0052] Computing server cluster 110 includes one or more computing servers ( Figure 1 The diagram shows two computing servers, namely computing server 111 and computing server 112, but is not limited to two computing servers.

[0053] Computing servers, such as servers and desktop computers, are computing resources within the cloud platform 100. They are used to generate and allocate computing resources based on user needs using virtualization technology. At the hardware level, computing servers are equipped with processors and memory (…). Figure 1 (Not shown in the diagram), the computing server's computing functions are implemented by the processor running programs in memory. The computing server can also read / write data on various storage servers in the storage server cluster 120 according to user needs.

[0054] Storage server cluster 120 includes one or more storage servers ( Figure 1 The image shows two storage servers, namely storage server 121 and storage server 122, but is not limited to two storage servers.

[0055] Storage servers, serving as storage resources within the cloud platform 100, include components such as servers, desktop computers, storage array controllers, and hard disk enclosures. They provide logical disk storage, unstructured data storage, and integrated backup services for cloud virtual machines within the cloud platform 100. Hardware-wise, storage servers include network interface cards (NICs), processors, and memory. The processor in the storage server processes data from external sources. The NIC controls access to the memory, such as address signals, data signals, and various command signals, enabling the storage server to provide memory as a storage resource to users. Memory stores data and may include RAM and / or hard disks. RAM refers to internal storage that directly exchanges data with the processor; it can quickly read and write data at any time, serving as temporary data storage for the operating system or other running programs. Unlike RAM, hard disks are slower to read and write data and are typically used for persistent data storage.

[0056] Management server cluster 130 includes one or more management servers ( Figure 1 The diagram shows two management servers, namely management server 131 and management server 132, but is not limited to two management servers.

[0057] The management server is used to manage all computing services, shared storage, and network of the entire cloud platform 100, while providing users or administrators with an application programming interface (API) to manage the entire node.

[0058] Network device cluster 140 includes one or more switches and routers, such as Figure 1As shown, in this embodiment, the network device cluster 140 includes a router 141, a switch 142, a switch 143, a switch 144, and a switch 145. The user terminal 150 is connected to the router 141 via the Internet. The router 141 is then connected to the switch 143 via the switch 142. The switch 143 is connected to each computing server in the computing server cluster 110. The switch 144 is connected to each computing server in the computing server cluster 110 and each storage server in the storage server cluster 120. The switch 145 is connected to each computing server in the computing server cluster 110, each storage server in the storage server cluster 120, and each management server in the management server cluster 130.

[0059] Optionally, the number and type of switches included in the network device cluster 140 can be adjusted according to the needs of the cloud platform 100. Switches 142, 143, 144, and 145 can be switches with different functions. For example, switch 142 is a core switch, while switches 143, 144, and 145 are used to manage specific network segments. For instance, switch 142 can be a core switch, switch 143 can be an internal / external switching network segment switch, switch 144 can be a storage network segment switch, and switch 145 can be a management network segment switch.

[0060] User terminal 150 includes one or more user terminals ( Figure 1 The diagram shows two user terminals, namely user terminal 151 and user terminal 152, but is not limited to two user terminals. The user terminals contain the interfaces and applications required for accessing the cloud platform 100.

[0061] It is worth noting that, Figure 1 This is merely an illustration and should not be construed as limiting the scope of this application. The cloud platform 100 may also include other devices. Figure 1 It is not shown in the middle.

[0062] In such Figure 1 Based on the equipment of the cloud platform 100 shown, the cloud platform 100 provides services (e.g., computing services, storage services, and network services) to users through cloud nodes obtained by virtualizing the resources of the cloud platform 100, based on Infrastructure as a Service (IaaS), Platform as a Service (PaaS), and Software as a Service (SaaS).

[0063] Next, combine Figure 2The layered structure of the cloud platform 100 is explained.

[0064] Figure 2 This is a schematic diagram of the layered structure of a cloud platform 100 provided in an embodiment of this application. For example... Figure 2 As shown, the Infrastructure as a Service platform 210 is used to virtualize all infrastructure resources in the cloud platform 100, providing virtual resources (e.g., computing resources, network resources, and storage resources) to users in a software-defined manner. Infrastructure resources refer to the resources provided by the computing server cluster 110, storage server cluster 120, management server cluster 130, and / or network device cluster 140 in the cloud platform 100.

[0065] Platform as a Service (PaaS) platform 220 provides the runtime environment and application support functions for cloud platform 100, allowing users to request computing units within their quotas instead of virtual resources to run their services. Optionally, the computing units can be containers, and cloud platform 100 deploys and runs user code by scheduling containers. It should be noted that the number of containers in platform as a Service 220 can be one or more. Figure 2 The example uses only two containers.

[0066] As one possible implementation, cloud platform 100 can inject one or more components into a container to deploy and run code. Optionally, the resources (computing or storage resources) used by multiple components in the same container can belong to the same hardware device (e.g., a compute server, storage server, or management server) or different hardware devices within cloud platform 100.

[0067] The components may include database components, message queue components, orchestration components, logging components, virtualization components, business database components, configuration database components, and permission management components.

[0068] Software as a Service (SaaS) application 230 is used to provide services to users by composing user-deployed applications as API responses, based on Infrastructure as a Service (IaaS) platform 210 and Platform as a Service (PAS) platform 220. The application of SaaS application 230 and the container can communicate with each other through a web server.

[0069] It is worth noting that, Figure 2 This is merely an illustration and should not be construed as limiting the scope of this application. The layered structure of the cloud platform 100 may also include other modules. Figure 2 It is not shown in the middle.

[0070] The steps of the scheduling method provided in this application embodiment are executed by cloud nodes provided by cloud platform 100. When cloud platform 100 implements the scheduling scheme of this application embodiment, the cloud node or physical node implementing DNS scheduling function in cloud platform 100 acts as the first DNS scheduling node to perform traffic scheduling on the physical CDN nodes of cloud platform 100. For example, the first DNS scheduling node implementing scheduling function in cloud platform 100 can be... Figure 1 The management servers in the management server cluster 130 shown can be physical CDN nodes. Figure 1 The computing servers in computing server cluster 110 shown below. Next, we will combine... Figure 3 The scheduling method provided in the embodiments of this application will be described.

[0071] The scheduling method provided in this application embodiment can be applied to... Figure 2 The cloud platform shown can provide resources to user terminals through one or more physical CDN nodes, or it can schedule physical CDN nodes through a DNS scheduling node, for example... Figure 3 As shown, Figure 3 An architecture of a cloud platform 300 provided in this application embodiment Figure 1 .

[0072] Cloud platform 300 includes a first DNS scheduling node 310 and at least one physical CDN node ( Figure 3 The diagram shows a physical CDN node (i.e., the first physical CDN node 330, but not limited to one physical CDN node) and a client 340. The first DNS scheduling node 310 can be... Figure 1 The management server in the management server cluster 130 shown can have at least one physical CDN node. Figure 1 The computing servers in the computing server cluster 110 shown, and the client 340 can be... Figure 1 The user terminal in user terminal 150 shown.

[0073] The first DNS scheduling node 310 is communicatively connected to at least one physical CDN node and client 340, respectively. For example, the first DNS scheduling node 310 can communicate with at least one physical CDN node and client 340 via a wireless network or a wired network. The wireless network can be a local area network, wide area network, metropolitan area network, wireless network communication technology (WIFI), Bluetooth, etc., and the wired network can be a network connected by optical fiber, cable, twisted pair, etc. The embodiments of this application do not limit this.

[0074] Client 340 sends a DNS request to the first DNS scheduling node 310. A DNS request can be used to request access to a resource or a service, such as content acceleration services or internet access services. The DNS request includes the domain name of the resource or service requested by the user.

[0075] Client 340 can be a mobile terminal, tablet, laptop, virtual reality (VR) device, augmented reality (AR) device, mixed reality (MR) device, extended reality (ER) device, etc. Figure 3 (Not shown in the image).

[0076] The first DNS scheduling node 310 receives DNS requests sent by the client 340 and selects a first physical CDN node 330 from at least one physical CDN node whose traffic value is less than a preset traffic value. The traffic value indicates the traffic already occupied by the physical CDN node. The first DNS scheduling node sends indication information to the client 340, which includes the identification information of the first physical CDN node 330. The indication information is used to instruct the client 340 to send a DNS request to the first physical CDN node 330.

[0077] The identification information can be the node number, uniform resource locator (URL), node name, or other information that can uniquely identify the first physical CDN node 330.

[0078] For example, when implementing the content delivery network function through the cloud platform 300, the first DNS scheduling node 310 can be a DNS server with a 302 scheduling policy. The first DNS scheduling node 310 sends a 302 status code based on the Hypertext Transfer Protocol (HTTP) to the client 340. The 302 status code is used to instruct the client 340 to send a DNS request to the first physical CDN node 330, thereby redirecting the DNS request to the first physical CDN node 330. The 302 status code is a temporary redirection status code, indicating that the requested resource has been temporarily moved to the URL of the specified physical node given in the location header.

[0079] Optionally, to determine the first physical CDN node 330 among at least one physical CDN node, the first DNS scheduling node 310 may obtain the traffic value of each physical CDN node among at least one physical CDN node. The first DNS scheduling node 310 determines the first physical CDN node 330 whose traffic value is less than the preset traffic value based on the traffic value of each physical CDN node and the preset traffic value of each physical CDN node.

[0080] For example, when the first DNS scheduling node 310 is a DNS server with a 302 scheduling policy, the first DNS scheduling node 310 can actively obtain traffic values ​​from each physical CDN node, or it can receive traffic values ​​sent by each physical CDN node.

[0081] The first physical CDN node 330 responds to the DNS request and sends resources to the client 340.

[0082] The first physical CDN node 330 can be a router, optical modem, gateway, server, or other network devices. Figure 3 (Not shown in the image).

[0083] For example, when the first physical CDN node 330 is a server, the first physical CDN node 330 responds to the DNS request and sends the DNS request accelerated resources to the client 340.

[0084] The above describes the architecture of the cloud platform 300 when only one DNS scheduling node schedules physical CDN nodes. This application embodiment does not limit the number of scheduling nodes; the cloud platform 300 can also schedule physical CDN nodes through at least two scheduling nodes. For example, when the cloud platform 300 schedules physical CDN nodes through two DNS scheduling nodes... Figure 4 An architecture of a cloud platform 300 provided in this application embodiment Figure 2 .

[0085] Cloud platform 300 includes a first DNS scheduling node 310, a second DNS scheduling node 320, and at least one physical CDN node. Figure 4 The diagram shows a physical CDN node (i.e., the first physical CDN node 330, but not limited to one physical CDN node) and a client 340.

[0086] The first DNS scheduling node 310 is communicatively connected to the second DNS scheduling node 320, at least one physical CDN node, and the client 340. The second DNS scheduling node 320 is communicatively connected to the first DNS scheduling node 310, at least one physical CDN node, and the client 340. Each of the at least one physical CDN node is communicatively connected to both the first DNS scheduling node 310 and the second DNS scheduling node 320. The client 340 is communicatively connected to both the first DNS scheduling node 310 and the second DNS scheduling node 320.

[0087] The second DNS scheduling node 320 is used to obtain the traffic value of each physical CDN node in at least one physical CDN node. For example, the second DNS scheduling node 320 can actively obtain the traffic value from each physical CDN node, or it can receive the traffic value sent by each physical CDN node.

[0088] In order to determine the first physical CDN node 330 among at least one physical CDN node, the first DNS scheduling node 310 may obtain the traffic value of each physical CDN node among at least one physical CDN node sent by the second DNS scheduling node 320.

[0089] For example, when the first DNS scheduling node 310 is a DNS server with a 302 scheduling policy and the second DNS scheduling node 320 is a DNS server, the first DNS scheduling node 310 receives the traffic value of each physical CDN node obtained by the second DNS scheduling node 320.

[0090] about Figure 4 For the functions and examples of the first DNS scheduling node 310, the first physical CDN node 330, and the client 340, please refer to the above text. Figure 3 The relevant descriptions are not repeated here in the embodiments of this application.

[0091] The following is based on Figure 4 This explanation will take the cloud platform 300 execution scheduling method as an example. Figure 5 This is a flowchart illustrating a scheduling method provided in an embodiment of this application. (About...) Figure 5 The first DNS scheduling node 310, the first physical CDN node 330, and the client 340 can be referred to the above. Figure 3 The relevant descriptions will not be repeated here. For example... Figure 5 As shown, the scheduling method may include steps 501 to 504.

[0092] Step 501: The first DNS scheduling node 310 receives the DNS request sent by the client 340.

[0093] The first DNS scheduling node 310 receives a DNS request sent by the client 340. The DNS request contains identification information of the resources accessed by the user, such as the domain name information of web pages and the resource locator information of audio and video.

[0094] Step 502: The first DNS scheduling node 310 selects at least one physical CDN node 330 whose traffic value is less than the preset traffic value.

[0095] The first physical CDN node 330 is one or more of the physical CDN nodes whose traffic value is less than a preset traffic value. The traffic value indicates the traffic already used by the physical CDN node. The preset traffic value indicates the maximum traffic supported by the physical CDN node.

[0096] In the first optional implementation, the method by which the first DNS scheduling node 310 determines the physical CDN node with a traffic value less than a preset traffic value from at least one physical CDN node in step 502 can be configured according to actual needs. This application provides two specific implementations of the following methods for the first DNS scheduling node 310 to determine the physical CDN node with a traffic value less than a preset traffic value, but these do not constitute specific limitations.

[0097] Implementation 1: The first DNS scheduling node 310 can obtain the traffic value of the traffic already occupied by each physical CDN node in at least one physical CDN node. The first DNS scheduling node 310 determines the physical CDN node whose traffic value is less than the preset traffic value based on the traffic value of each physical CDN node and the corresponding preset traffic value.

[0098] The first DNS scheduling node 310 can obtain the traffic value of the traffic occupied by each physical CDN node in at least one physical CDN node according to a preset frequency.

[0099] The first DNS scheduling node 310 may also receive the traffic value of the traffic occupied by each physical CDN node in at least one physical CDN node sent by the second DNS scheduling node 320.

[0100] For example, the first physical CDN node may obtain the traffic value of each physical CDN node that has been occupied by at least one physical CDN node after receiving a DNS request. The first DNS scheduling node 310 may also periodically obtain the traffic value of each physical CDN node in real time, and use the latest obtained traffic value as the traffic value of each physical CDN node after receiving a DNS request.

[0101] Implementation 2: Physical CDN nodes include original nodes and virtualized virtual nodes. The available traffic of the virtual nodes of the second physical CDN node is the difference between the occupied traffic of the original node of the second physical CDN node and the preset traffic value of the second physical CDN node. The second physical CDN node can be any physical CDN node.

[0102] The first DNS scheduling node 310 can determine the physical CDN nodes whose traffic value is less than a preset traffic value by querying the available traffic of the virtual nodes in each physical CDN node. Accordingly, the first physical CDN node is some or all of the physical CDN nodes whose virtual nodes have available traffic.

[0103] The first scheduling node 310 can acquire, at a preset frequency, the first traffic value of the occupied traffic of the original nodes in at least one physical CDN node. The first DNS scheduling node 310 can also receive, from the second DNS scheduling node 320, the first traffic value of the occupied traffic of the original nodes in at least one physical CDN node. For each physical CDN node, the first DNS scheduling node 310 determines the available traffic of the virtual node by the difference between the preset traffic value corresponding to that physical CDN node and the first traffic value.

[0104] The first DNS scheduling node 310 can also receive available traffic from virtual nodes in at least one physical CDN node sent by the second DNS scheduling node 320.

[0105] The address information of the virtual node is the logical address information of the physical CDN node it belongs to.

[0106] The preceding text describes an optional method for the first DNS scheduling node 310 to determine physical CDN nodes whose traffic values ​​are less than a preset traffic value. Based on the aforementioned first optional method, the first DNS scheduling node 310 may select some or all of the physical CDN nodes whose traffic values ​​are less than the preset traffic value as the first physical CDN node 330.

[0107] Specifically, when the number of nodes required for a DNS request is greater than or equal to the total number of physical CDN nodes whose traffic value is less than a preset traffic value, all physical CDN nodes whose traffic value is less than the preset traffic value are designated as the first physical CDN node 330.

[0108] For example, when a DNS request requires resources from 100 physical CDN nodes, but the traffic of only 90 physical CDN nodes is less than the preset traffic value, the first DNS scheduling node 310 will use the 90 physical CDN nodes as the first physical CDN node 330.

[0109] Specifically, when the number of nodes required for a DNS request is less than the total number of physical CDN nodes whose traffic value is less than a preset traffic value, the first DNS scheduling node 310 will select a portion of the physical CDN nodes whose traffic value is less than the preset traffic value as the first physical CDN node 330.

[0110] For example, the first DNS scheduling node 310 may randomly select some physical CDN nodes as the first physical CDN node 330, or it may determine the first physical CDN node 330 by using a round-robin method, or it may select the first physical CDN node 330 in order of traffic value from smallest to largest. The embodiments in this application are not limited.

[0111] For example, when a DNS request requires resources from 100 physical CDN nodes, but the traffic of 120 physical CDN nodes is less than a preset traffic value, the first DNS scheduling node 310 will select 100 of the 120 physical CDN nodes as the first physical CDN node 330.

[0112] Based on the physical CDN node whose traffic value is less than the preset traffic value determined by the first optional determination method mentioned above, the first DNS scheduling node 310 may also be a part or all of the third physical CDN nodes whose traffic value is less than the preset traffic value and have a precise scheduling identifier as the first physical CDN node 330.

[0113] Specifically, when the number of nodes required for the DNS request is greater than or equal to the total number of third-party physical CDN nodes, all third-party physical CDN nodes will be used as the first physical CDN node 330. When the number of nodes required for the DNS request is less than the total number of third-party physical CDN nodes, a subset of the third-party physical CDN nodes will be used as the first physical CDN node 330.

[0114] Among them, the physical CDN nodes with precise scheduling identifiers can be free or low-cost physical CDN nodes, so that the first DNS scheduling node 310 can make full use of the resources of low-cost physical CDN nodes, improve the resource utilization rate of low-cost physical CDN nodes, and reduce resource costs.

[0115] Among them, the physical CDN nodes with precise scheduling identifiers can also be physical CDN nodes pre-selected by users, thereby performing traffic scheduling on the physical CDN nodes that users select and require precise scheduling, thus improving the user experience.

[0116] Precise scheduling is required when the physical CDN node is a free or low-cost node, meaning that all free resources of the physical CDN node must be used precisely. When the physical CDN node is a user-pre-selected physical CDN node, its resources must be used precisely to avoid scheduling traffic exceeding the physical CDN node's traffic limit.

[0117] In the second optional implementation, the first physical CDN node 330 may also be part or all of the physical CDN nodes whose traffic value is less than a preset traffic value among the multiple physical CDN nodes selected for load balancing.

[0118] For example, the first DNS scheduling node 310 may, upon receiving a DNS request, first perform DNS scheduling, determine the physical CDN nodes to be scheduled based on a load balancing algorithm, and then schedule the DNS request to the physical CDN nodes to be scheduled. Then, the first DNS scheduling node 310 may determine from the physical CDN nodes to be scheduled physical CDN nodes that the traffic value is less than a preset traffic value.

[0119] In step 502, the first DNS scheduling node 310 determines the physical CDN node with a traffic value less than a preset traffic value from among at least one physical CDN node and multiple physical CDN nodes selected by load balancing. This method can be configured according to actual needs. The two specific implementation methods provided in this application embodiment can be referred to Implementation 1 and Implementation 2 above, and this application embodiment does not impose any limitations on them.

[0120] Based on the second optional determination method mentioned above, where the first DNS scheduling node 310 determines the physical CDN nodes with traffic values ​​less than the preset traffic value among the multiple physical CDN nodes selected for load balancing, the first DNS scheduling node 310 may select some or all of the physical CDN nodes with traffic values ​​less than the preset traffic value as the first physical CDN node 330; the first DNS scheduling node 310 may also select some or all of the third physical CDN nodes with traffic values ​​less than the preset traffic value and with precise scheduling identifiers as the first physical CDN node 330.

[0121] The possible methods for determining the first physical CDN node 330 provided in this application embodiment can be referred to the relevant description above, and this application embodiment does not limit them.

[0122] When the first DNS scheduling node 310 uses all of the third physical CDN nodes as the first physical CDN node 330, in step 502, the first DNS scheduling node 310 can redirect DNS requests scheduled to physical CDN nodes that do not have precise scheduling identifiers to the first physical CDN node 330.

[0123] When the first DNS scheduling node 310 selects a portion of the third physical CDN nodes as the first physical CDN node 330, in step 502, the first DNS scheduling node 310 can, after selecting the first physical CDN node 330, redirect DNS requests scheduled to physical CDN nodes without precise scheduling identifiers to the first physical CDN node 330. The first DNS scheduling node 310 can also redirect DNS requests scheduled to other physical CDN nodes besides the first physical CDN node 330 to the first physical CDN node 330.

[0124] Step 503: The first DNS scheduling node 310 sends an instruction message to the client 340.

[0125] As one possible implementation, the indication information includes the identification information of the first physical CDN node 330, and the indication information is used to instruct the client 340 to send a DNS request to the first physical CDN node 330.

[0126] As one possible implementation, the indication information includes the address information of the virtual node in the first physical CDN node 330, and the indication information is used to instruct the client 340 to send the DNS request to the virtual node in the first physical CDN node 330.

[0127] That is, in step 503, the client 340 can redirect the DNS request to the virtual node of the first physical CDN node 330 according to the address information of the virtual node of the first physical CDN node 330.

[0128] The second physical CDN node includes at least one virtual node, and the first physical CDN node is part or all of the at least one physical CDN node whose at least one virtual node has available traffic. In step 503, the client 340 can redirect the DNS request to the virtual node with available traffic of the first physical CDN node 330 based on the address information of the virtual node with available traffic of the first physical CDN node 330.

[0129] As one possible implementation, the first DNS scheduling node 310 may send a 302 status code to the client 340. The 302 status code contains the identification information of the first physical CDN node 330, and the 302 status code is used to instruct the client 340 to send a DNS request to the first physical CDN node 330, that is, to redirect the DNS request to the first physical CDN node 330.

[0130] For example, the specific process of the first DNS scheduling node 310 sending an indication message to the client 340 to redirect the DNS request to a first physical CDN node 330 may include: the first DNS scheduling node 310 returning a 302 status code to the client 340, wherein the location header of the 302 status code contains the URL located at the first physical CDN node 330.

[0131] Optionally, the 302 status code contains identification information of the virtual nodes in the first physical CDN node 330.

[0132] Step 504: Client 340 sends a DNS request to the first physical CDN node 330.

[0133] As one possible implementation, after receiving the instruction information, the client 340 sends a DNS request to the first physical CDN node 330 according to the identification information of the first physical CDN node 330 in the instruction information.

[0134] Optionally, after receiving the instruction information, the client 340 sends a DNS request to the virtual node in the first physical CDN node 330 according to the address information of the virtual node in the first physical CDN node 330 in the instruction information.

[0135] Optionally, the indication information can be a 302 status code. After receiving the 302 status code, the client 340 sends a DNS request to the first physical CDN node 330 according to the identification information of the first physical CDN node 330 in the 302 status code.

[0136] For example, client 340 sends a DNS request to first physical CDN node 330 based on the URL of first physical CDN node 330, thereby redirecting the DNS request to first physical CDN node 330.

[0137] After receiving the 302 status code, the client 340 sends a DNS request to the virtual node in the first physical CDN node 330 based on the address information of the virtual node in the first physical CDN node 330 in the 302 status code.

[0138] Based on the above Figure 5As described in steps 501 to 504, after receiving a DNS request, the first DNS scheduling node 310 identifies at least one physical CDN node 330 whose traffic value is less than a preset traffic value. By sending an indication message containing the identification information of the first physical CDN node 330 to the client 340, the DNS request is redirected to the first physical CDN node 330 whose traffic value is less than the preset traffic value. The identification information is used to uniquely identify the first physical CDN node 330, thereby achieving accurate traffic scheduling for the first physical CDN node and improving the accuracy of node traffic scheduling.

[0139] The above text Figure 5 The steps described above describe the overall process of the scheduling method. Next, the process of configuring the available traffic of the virtual node in implementation 2 of step 502 above will be described. Figure 6 This is a schematic diagram illustrating a process for configuring the available traffic of a virtual node, as provided in an embodiment of this application. Figure 6 As shown, the process of configuring the available traffic of the virtual node may include steps 601 to 602.

[0140] Step 601: The first DNS scheduling node 310 obtains the first traffic value of the occupied traffic of the original node in each physical CDN node.

[0141] Each physical CDN node includes an original node, which refers to the node in the physical CDN node that corresponds to the hardware resources of the resources that provide DNS requests to client 340.

[0142] As one possible implementation, the first DNS scheduling node 310 may be the first traffic value that receives the occupied traffic reported by the original node in each physical CDN node.

[0143] As one possible implementation, the first DNS scheduling node 310 can be the first traffic value that actively obtains the traffic already occupied by the original node in each physical CDN node.

[0144] As one possible implementation, the first DNS scheduling node 310 can also be a receiver of the first traffic value sent by the second DNS scheduling node 320.

[0145] Step 602: The first DNS scheduling node 310 configures the difference between the preset traffic value and the first traffic value as the available traffic of the virtual node for each physical CDN node.

[0146] The first DNS scheduling node 310 configures the available traffic of the virtual nodes in the physical CDN node according to the preset traffic value and the first traffic value corresponding to the physical CDN node itself. That is, the first DNS scheduling node 310 sets the available traffic of the virtual nodes in the physical CDN node to the difference between the preset traffic value and the first traffic value.

[0147] In this context, a virtual node refers to a virtualized CDN software application within a physical CDN node. For example, a virtual node can be a virtual content delivery network (vCDN) node. The address information of a virtual node is the logical address information of the first physical CDN node, and this address information can be used for independent traffic statistics.

[0148] In one possible implementation, after receiving a DNS request, the first DNS scheduling node 310 sends an indication message to the client 340. The indication message includes the address information of the virtual node in the first physical CDN node 330, and is used to instruct the client 340 to send a DNS request to the virtual node of the first physical CDN node 330.

[0149] That is, the client 340 sends a DNS request to the virtual node according to the address information of the virtual node in the first physical CDN node 330 in the instruction information, thereby redirecting the DNS request to the virtual node of the first physical CDN node 330, performing real-time traffic scheduling on the virtual node, and filling the traffic gap of the first physical CDN node 330.

[0150] The first physical CDN node 330 can be part or all of the physical CDN nodes in which virtual nodes have available traffic.

[0151] Based on the above Figure 6 As described in steps 601 to 602, the first DNS scheduling node 310 configures the available traffic of the virtual nodes based on the preset traffic value corresponding to the physical CDN node and the first traffic value of the traffic already occupied by the original node in the physical CDN node. The address information of the virtual nodes in the first physical CDN node 330 is the logical address information of the first physical CDN node 330. The first DNS scheduling node 310 redirects DNS requests to the virtual nodes of the first physical CDN node 330. The virtual nodes are located within the first physical CDN node 330 and are logically associated with the first physical CDN node 330. Thus, the DNS request being redirected by the first DNS scheduling node 310 to the virtual nodes in the first physical CDN node is equivalent to the DNS request being redirected by the first DNS scheduling node 310 to the first physical CDN node 330, thereby improving the resource utilization of the first physical CDN node 330.

[0152] The overall process of the scheduling method has been described above. Next, we will describe another possible implementation of the scheduling method through a specific example. Figure 7 This is a schematic diagram illustrating a scheduling method provided in an embodiment of this application. (About...) Figure 7 For details on the specific implementation of the cloud platform 300, please refer to the aforementioned... Figure 4 The relevant descriptions will not be repeated here. Figure 7 In the illustrated scenario, a physical CDN node includes a primary node and a virtual node.

[0153] The second DNS scheduling node 320, upon receiving a DNS request, performs DNS scheduling. Based on a load balancing algorithm, it determines the physical CDN node to be scheduled from at least one physical CDN node and schedules the DNS request to the physical CDN node to be scheduled. The physical CDN nodes to be scheduled include... Figure 7 The target physical CDN node and other physical CDN nodes, wherein the target physical CDN node can be a free physical CDN node or a low-cost physical CDN node.

[0154] like Figure 7 As shown, the scheduling method includes steps one through six.

[0155] Step 1: The second DNS scheduling node 320 receives the first traffic value reported in real time by the original node in the target physical CDN node.

[0156] The target physical CDN node is the physical CDN node that requires precise scheduling. For example, the target physical CDN node can be a free physical CDN node. The first traffic value indicates the traffic value already occupied by the original node in the physical CDN node.

[0157] Step 2: The second DNS scheduling node 320 sends the first traffic value to the first DNS scheduling node 310.

[0158] Step 3: The first DNS scheduling node 310 configures the available traffic of the virtual node based on the difference between the preset traffic value of the target physical CDN node and the first traffic value.

[0159] For example, if the preset traffic value of a target physical CDN node is 200G and the first traffic value is 180G, then the available traffic of the virtual node of the target physical CDN node can be configured to 20G.

[0160] Step 4: The first DNS scheduling node 310 obtains the available traffic reported in real time by the virtual nodes in each target physical CDN node.

[0161] Step 5: The first DNS scheduling node 310 sends a 302 status code to the client 340 based on the IP information of the virtual nodes with available traffic in the target physical CDN node.

[0162] The 302 status code contains the IP information of the virtual node that has available traffic.

[0163] Step 6: Client 340 sends a DNS request to the virtual node in the target physical CDN node that has available traffic to locate other physical CDN nodes.

[0164] The first DNS scheduling node 310 redirects DNS requests that are directed to other physical CDN nodes to the target physical CDN node, specifically to a virtual node with available traffic, based on the 302 scheduling method.

[0165] Step 7: The first DNS scheduling node 310 performs real-time traffic scheduling based on the available traffic of the virtual nodes of the target physical CDN node.

[0166] Based on the above Figure 7 The description of steps one through seven in the text states that the first DNS scheduling node 310 uses the 302 scheduling method to perform traffic scheduling on the physical CDN nodes that require precise scheduling, fills the traffic gap of the free physical CDN nodes, thereby improving the resource utilization of low-cost physical CDN nodes and reducing resource costs.

[0167] The scheduling method provided according to this embodiment has been described in detail above. The following will combine... Figure 8 This describes the scheduling device provided in this embodiment.

[0168] Figure 8 This is a schematic diagram of a scheduling device 800 provided in an embodiment of this application. The scheduling device 800 can be used to implement the scheduling function of the first DNS scheduling node 310 in the above method embodiment, and therefore can also achieve the beneficial effects of the above method embodiment. In this embodiment, the scheduling device 800 can be... Figure 3 or Figure 4 The first DNS scheduling node 310 used to implement the scheduling function can also be a module (such as a chip) applied to the first DNS scheduling node 310.

[0169] The scheduling device 800 includes a receiving module 801, a processing module 802, and a sending module 803.

[0170] The receiving module 801 is used to receive DNS requests sent by the client. For example, the receiving module 801 is used to perform the above... Figure 5 Step 501 in the process.

[0171] Processing module 802 is used to select, among at least one physical CDN node, a first physical CDN node whose traffic value is less than a preset traffic value. The traffic value indicates the traffic already occupied by the physical CDN node. For example, processing module 802 is used to execute the above... Figure 5 Step 502 in the process.

[0172] The sending module 803 is used to send indication information to the client. This indication information includes the identification information of the first physical CDN node, and is used to instruct the client to send a DNS request to the first physical CDN node. For example, the sending module 803 is used to perform the above... Figure 5 Step 503 in the process.

[0173] As one possible implementation, the indication information is a 302 status code.

[0174] As one possible implementation, the second physical CDN node includes the original node and virtualized virtual nodes. The available traffic of the virtual nodes of the second physical CDN node is the difference between the occupied traffic of the original node of the second physical CDN node and the preset traffic value of the second physical CDN node. The second physical CDN node can be any physical CDN node.

[0175] The processing module 802 is specifically used to select the first physical CDN node among at least one physical CDN node where the virtual node has available traffic.

[0176] As one possible implementation, the address information of the virtual node in the first physical CDN node is the logical address information of the first physical CDN node, the identification information is the address information of the virtual node in the first physical CDN node, and the indication information is used to instruct the client to send a DNS request to the virtual node in the first physical CDN node.

[0177] As one possible implementation, the scheduling device 800 also includes:

[0178] The acquisition module 804 is used to obtain the first traffic value of the occupied traffic of the original node in each physical CDN node;

[0179] The processing module 802 is also used to configure the difference between the preset traffic value and the first traffic value as the available traffic of the virtual node for each physical CDN node.

[0180] As one possible implementation, the processing module is specifically used to select multiple physical CDN nodes according to load balancing among the at least one physical CDN node; and among the multiple physical CDN nodes, select the first physical CDN node whose traffic value is less than a preset traffic value.

[0181] As one possible implementation, the scheduling device 800 also includes:

[0182] The acquisition module 804 is used to acquire the traffic value of the traffic already occupied by each physical CDN node in at least one physical CDN node.

[0183] As one possible implementation, module 804 is specifically used to obtain the traffic value of the traffic already occupied by each physical CDN node in at least one physical CDN node according to a preset frequency.

[0184] As one possible implementation, the acquisition module 804 is specifically used to receive the traffic value of the traffic occupied by each physical CDN node in at least one physical CDN node sent by the second DNS scheduling node.

[0185] The receiving module 801, processing module 802, sending module 803, and acquiring module 804 can all be implemented in software or in hardware. For example, the implementation of the receiving module 801 will be described below. Similarly, the implementation of the processing module 802, sending module 803, and acquiring module 804 can refer to the implementation of the receiving module 801.

[0186] It is understood that the specific implementation methods of each module of the scheduling device 800 for executing the scheduling method can refer to the specific steps in the above method embodiments, and will not be repeated here.

[0187] As an example of a software functional unit, the receiving module 801 may include code running on a computing instance. The computing instance may include at least one of a physical host (computing device), a virtual machine, or a container. Further, the aforementioned computing instance may be one or more. For example, the receiving module 801 may include code running on multiple hosts / virtual machines / containers. It should be noted that the multiple hosts / virtual machines / containers used to run the code may be distributed within the same region or in different regions. Further, the multiple hosts / virtual machines / containers used to run the code may be distributed within the same availability zone (AZ) or in different AZs, each AZ including one or more geographically proximate data centers. Typically, a region may include multiple AZs.

[0188] Similarly, multiple hosts / virtual machines / containers used to run this code can be distributed within the same Virtual Private Cloud (VPC) or across multiple VPCs. Typically, a VPC is set up within a region. Communication between two VPCs within the same region, as well as between VPCs in different regions, requires a communication gateway to be set up within each VPC to enable interconnection between VPCs.

[0189] As an example of a hardware functional unit, the receiving module 801 may include at least one computing device, such as a server. Alternatively, the receiving module 801 may also be a device implemented using an application-specific integrated circuit (ASIC) or a programmable logic device (PLD). The PLD may be implemented using a complex programmable logical device (CPLD), a field-programmable gate array (FPGA), generic array logic (GAL), or any combination thereof.

[0190] The multiple computing devices included in the receiving module 801 can be distributed in the same region or in different regions. Similarly, the multiple computing devices included in the receiving module 801 can be distributed in the same Availability Zone (AZ) or in different AZs. Likewise, the multiple computing devices included in the receiving module 801 can be distributed in the same Virtual Private Cloud (VPC) or in multiple VPCs. These multiple computing devices can be any combination of computing devices such as servers, ASICs, PLDs, CPLDs, FPGAs, and GALs.

[0191] It should be noted that, in other embodiments, the receiving module 801 can be used to execute any step in the scheduling method, the processing module 802 can be used to execute any step in the scheduling method, and the acquiring module 804 can be used to execute any step in the scheduling method. The steps implemented by the receiving module 801, processing module 802, sending module 803, and acquiring module 804 can be specified as needed. The receiving module 801, processing module 802, sending module 803, and acquiring module 804 respectively implement different steps in the scheduling method to realize all the functions of the scheduling device.

[0192] This application also provides a computing device 900. For example... Figure 9As shown, the computing device 900 includes a bus 902, a processor 904, a memory 906, and a communication interface 908. The processor 904, the memory 906, and the communication interface 908 communicate with each other via the bus 902. The computing device 900 can be a server or a terminal device. It should be understood that this application does not limit the number of processors and memories in the computing device 900.

[0193] The 902 bus can be a Peripheral Component Interconnect (PCI) bus or an Extended Industry Standard Architecture (EISA) bus, etc. Buses can be categorized as address buses, data buses, control buses, etc. For ease of representation, Figure 9 The bus 902 may be represented by a single line, but this does not mean that there is only one bus or one type of bus. The bus 902 may include a path for transmitting information between various components of the computing device 900 (e.g., memory 906, processor 904, communication interface 908).

[0194] Processor 904 may include any one or more processors such as a central processing unit (CPU), a graphics processing unit (GPU), a microprocessor (MP), or a digital signal processor (DSP).

[0195] The memory 906 may include volatile memory, such as random access memory (RAM). The processor 904 may also include non-volatile memory, such as read-only memory (ROM), flash memory, hard disk drive (HDD), or solid state drive (SSD).

[0196] The memory 906 stores executable program code, which the processor 904 executes to implement the functions of the aforementioned receiving module 801, processing module 802, sending module 803, and acquiring module 804, thereby implementing the scheduling method. In other words, the memory 906 stores instructions for executing the scheduling method.

[0197] The communication interface 908 uses transceiver modules, such as, but not limited to, network interface cards and transceivers, to enable communication between the computing device 900 and other devices or communication networks.

[0198] This application also provides a computing device cluster. The computing device cluster includes at least one computing device. The computing device can be a server, such as a central server, an edge server, or a local server in a local data center. In some embodiments, the computing device can also be a terminal device such as a desktop computer, a laptop computer, or a smartphone.

[0199] like Figure 10 As shown, the computing device cluster includes at least one computing device 900. The memory 906 of one or more computing devices 900 in the computing device cluster may store the same instructions for executing the scheduling method.

[0200] In some possible implementations, the memory 906 of one or more computing devices 900 in the computing device cluster may also store a portion of the instructions for executing the scheduling method. In other words, a combination of one or more computing devices 900 can jointly execute the instructions for executing the scheduling method.

[0201] It should be noted that the memory 906 in different computing devices 900 within the computing device cluster can store different instructions, each used to execute a portion of the functions of the scheduling device. That is, the instructions stored in the memory 906 of different computing devices 900 can implement the functions of one or more modules among the receiving module 801, processing module 802, sending module 803, and acquiring module 804.

[0202] In some possible implementations, one or more computing devices in a computing device cluster can be connected via a network. This network can be a wide area network (WAN) or a local area network (LAN), etc. Figure 11 One possible implementation is shown. For example... Figure 11 As shown, two computing devices 900A and 900B are connected via a network. Specifically, they are connected to the network through communication interfaces in each computing device. In this possible implementation, the memory 906 in computing device 900A stores instructions for performing the functions of the receiving module 801, the sending module 803, and the acquiring module 804. Meanwhile, the memory 906 in computing device 900B stores instructions for performing the functions of the processing module 802.

[0203] Figure 11 The connection method between the computing device clusters shown can be that, considering that the scheduling method provided in this application needs to store DNS requests and traffic values, the functions implemented by the processing module 802 are delegated to the computing device 900B for execution.

[0204] It should be understood that Figure 11 The functions of the computing device 900A shown can also be performed by multiple computing devices 900. Similarly, the functions of the computing device 900B can also be performed by multiple computing devices 900.

[0205] This application also provides a computer program product containing instructions. The computer program product may be a software or program product containing instructions, capable of running on a computing device or stored on any usable medium. When the computer program product is run on at least one computing device, it causes the at least one computing device to execute a scheduling method.

[0206] This application also provides a computer-readable storage medium. The computer-readable storage medium can be any available medium that a computing device can store, or a data storage device such as a data center that includes one or more available media. The available medium can be a magnetic medium (e.g., floppy disk, hard disk, magnetic tape), an optical medium (e.g., DVD), or a semiconductor medium (e.g., solid-state drive). The computer-readable storage medium includes instructions that instruct the computing device to execute a scheduling method.

[0207] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention, and not to limit them; although the present invention has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features; and these modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the protection scope of the technical solutions of the embodiments of the present invention.

Claims

1. A scheduling method, characterized in that, The method, which involves applying a first Domain Name System (DNS) scheduling node in a cloud platform, wherein the cloud platform also includes at least one Physical Content Delivery Network (CDN) node and a client, comprises: Receive DNS requests sent by the client; Select the first physical CDN node among the at least one physical CDN nodes whose traffic value is less than a preset traffic value, wherein the traffic value is used to indicate the traffic already occupied by the physical CDN node; The client is sent an instruction message containing the identification information of the first physical CDN node. The instruction message is used to instruct the client to send the DNS request to the first physical CDN node.

2. The method according to claim 1, characterized in that, The indication information is a 302 status code.

3. The method according to claim 1 or 2, characterized in that, The second physical CDN node contains the original node and the virtualized virtual node. The available traffic of the virtual node of the second physical CDN node is the difference between the occupied traffic of the original node of the second physical CDN node and the preset traffic value of the second physical CDN node. The second physical CDN node can be any physical CDN node; Selecting the first physical CDN node whose traffic value is less than a preset traffic value from the at least one physical CDN node includes: Select the first physical CDN node among the at least one physical CDN node, where the virtual node has available traffic.

4. The method according to claim 3, characterized in that, The address information of the virtual node in the first physical CDN node is the logical address information of the first physical CDN node, the identification information is the address information of the virtual node in the first physical CDN node, and the indication information is used to instruct the client to send the DNS request to the virtual node in the first physical CDN node.

5. The method according to claim 3 or 4, characterized in that, The method further includes: Obtain the first traffic value of the original node's occupied traffic in each of the physical CDN nodes; For each physical CDN node, the difference between the preset traffic value and the first traffic value is configured as the available traffic of the virtual node.

6. The method according to any one of claims 1-5, characterized in that, Selecting the first physical CDN node whose traffic value is less than a preset traffic value from the at least one physical CDN node includes: Among the at least one physical CDN node, multiple physical CDN nodes are selected according to load balancing. Among the plurality of physical CDN nodes, the first physical CDN node with a traffic value less than a preset traffic value is selected.

7. The method according to claim 1, characterized in that, The method further includes: Obtain the traffic value of the traffic already occupied by each of the at least one physical CDN nodes.

8. The method according to claim 7, characterized in that, The step of obtaining the traffic value of the traffic already occupied by each of the at least one physical CDN nodes includes: The traffic value of the traffic already occupied by each of the at least one physical CDN nodes is obtained according to a preset frequency.

9. The method according to claim 7 or 8, characterized in that, The cloud platform further includes a second DNS scheduling node, and the step of obtaining the traffic value of the traffic already occupied by each of the at least one physical CDN node includes: Receive the traffic value of the traffic already occupied by each of the at least one physical CDN nodes sent by the second DNS scheduling node.

10. A scheduling device, characterized in that, An apparatus for use as a first DNS scheduling node in a cloud platform, the cloud platform further including at least one physical CDN node and a client, the apparatus comprising: A receiving module is used to receive DNS requests sent by the client; The processing module is used to select the first physical CDN node among the at least one physical CDN nodes whose traffic value is less than a preset traffic value, wherein the traffic value is used to indicate the traffic already occupied by the physical CDN node; The sending module is used to send indication information to the client. The indication information includes the identification information of the first physical CDN node. The indication information is used to instruct the client to send the DNS request to the first physical CDN node.

11. The apparatus according to claim 10, characterized in that, The indication information is a 302 status code.

12. The apparatus according to claim 10 or 11, characterized in that, The second physical CDN node contains the original node and the virtualized virtual node. The available traffic of the virtual node of the second physical CDN node is the difference between the occupied traffic of the original node of the second physical CDN node and the preset traffic value of the second physical CDN node. The second physical CDN node can be any physical CDN node; The processing module is specifically used to select the first physical CDN node among the at least one physical CDN node where the virtual node has available traffic.

13. The apparatus according to claim 12, characterized in that, The address information of the virtual node in the first physical CDN node is the logical address information of the first physical CDN node, the identification information is the address information of the virtual node in the first physical CDN node, and the indication information is used to instruct the client to send the DNS request to the virtual node in the first physical CDN node.

14. The apparatus according to claim 12 or 13, characterized in that, The device further includes an acquisition module for acquiring a first traffic value of the occupied traffic of the original node in each physical CDN node; The processing module is further configured to, for each physical CDN node, set the difference between the preset traffic value and the first traffic value as the available traffic of the virtual node.

15. The apparatus according to any one of claims 10-14, characterized in that, The processing module is specifically used to select multiple physical CDN nodes according to load balancing in the at least one physical CDN node. Among the plurality of physical CDN nodes, the first physical CDN node with a traffic value less than a preset traffic value is selected.

16. The apparatus according to claim 10, characterized in that, The device further includes: The acquisition module is used to acquire the traffic value of the traffic already occupied by each of the at least one physical CDN nodes.

17. The apparatus according to claim 16, characterized in that, The acquisition module is specifically used to acquire the traffic value of the traffic already occupied by each of the at least one physical CDN nodes at a preset frequency.

18. The apparatus according to claim 16 or 17, characterized in that, The acquisition module is specifically used to receive the traffic value of the traffic already occupied by each of the at least one physical CDN nodes sent by the second DNS scheduling node.

19. A computing device cluster, characterized in that, It includes at least one computing device, each computing device including a processor and memory; The processor of the at least one computing device is configured to execute instructions stored in the memory of the at least one computing device to cause the cluster of computing devices to perform the operational steps of the method as described in any one of claims 1-9.

20. A computer-readable storage medium, characterized in that, It includes computer program instructions, which, when executed by a cluster of computing devices, perform the operational steps of the method as described in any one of claims 1-9.

21. A computer program product containing instructions, characterized in that, When the instruction is executed by the computing device cluster, the computing device cluster performs the operation steps of the method as described in any one of claims 1-9.