A method, device, medium, and product for traffic scheduling and control of a content delivery network (CDN).
By prioritizing traffic scheduling during the DNS resolution phase and returning the IP addresses of local CDN nodes first, the problem of excessive bandwidth utilization of interconnection links caused by CDN traffic surges is solved, improving CDN service response speed and overall network traffic transmission quality, and ensuring user experience.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- WUHAN BOYIXUN INFORMATION TECH CO LTD
- Filing Date
- 2026-04-22
- Publication Date
- 2026-05-26
- Estimated Expiration
- Not applicable · inactive patent
Smart Images

Figure CN122093469A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of information technology, and in particular to a method, device, medium and product for traffic scheduling and control of a content delivery network (CDN). Background Technology
[0002] With the rapid popularization of internet video, short video, live streaming, and application download services, cross-province and cross-network traffic has experienced explosive growth. Among them, CDN (Content Delivery Network) traffic has accounted for 30%-40% of the traffic between operators' networks, becoming the main source of load for operators' interconnection links.
[0003] To reduce traffic pressure on interconnection links caused by CDN traffic surges, traditional rate limiting methods have emerged, such as QoS hard rate limiting, traffic shaping, and peak shaving. QoS hard rate limiting guarantees network speed by committing access rates and dropping data packets; traffic shaping controls network speed uniformity through caching; and peak shaving shifts system updates and large file backups to off-peak hours in the early morning when network usage is lower. In addition, user IP address-based rate limiting and expanding interconnection links are also employed.
[0004] Using the methods described above, traditional rate limiting methods easily lead to a decline in user access experience and trigger numerous user complaints. Rate limiting based on user IP addresses cannot adapt to scenarios with dynamic IPs for home broadband users, and is prone to mistakenly limiting critical services such as dedicated lines for government and enterprises, finance, government affairs, and instant messaging. Expanding capacity based on interconnected links is costly and time-consuming, and the speed cannot keep up with the pace of traffic growth. This results in some provinces having bandwidth utilization rates near 99% during peak hours on direct connections to national backbone networks, far exceeding the 70% safety threshold, leading to increased network latency, user access lag, and a rise in complaints.
[0005] The inventors discovered that related technologies mostly focus on post-event blocking methods and lack technical means to schedule traffic at the source, which makes it impossible to fundamentally reduce the scale of cross-network traffic and achieve long-term stable control of bandwidth utilization. Summary of the Invention
[0006] One objective of this application is to provide a traffic scheduling and control method, device, medium, and product for a content delivery network (CDN), at least to solve the technical problem of fundamentally reducing the scale of cross-network traffic.
[0007] To achieve the above objectives, some embodiments of this application provide the following aspects:
[0008] In a first aspect, some embodiments of this application provide a traffic scheduling and control method for a Content Delivery Network (CDN). The method includes: receiving a domain name resolution request from a user terminal, the domain name resolution request containing a domain name; receiving a resolution result from a CDN scheduling system according to the domain name resolution request; the resolution result containing the IP address of at least one CDN node; obtaining the IP address of a target CDN node according to the domain name, the resolution result, and a preset filtering policy; the filtering policy is used to control the retention or removal of CDN node IP addresses in the resolution result within a preset time period, so as to give priority to user terminals accessing local CDN nodes; and sending the IP address of the target CDN node to the user terminal.
[0009] Secondly, some embodiments of this application also provide an electronic device, the electronic device comprising: one or more processors; and a memory storing computer program instructions, which, when executed, cause the processor to perform the steps of the method described above.
[0010] Thirdly, some embodiments of this application also provide a computer-readable medium having computer program instructions stored thereon, which can be executed by a processor to implement the method described above.
[0011] Fourthly, some embodiments of this application also provide a computer program product, including a computer program / instructions that, when executed by a processor, implement the steps of the method described above.
[0012] Compared with related technologies, the solution provided in this application embodiment, when a user needs to access the Internet and initiates a domain name resolution request, resolves the domain name through the CDN scheduling system. The resolution result is preferentially returned to the CDN node to the DNS server. This approach of placing the control action before the DNS resolution stage, rather than taking control measures at the gateway of the interconnection link, achieves traffic diversion before the connection is established. This avoids problems such as web pages not being able to be opened due to data packet loss caused by traditional QoS hard rate limiting methods. By preferentially diverting 30%-40% of the traffic between operator networks to the local network CDN node, it avoids large traffic from other networks occupying the interconnection link between operators, releasing the bandwidth resources of the interconnection link. This not only improves the response speed of the diverted CDN services, but also improves the overall network traffic transmission quality. Attached Figure Description
[0013] One or more embodiments are illustrated by way of example with reference numerals in the accompanying drawings. These illustrations do not constitute a limitation on the embodiments. Elements with the same reference numerals in the drawings are denoted as similar elements. Unless otherwise stated, the figures in the drawings are not to be limited by scale.
[0014] Figure 1Exemplary flowcharts of traffic scheduling and control methods for content delivery networks (CDNs) provided in some embodiments of this application;
[0015] Figure 2 A schematic diagram of a DNS server workflow provided for some embodiments of this application;
[0016] Figure 3 A schematic diagram of a monitoring and update cycle workflow provided for some embodiments of this application;
[0017] Figure 4 This is a schematic diagram of an electronic device structure provided for some embodiments of this application. Detailed Implementation
[0018] To make the objectives, technical solutions, and advantages of the embodiments of this application clearer, the technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.
[0019] The following terms are used in this document:
[0020] CDN, or Content Delivery Network, caches website resources on the nodes closest to users by deploying server nodes around the world. When a user makes a request, they do not directly access the original server but connect to a CDN node.
[0021] DNS, or Domain Name System, is a core service of the Internet. As a distributed database that maps domain names to IP addresses, it makes it easier for people to access the Internet.
[0022] DPI, or Deep Packet Inspection, is a technology used to detect and process data transmitted over a network. Vendors typically use DPI to categorize traffic according to actual usage requirements.
[0023] like Figure 1 As shown in the figure, this application embodiment relates to a traffic scheduling and control method for a content delivery network (CDN), the method may include the following steps:
[0024] Step S01: Receive a domain name resolution request from the user terminal, wherein the domain name resolution request includes a domain name;
[0025] Step S02: Receive the resolution result from the CDN scheduling system according to the domain name resolution request; the resolution result contains the IP address of at least one CDN node;
[0026] Step S03: Obtain the IP address of the target CDN node based on the domain name, the resolution result, and the preset filtering strategy; the filtering strategy is used to control the retention or removal of CDN node IP addresses in the resolution result within a preset time period, so that users can preferentially access the local CDN nodes.
[0027] Step S04: Send the IP address of the target CDN node to the user terminal.
[0028] Regarding step S01, the local DNS server can receive domain name resolution requests sent by the user and extract the domain names from the requests. The purpose of extracting the domain names is to facilitate subsequent filtering, namely, to filter out the domain names that require CDN traffic scheduling and management.
[0029] Regarding step S02, the local DNS server can receive all the resolution results returned by the CDN scheduling system. The CDN scheduling system can distribute the IP addresses of multiple CDN nodes, and in interconnection scenarios, multiple CDN server nodes will be deployed in the internal data centers of different operators. These IP addresses can also have different operator attributes; for example, the three returned IP addresses may belong to China Mobile, China Unicom, and China Telecom, respectively.
[0030] For steps S03-S04, a preset filtering policy can be configured on the DNS server. This policy filters the domain names from step S01 and the resolution results from step S02 to obtain the IP addresses of the target CDN nodes. The resolution results may contain multiple Class A and AAAA IP address records with different carrier attributes, but the user is typically a single carrier user. The CDN node corresponding to the user's carrier is designated as the local CDN node, and CDN nodes not corresponding to the user's carrier are designated as external CDN nodes. The preset filtering policy can filter domain names and local CDN nodes that meet the requirements for CDN traffic scheduling and control, while eliminating external CDN nodes, thus ensuring that users prioritize access to local CDN nodes within a preset time period.
[0031] It is not difficult to see that, compared with related technologies, the solution provided in this application embodiment, when a user needs to access the Internet and initiates a domain name resolution request, resolves the domain name through the CDN scheduling system. The resolution result is returned to the CDN node to the DNS server first. This approach of placing the control action before the DNS resolution stage, rather than taking control at the gateway of the interconnection link, achieves traffic diversion before the connection is established. This avoids problems such as web pages not being able to be opened due to data packet loss caused by traditional QoS hard rate limiting methods. By prioritizing the diversion of 30%-40% of the traffic between operator networks to the local CDN node, it avoids large traffic from other networks occupying the interconnection link between operators, releasing the bandwidth resources of the interconnection link. This not only improves the response speed of the diverted CDN services, but also improves the overall network traffic transmission quality.
[0032] In one embodiment, the preset filtering strategy includes at least one of domain name matching rules, filtering rules, and policy effective period rules;
[0033] The domain name matching rules are used to match domain names in the traffic domain name list; the traffic domain name list is a set of domain names corresponding to CDN services that are sorted by bandwidth consumption ratio and selected from the top preset proportion.
[0034] The filtering rules are used to filter the IP addresses in the parsing results based on the local CDN node IP address database and the external CDN node IP address database, retaining the IP addresses belonging to the local CDN node IP address database and removing the IP addresses belonging to the external CDN node IP address database.
[0035] The policy effective period rule is used to control the enabling or disabling of the filtering policy.
[0036] Specifically, the traffic domain name list is imported into the DNS server, and by configuring domain name matching rules, the filtering policy is only applied to domain names in the traffic domain name list, while domain names outside the list are processed according to the normal resolution process.
[0037] By configuring filtering rules, when the DNS server receives the resolution results returned by the CDN scheduling system, it automatically compares the local CDN node IP address database with the external CDN node IP address database. It retains IP addresses belonging to the local CDN node IP address database and discards IP addresses belonging to the external CDN node IP address database. The local CDN node IP address database contains CDN node IP addresses corresponding to the user's ISP, while the external CDN node IP address database contains CDN node IP addresses corresponding to ISPs other than the user's ISP. For example, if the user uses China Telecom, IP addresses belonging to China Telecom CDN nodes are retained, while IP addresses belonging to China Mobile or China Unicom CDN nodes are discarded.
[0038] By configuring policy activation time rules, preset filtering policies can be enabled only during peak hours in the morning and evening, and automatically disabled during off-peak hours. For example, peak hours in the evening can be 07:00-08:30 and 19:30-23:30, while off-peak hours can be 00:00-19:30, ensuring flexibility for user access during off-peak hours.
[0039] In this embodiment, by configuring a preset filtering policy in the DNS server, after the DNS server receives the resolution result, it shifts from the traditional rate-limiting method—where traffic is blocked when it converges to the gateway—to changing the traffic flow to achieve precise traffic control. Specifically, domain name matching rules can filter domain names that do not conform to the matching rules; the filtering rules, by retaining the IP addresses of the local CDN nodes, force users to access CDN nodes within the operator, ensuring closed-loop transmission of traffic within the operator and avoiding the occupation of interconnection links; and the policy's effective time period rules enhance the operator's operational flexibility.
[0040] In one embodiment, obtaining the IP address of the target CDN node based on the domain name, the resolution result, and a preset filtering strategy includes:
[0041] If the current time meets the effective period rules of the policy, and the domain name meets the domain name matching rules, and the resolution result contains both the local CDN node and the external CDN node: the resolution result is filtered based on the filtering rules, and the IP address belonging to the local CDN node IP address database is retained as the IP address of the target CDN node;
[0042] If the domain name does not conform to the domain name matching rules, or if the resolution result does not simultaneously contain the local CDN node and the external CDN node: the IP address in the resolution result will be used as the IP address of the target CDN node.
[0043] Specifically, using an IP address belonging to the local CDN node IP address database as the target CDN node's IP address requires meeting the policy's effective time period rules and domain name matching rules, as well as ensuring that the DNS resolution result includes both local and external CDN nodes. If the domain name does not meet the domain name matching rules, or if the DNS resolution result does not contain local or external CDN nodes, the normal resolution process is followed without any comparison or removal, and the IP address in the resolution result is directly returned as the target CDN node's IP address. The IP address in the resolution result can be any CDN node IP address or an IP address from the DNS resolution result.
[0044] For example, if the user is a China Telecom user, after obtaining the IP address of the local CDN node, a communication link is directly established with the CDN node in the province where the user is located. The relevant traffic is transmitted in a closed loop within the provincial China Telecom backbone network and metropolitan area network, without going through the interconnection links of China Telecom → China Unicom and China Telecom → China Mobile. This significantly reduces the traffic load on the interconnection links and achieves a rapid decrease in bandwidth utilization.
[0045] In this embodiment, by simultaneously satisfying the three conditions of time period, domain name, and coexistence of local and inter-network CDN nodes, the DNS server performs retention and removal actions. Thus, the DNS server does not need to compare IPs for every resolution result; it can only activate filtering rules when the domain name and time period meet the corresponding rules. This reduces the computational burden on DNS devices, improves the processing capacity for massive requests, achieves a closed loop of traffic within the operator's intranet, and reduces cross-network settlement costs. By directly transmitting the resolution result when the domain name does not meet the matching rules, the impact on non-CDN services is eliminated, and it will not affect the use of government, financial, and other services. Even after determining that local and inter-network coexistence is not possible, the resolution result is still directly transmitted, avoiding network outages for users due to forced IP filtering and ensuring that users can always access web pages.
[0046] In one embodiment, obtaining the IP address of the target CDN node based on the domain name, the resolution result, and the preset filtering strategy further includes:
[0047] If the current time does not conform to the effective period rules of the policy, and the domain name conforms to the domain name matching rules, and the resolution result contains both the local CDN node and the external CDN node: the IP address of the external CDN node in the current region in the resolution result is used as the IP address of the target CDN node.
[0048] Specifically, a carrier's CDN nodes can be divided by region, which can be a province or city. When a domain name and local / international CDN nodes coexist, and if the current time does not fall under peak busy periods and the domain name matches the matching rules, in order to balance the settlement ratio of interconnection links, even if the resolution result contains both local and international CDN nodes, the DNS server will no longer remove the IP address of the international CDN node. Instead, it will prioritize selecting the IP address of the international CDN node that is returned through the interconnection link, i.e., the IP address of the international CDN node in the current region, as the IP address of the target CDN node.
[0049] like Figure 2 As shown, when the parsing result does not contain the IP address of the CDN node in the current region, the IP address of the local CDN node is returned as the IP address of the target CDN node without going through the interconnection link.
[0050] In this embodiment, by simultaneously satisfying the conditions of domain name and coexistence of local and external CDN nodes, but not meeting the requirements during peak hours, the interconnection links between operators are used first, saving the operator's internal network bandwidth resources. Using the interconnection links during off-peak hours is also less likely to cause traffic congestion and user lag.
[0051] In one embodiment, the filtering strategy further includes a degradation rule;
[0052] When the current time conforms to the policy's effective period rule and the domain name conforms to the domain name matching rule, the method further includes:
[0053] If the parsing result contains an IP address belonging to the local CDN node IP address database but does not contain an IP address belonging to the current region in the local CDN node IP address database, then the downgrade rule is triggered, the IP address of the target CDN node is determined to be a cross-region IP address in the local CDN node IP address database, and the IP address of the other network CDN node is not returned.
[0054] Specifically, by configuring a degradation strategy, the following three conditions are met: time period, domain name, and coexistence of local and external CDN nodes. However, when the resolution result does not contain the IP address of the local CDN node, the IP address of the CDN node outside the local area is returned to the user, and no IP address of any external CDN node is returned.
[0055] In this embodiment, by forcibly returning the IP address of a CDN node outside the local network area, traffic is locked within the backbone network of this operator, preventing any return of IP addresses from other networks, reducing cross-network settlement traffic. Compared with the interconnection links during peak hours, the cross-regional traffic within this operator has greater bandwidth redundancy, and the user's service experience is better than cross-network access.
[0056] In one embodiment, receiving the resolution result from the CDN scheduling system according to the domain name resolution request includes:
[0057] Send a recursive query request to the CDN scheduling system, the recursive query request carrying the network segment information to which the user's IP address belongs;
[0058] The recursive query response is received from the CDN scheduling system as the parsing result. The recursive query response is determined by the CDN scheduling system based on the network segment information, including the IP address of the local CDN node with the operator attribute of the user terminal.
[0059] Specifically, the ECS (EDNSClientSubnet) function, as an extension of DNS, allows DNS servers to include the user's ISP network segment and geographical location information when sending domain name resolution requests. After enabling ECS on the local DNS server, when the DNS server initiates a recursive query request to the CDN scheduling system, it carries the user's ISP network segment and geographical location information. This enables the CDN scheduling system to accurately identify the user's ISP and location, and prioritize returning the local ISP's CDN node IP to the DNS server.
[0060] For example, when enabling ECS functionality on the local DNS server of the user's province, the specific configuration is as follows: When a user terminal initiates a domain name resolution request, the DNS server extracts the user terminal's IP address, identifies the province's Telecom network segment to which it belongs, and when the DNS server initiates a recursive query to the CDN scheduling system, it carries the network segment information in the query request. Based on the carried network segment information, the CDN scheduling system identifies the user as a Telecom user in that province and prioritizes returning the IP address of the provincial Telecom CDN node.
[0061] In this embodiment, the recursive query request does not carry the user's specific IP address, thus protecting user privacy and increasing the proportion of local CDN node IP addresses in the resolution results. This helps ensure that the user's end obtains local CDN nodes, further improving user access speed and reducing cross-network traffic.
[0062] In one embodiment, after sending the IP address of the target CDN node to the user terminal, the method further includes:
[0063] Receive the updated list of traffic domain names and filtering rules; the list of traffic domain names and filtering rules are dynamically generated based on the collection results of experience indicators such as interconnection link bandwidth utilization, user access latency, packet loss rate and user complaint volume.
[0064] Specifically, a dedicated monitoring and optimization platform can be built to achieve end-to-end monitoring and dynamic adjustment. The CDN server receives the updated list of traffic domains and filtering rules. The monitoring and optimization platform collects real-time data on the busy and idle bandwidth utilization of interconnection links, while also monitoring user access latency, packet loss rate, complaint volume, and other experience indicators, and then updates the list of traffic domains and filtering rules.
[0065] In this embodiment, a real-time feedback mechanism based on interconnect link bandwidth utilization (such as 75% and 65% thresholds) is introduced, which can automatically and flexibly adjust the control range according to link pressure. This software-defined traffic diversion method does not rely on time-consuming and costly physical expansion of interconnect links, and can keep the link load stable in a safe zone below 70% bandwidth utilization for a long time, fundamentally alleviating the pressure of cross-province and cross-network traffic settlement.
[0066] In one embodiment, the updated list of traffic domains and filtering rules satisfy the following:
[0067] If the bandwidth utilization of the interconnection link is greater than the first threshold, the scope of the traffic domain name list is expanded, and the filtering rule increases the proportion of IP address removal from the CDN node IP address database of the other network.
[0068] If the utilization rate of the interconnection link bandwidth is less than the second threshold, the scope of the traffic domain name list is reduced, and the filtering rules relax the filtering restrictions on IP address databases belonging to other network CDN nodes; the first threshold is greater than the second threshold.
[0069] Specifically, the first threshold can be 75%, and the second threshold can be 65%. When the bandwidth utilization of interconnection links is higher than 75%, the scope of the high-traffic domain name list is automatically expanded, and the filtering strategy is strengthened; when the bandwidth utilization of interconnection links is lower than 65%, the filtering strategy is appropriately relaxed. Figure 3 As shown, each time the user receives the final resolution result sent by the CDN server, it can update the traffic domain name list and filtering rules and enter the DNS server resolution stage, and so on in a loop.
[0070] For example, assuming the user is a China Telecom user in a certain province, the monitoring and optimization platform collects bandwidth utilization data for all interconnected links between China Telecom and China Unicom, and between China Telecom and China Mobile, every 5 minutes. Simultaneously, it monitors indicators such as user access latency, packet loss rate, and user complaints. Then, when a link bandwidth utilization rate is greater than 75%, the platform automatically expands the list of high-traffic domain names by 10% and tightens the filtering policy, removing more external CDN IPs. When the link bandwidth utilization rate is less than 65%, the list of high-traffic domain names is reduced by 5%, and the filtering policy is appropriately relaxed to allow a small amount of non-core external CDN traffic, balancing bandwidth pressure and user experience. Finally, the monitoring data can be summarized and analyzed weekly to optimize the list of high-traffic domain names, the IP address database, and the DNS filtering policy, ensuring the adaptability and effectiveness of the preset filtering policies. A monitoring report is also generated to provide data support for subsequent reporting.
[0071] As another implementation, if the bandwidth utilization of the interconnection link is within the maintenance range between the second threshold and the first threshold (including the case where it is equal to the second threshold), then the current list of high-traffic domain names and filtering rules remain unchanged.
[0072] In this embodiment, the traffic domain name list and filtering rules are dynamically adjusted according to the actual load of the interconnection link. During busy periods, the interconnection link is ensured not to crash, and restrictions are lifted during idle periods. The monitoring indicators are not limited to bandwidth utilization, but also cover latency, packet loss rate and complaint volume to ensure user experience. Through regular monitoring and updates and periodic summary analysis, the CDN-based rate limiting management method is transformed from a static method to an intelligent method with adaptive capabilities.
[0073] In one embodiment, the traffic domain name list is pre-built in the following manner:
[0074] By using DPI devices, traffic on interconnected links is identified, CDN services whose bandwidth consumption exceeds a preset threshold are filtered, and the domain names corresponding to the CDN services are identified.
[0075] Specifically, by deploying DPI devices on the operator's backbone network, all traffic on the interconnection links is identified and analyzed in real time. CDN-related services with bandwidth consumption exceeding a preset threshold are selected, and their corresponding domain names are compiled into a traffic domain name list. This list can be dynamically updated based on traffic changes. In practice, CDN-related traffic with high bandwidth consumption can be video, live streaming, and download traffic, while CDN services with high latency requirements, such as gaming and other financial services, are not included in the traffic domain name list.
[0076] For example, using DPI monitoring equipment deployed on a provincial telecommunications network, real-time data collection, identification, and analysis are performed on interconnection links between China Telecom and China Unicom, and between China Telecom and China Mobile. This allows for the selection of the top 10% of CDN-related services in terms of peak bandwidth usage, creating a list of high-traffic domain names, as shown in Table 1. This list can be updated weekly, adding high-traffic domain names and removing low-traffic domain names based on changes in DPI-monitored traffic proportions.
[0077] Table 1
[0078] High-consumption application categories High-cost domain names short video category douyin.com (Douyin), kuaishou.com (Kuaishou), live.qq.com (Tencent Live), video.weixin.qq.com (WeChat Video Account); Long video category v.qq.com (Tencent Video), iqiyi.com (iQiyi), youku.com (Youku), mgtv.com (Mango TV) Application Download appstore.huawei.com (Huawei App Store), app.mi.com (Xiaomi App Store), sj.qq.com (App Store) Public CDN Class Baidu CDN accelerated domains, Alibaba CDN accelerated domains, ByteDance CDN accelerated domains Music and System Updates music.163.com (NetEase Cloud Music), music.qq.com (QQ Music), and the terminal system update server domain.
[0079] In this embodiment, unlike the traditional coarse-grained rate limiting based on user IP address, a domain name matching rule based on the traffic domain name list configured according to DPI identification is adopted to achieve precise isolation of services. This effectively avoids the misinterpretation of critical services such as government and enterprise dedicated lines, financial transactions, government office work, and instant messaging in home broadband dynamic IP or shared IP scenarios, thus ensuring the communication reliability of high-value services.
[0080] In one embodiment, the local CDN node IP address database and the external CDN node IP address database are pre-established in the following ways:
[0081] Collect the CDN node IP addresses of this operator, and classify them according to region and service type to establish the CDN node IP address database of this network;
[0082] Collect CDN node IP addresses from non-local operators and categorize them by region and business type to establish the external CDN node IP address database.
[0083] Specifically, taking China Telecom as an example, the following steps are taken: First, a local CDN node IP address database is established: This database collects CDN node IP addresses from within China Telecom's province and from other provinces nationwide, categorizing them by region and service type. This database is updated weekly, removing invalid IPs and adding new ones. Second, a cross-network CDN node IP address database is established: This database collects CDN node IP addresses from within China Mobile and China Unicom's provinces, as well as from other provinces nationwide, categorizing them by operator and region. This database is updated weekly to ensure accurate identification of cross-network CDN IPs.
[0084] The steps of the various methods described above are only for clarity. In practice, they can be combined into one step or some steps can be split into multiple steps. As long as they include the same logical relationship, they are all within the scope of protection of this application. Adding insignificant modifications or introducing insignificant designs to the algorithm or process, but without changing the core design of the algorithm and process, are also within the scope of protection of this application.
[0085] Furthermore, some embodiments of this application also provide an electronic device. The electronic device can be various forms of digital computer, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, etc. The electronic device can also be various forms of mobile devices, such as cellular phones, smartphones, wearable devices, and other similar computing devices.
[0086] The electronic device includes: one or more processors; and a memory storing computer program instructions that, when executed, cause the processor to perform the steps of the methods provided in any one or more of the above embodiments. Figure 4An exemplary structural diagram of the electronic device is disclosed. The electronic device includes one or more processors 1101, a memory 1102, and interfaces for connecting the components, including high-speed interfaces and low-speed interfaces. The components are interconnected via different buses and can be mounted on a common motherboard or otherwise installed as needed. The processors can process instructions executed within the electronic device, including instructions stored in or on memory to display graphical information of a GUI on an external input / output device (such as a display device coupled to the interface). In some other embodiments, multiple processors and / or multiple buses can be used with multiple memories and multiple memory modules, if desired. Similarly, multiple electronic devices can be connected, each providing some of the necessary operations. The components, their connections and relationships, and their functions shown herein are merely examples and are not intended to limit the implementation of the present application described and / or claimed herein.
[0087] The electronic device may further include an input device 1103 and an output device 1104. The processor 1101, memory 1102, input device 1103 and output device 1104 may be connected by a bus or other means, as shown in the figure, which is connected by a bus.
[0088] Input device 1103 can receive input numerical or character information, and generate key signal inputs related to user settings and function control of the electronic device, such as a touch screen, keypad, mouse, trackpad, touchpad, joystick, one or more mouse buttons, trackball, joystick, etc. Output device 1104 may include a display device, auxiliary lighting device (e.g., LED), and haptic feedback device (e.g., vibration motor). The display device may include, but is not limited to, a liquid crystal display, a light-emitting diode display, and a plasma display. In some embodiments, the display device may be a touch screen.
[0089] To provide interaction with the user, the electronic device can be a computer. The computer has: a display device (e.g., a cathode ray tube or LCD monitor) for displaying information to the user; and a keyboard and pointing device (e.g., a mouse) through which the user provides input to the computer. Other types of devices can also be used to provide interaction with the user; for example, feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback); and input from the user can be received in any form (e.g., voice input or tactile input).
[0090] In this embodiment, a computer-readable medium stores a computer program / instructions that, when executed by a processor, implement the steps of the methods provided in any one or more of the above embodiments. This computer-readable medium may be included in the electronic device described in the above embodiments; or it may exist independently and not assembled into that device. The aforementioned computer-readable medium carries one or more computer-readable instructions.
[0091] The memory 1102 can serve as a non-transitory computer-readable storage medium, used to store non-transitory software programs, non-transitory computer-executable programs, and modules. The processor 1101 executes various functional applications and data processing of the server by running the non-transitory software programs, instructions, and modules stored in the memory 1102, thereby implementing the program instructions / modules corresponding to the methods provided in any one or more of the embodiments described above in this application.
[0092] The memory 1102 may include a program storage area and a data storage area. The program storage area may store the operating system and applications required for at least one function; the data storage area may store data created based on the use of the electronic device. Furthermore, the memory 1102 may include high-speed random access memory and may also include non-transitory memory, such as at least one disk storage device, flash memory device, or other non-transitory solid-state storage device. In some embodiments, the memory 1102 may optionally include memory remotely located relative to the processor 1101, and these remote memories can be connected to the electronic device via a network. Examples of such networks include, but are not limited to, the Internet, intranets, local area networks, mobile communication networks, and combinations thereof.
[0093] It should be noted that the computer-readable medium described in this application can be a computer-readable signal medium or a computer-readable storage medium, or any combination thereof. Computer-readable media can be, for example, but not limited to, electrical, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatuses, or devices, or any combination thereof. More specific examples of computer-readable storage media may include, but are not limited to, electrical connections having one or more wires, portable computer disks, hard disks, random access memory, read-only memory, erasable programmable read-only memory, optical fibers, portable compact disk read-only memory, optical storage devices, magnetic storage devices, or any suitable combination thereof. In this application, a computer-readable medium can be any tangible medium containing or storing a program that can be used by or in conjunction with an instruction execution system, apparatus, or device.
[0094] Computer-readable media include permanent and non-permanent, removable and non-removable media, which can store information by any method or technology. Information can be computer-readable instructions, data structures, program modules, or other data. Examples of computer storage media include, but are not limited to, phase-change memory, static random access memory, dynamic random access memory, other types of random access memory, read-only memory, electrically erasable programmable read-only memory, flash memory or other memory technologies, read-only optical discs, digital versatile optical discs or other optical storage, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other non-transfer medium that can be used to store information accessible by a computing device.
[0095] Computer program code for performing the operations of this application can be written in one or more programming languages or a combination thereof, including object-oriented programming languages such as Java, Smalltalk, and C++, and conventional procedural programming languages such as C or similar languages. The program code can be executed entirely on the user's computer, partially on the user's computer, as a standalone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In cases involving remote computers, the remote computer can be connected to the user's computer via any type of network—including local area networks (LANs) or wide area networks (WANs), or it can be connected to an external computer (e.g., via the Internet using an Internet service provider).
[0096] In the above embodiments, all or part of the implementation can be achieved through software, hardware, firmware, or any combination thereof. For example, it can be implemented using an application-specific integrated circuit (ASIC), a general-purpose computer, or any other similar hardware device. In some embodiments, the software program of this application can be executed by a processor to implement the above steps or functions. Similarly, the software program of this application (including related data structures) can be stored in a computer-readable recording medium, such as RAM memory, magnetic or optical drives, floppy disks, and similar devices. In addition, some steps or functions of this application can be implemented in hardware, for example, as circuitry that cooperates with a processor to perform the various steps or functions.
[0097] The computer program product provided in this application includes one or more computer programs / instructions. When executed by a processor, these computer programs / instructions generate, in whole or in part, the processes or functions described in this application. The computer may be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions may be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, the computer instructions may be transmitted from one website, computer, server, or data center to another website, computer, server, or data center via wired (e.g., coaxial cable, fiber optic, digital subscriber line) or wireless (e.g., infrared, wireless, microwave, etc.) means. The computer-readable storage medium may be any available medium that a computer can access or a data storage device such as a server or data center that integrates one or more available media. The available medium may 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), etc.
[0098] The flowcharts or block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of devices, methods, and computer program products according to various embodiments of this application. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of code containing one or more executable instructions for implementing a specified logical function. It should also be noted that in some alternative implementations, the functions indicated in the blocks may occur in a different order than those indicated in the drawings. For example, two consecutively indicated blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, may be implemented using a dedicated hardware-specific system that performs the specified function or operation, or using a combination of dedicated hardware and computer instructions.
[0099] The scope of this application is defined by the appended claims rather than the foregoing description, and is therefore intended to encompass all variations falling within the meaning and scope of equivalents of the claims. No reference numerals in the claims should be construed as limiting the scope of the claims. Furthermore, it is clear that the word "comprising" does not exclude other elements or steps, and the singular does not exclude the plural. Terms such as "first," "second," etc., are used only to distinguish descriptions and do not indicate any particular order, nor should they be construed as indicating or implying relative importance.
[0100] The above description is merely a specific embodiment of this application, but the scope of protection of this application is not limited thereto. Any variations or substitutions that can be easily made by those skilled in the art within the scope of the technology disclosed in this application should be included within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims, and the above embodiments should be regarded as exemplary and non-limiting.
Claims
1. A traffic scheduling and control method for a Content Delivery Network (CDN), characterized in that, The method includes: Receive a domain name resolution request from the user, the domain name resolution request containing a domain name; The resolution result is received from the CDN scheduling system according to the domain name resolution request; the resolution result contains the IP address of at least one CDN node; Based on the domain name, the resolution result, and the preset filtering policy, the IP address of the target CDN node is obtained; the filtering policy is used to control the retention or removal of the CDN node IP address in the resolution result within a preset time period, so that the user terminal can access the local CDN node first. Send the IP address of the target CDN node to the user terminal.
2. The method according to claim 1, characterized in that, The preset filtering strategy includes at least one of domain name matching rules, filtering rules, and policy effective period rules; The domain name matching rules are used to match domain names in the traffic domain name list; the traffic domain name list is a set of domain names corresponding to CDN services that are sorted by bandwidth consumption ratio and selected from the top preset proportion. The filtering rules are used to filter the IP addresses in the parsing results based on the local CDN node IP address database and the external CDN node IP address database, retaining the IP addresses belonging to the local CDN node IP address database and removing the IP addresses belonging to the external CDN node IP address database. The policy effective period rule is used to control the activation or deactivation of the preset filtering policy.
3. The method according to claim 2, characterized in that, The step of obtaining the IP address of the target CDN node based on the domain name, the resolution result, and the preset filtering strategy includes: If the current time meets the effective period rules of the policy, and the domain name meets the domain name matching rules, and the resolution result contains both the local CDN node and the external CDN node: the resolution result is filtered based on the filtering rules, and the IP address belonging to the local CDN node IP address database is retained as the IP address of the target CDN node; If the domain name does not conform to the domain name matching rules, or if the resolution result does not simultaneously contain the local CDN node and the external CDN node: the IP address in the resolution result will be used as the IP address of the target CDN node.
4. The method according to claim 3, characterized in that, The filtering strategy also includes degradation rules; When the current time conforms to the policy's effective period rule and the domain name conforms to the domain name matching rule, the method further includes: If the parsing result contains an IP address belonging to the local CDN node IP address database but does not contain an IP address belonging to the current region in the local CDN node IP address database, then the downgrade rule is triggered, the IP address of the target CDN node is determined to be a cross-region IP address in the local CDN node IP address database, and the IP address of the other network CDN node is not returned.
5. The method according to claim 1, characterized in that, Receiving the resolution result from the CDN scheduling system according to the domain name resolution request includes: Send a recursive query request to the CDN scheduling system, the recursive query request carrying the network segment information to which the user's IP address belongs; The recursive query response is received from the CDN scheduling system as the parsing result. The recursive query response is determined by the CDN scheduling system based on the network segment information, including the IP address of the local CDN node with the operator attribute of the user terminal.
6. The method according to claim 1, characterized in that, After sending the IP address of the target CDN node to the user terminal, the method further includes: Receive the updated list of traffic domain names and filtering rules; the list of traffic domain names and filtering rules are dynamically generated based on the collection results of experience indicators such as interconnection link bandwidth utilization, user access latency, packet loss rate and user complaint volume.
7. The method according to claim 6, characterized in that, The updated list of traffic domains and filtering rules satisfy the following: If the bandwidth utilization of the interconnection link is greater than the first threshold, the scope of the traffic domain name list is expanded, and the filtering rule increases the proportion of IP address removal from the CDN node IP address database of the other network. If the utilization rate of the interconnection link bandwidth is less than the second threshold, the scope of the traffic domain name list is reduced, and the filtering rules relax the filtering restrictions on IP address databases belonging to other network CDN nodes; the first threshold is greater than the second threshold.
8. An electronic device, characterized in that, The electronic device includes: One or more processors; and A memory storing computer program instructions, which, when executed, cause the processor to perform the steps of the method as described in any one of claims 1 to 7.
9. A computer-readable medium having a computer program / instructions stored thereon, characterized in that, When the computer program / instructions are executed by the processor, they implement the steps of the method according to any one of claims 1 to 7.
10. A computer program product comprising a computer program / instructions, characterized in that, When the computer program / instructions are executed by the processor, they implement the steps of the method according to any one of claims 1 to 7.