Content distribution network routing planning method, device, equipment, medium and product
By obtaining real-time data information in the CDN network, analyzing the popularity of domain names and performing routing planning, the problem of difficulty in realizing dynamic routing planning in static networking is solved, and high-quality routing management and large-scale expansion of the CDN network are achieved.
Patent Information
- Application Number
- CN202411794061.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-06
- Publication Date
- 2025-03-28
- Estimated Expiration
- 2044-12-06
AI Technical Summary
In the existing content distribution network (CDN), static networking technology is difficult to implement dynamic planning of routing, which makes it difficult to achieve global routing optimization and operation and maintenance difficult when business dynamic changes and sudden increase and decrease in traffic.
By obtaining real-time data information of each acceleration node in the CDN network, analyzing the popularity information of the domain name, determining the routing planning type (static or dynamic), and performing path planning based on the routing planning type, pushing the routing results to the acceleration node to update the forwarding path.
It realizes dynamic routing planning of the content distribution network, meets routing switching in disaster recovery scenarios, improves the availability of the CDN network, and realizes infinite horizontal expansion of the path planning of large-scale CDN networks by splitting the domain name, avoiding the problem of network content acquisition caused by traffic peaks.
Smart Images

Figure CN119276772B_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to the technical field of content distribution networks, and in particular to a routing planning method, device, equipment, medium and product of a content distribution network. Background Art
[0002] As a content delivery network (CDN) technology that focuses on efficient and real-time distribution of dynamic content, DCDN has been widely used in acceleration services. However, with the substantial growth of Internet users and various network interface (Application Programming Interface, API) requests, the demand for DCDN acceleration API services is growing exponentially. The current common DCDN networking technology is mainly based on static networking, assisted by manual intervention to achieve global routing management. How to achieve dynamic routing planning to achieve automatic routing selection has become an urgent problem to be solved. Summary of the invention
[0003] In view of this, the present disclosure provides a content distribution network routing planning method, apparatus, device, medium and product to solve the content distribution network routing planning problem.
[0004] In a first aspect, the present disclosure provides a routing planning method for a content distribution network, comprising: obtaining real-time data information of each acceleration node in the content distribution network, the real-time data information including a domain name; performing data analysis on the real-time data information to determine popularity information of the domain name; determining a routing planning type based on the popularity information of the domain name, the routing planning type including static routing planning and dynamic routing planning; performing corresponding path planning on the domain name based on the routing planning type to obtain a routing result; and pushing the routing result to the acceleration node so that the acceleration node updates the forwarding path according to the routing result.
[0005] In a second aspect, the present disclosure provides a routing planning device for a content distribution network, including: an acquisition module, used to acquire real-time data information of each acceleration node in the content distribution network, the real-time data information including a domain name; an analysis module, used to perform data analysis on the real-time data information to determine the popularity information of the domain name; a routing planning type determination module, used to determine the routing planning type based on the popularity information of the domain name, the routing planning type including static routing planning and dynamic routing planning; a planning module, used to perform corresponding path planning for the domain name based on the routing planning type to obtain a routing result; a push module, used to push the routing result to the acceleration node, so that the acceleration node updates the forwarding path according to the routing result.
[0006] In a third aspect, the present disclosure provides a computer device, comprising: a memory and a processor, the memory and the processor are communicatively connected to each other, the memory stores computer instructions, and the processor executes the routing planning method for a content distribution network of the first aspect or any corresponding embodiment thereof by executing the computer instructions.
[0007] In a fourth aspect, the present disclosure provides a computer-readable storage medium having computer instructions stored thereon, the computer instructions being used to enable a computer to execute the content distribution network routing planning method of the first aspect or any corresponding embodiment thereof.
[0008] In a fifth aspect, the present disclosure provides a computer program product, including computer instructions, where the computer instructions are used to enable a computer to execute the content distribution network routing planning method of the first aspect or any corresponding implementation manner thereof.
[0009] The routing planning method, device, equipment, medium and product of the content distribution network provided by the embodiments of the present disclosure obtain the real-time data information of each acceleration node in the content distribution network to determine the popularity information of the domain name according to the real-time data information, thereby being able to split the domain name according to the popularity information. Then, static routing planning or dynamic routing planning is performed on each domain name in combination with the popularity information to obtain the corresponding routing results, so that the real-time data of each domain name can be forwarded according to the routing results, realizing the dynamic routing planning of the content distribution network, and being able to meet the high-quality requirements for dynamic changes in business. At the same time, the routing switching in the disaster recovery scenario is met, and the availability of the content distribution network is improved. Furthermore, by splitting the domain name, it is convenient to carry out unlimited horizontal expansion of the path planning for the large-scale content distribution network, ensuring that the expansion of the content distribution network is more flexible, realizing the calculation of the real-time back-to-source routing of the large-scale content distribution network, being able to avoid the difficulty in obtaining network content due to traffic peaks, and ensuring the acquisition of network content by each acceleration node. BRIEF DESCRIPTION OF THE DRAWINGS
[0010] In order to more clearly illustrate the specific embodiments of the present disclosure or the technical solutions in the prior art, the drawings required for use in the specific embodiments or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are some embodiments of the present disclosure. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative work.
[0011] Figure 1 It is a schematic diagram of routing planning of static networking in the related technology according to the embodiment of the present disclosure;
[0012] Figure 2 is a schematic diagram of dynamic routing planning according to an embodiment of the present disclosure;
[0013] Figure 3 is a flow chart of a method for routing planning of a content distribution network according to an embodiment of the present disclosure;
[0014] Figure 4 is a schematic diagram of processing real-time data information according to an embodiment of the present disclosure;
[0015] Figure 5 is a flow chart of another content distribution network routing planning method according to an embodiment of the present disclosure;
[0016] Figure 6 is a flow chart of another content distribution network routing planning method according to an embodiment of the present disclosure;
[0017] Figure 7 is a schematic diagram of a life cycle of a computing instance according to an embodiment of the present disclosure;
[0018] Figure 8 is a schematic diagram of matching a domain name with a computing instance according to an embodiment of the present disclosure;
[0019] Fig. 9 is a schematic diagram of route planning according to an embodiment of the present disclosure;
[0020] Fig.10 is a structural block diagram of a route planning device for a content distribution network according to an embodiment of the present disclosure;
[0021] Fig.11 It is a schematic diagram of the hardware structure of the computer device of the embodiment of the present disclosure. DETAILED DESCRIPTION
[0022] In order to make the purpose, technical solution and advantages of the embodiments of the present disclosure clearer, the technical solution in the embodiments of the present disclosure will be clearly and completely described below in conjunction with the drawings in the embodiments of the present disclosure. Obviously, the described embodiments are part of the embodiments of the present disclosure, rather than all the embodiments. Based on the embodiments in the present disclosure, all other embodiments obtained by those skilled in the art without creative work are within the scope of protection of the present disclosure.
[0023] Dynamic Content Delivery Network (DCDN) is a content delivery network (CDN) technology that focuses on efficient and real-time distribution of dynamic content. Unlike traditional CDNs that mainly cache and deliver static content, DCDN targets enterprise sites with purely dynamic or mixed dynamic and static resources (websites, applications, applets, application systems, etc.), and provides fast, reliable, secure and professional one-stop acceleration services for customer websites through nearby access, global scheduling, dynamic and static separation, dynamic routing detection, private protocol transmission, and full-link monitoring. In terms of security, it provides technologies such as source site anonymity, HTTPS full-link encryption, anti-hotlinking, anti-tampering, business authentication, anti-DDoS, WAF anti-attack, and business risk control.
[0024] With the rapid growth of the Internet user population, the number of API requests such as login interactions on various websites, fast and secure access to financial institutions, and the rise of short videos has increased significantly, and the demand for DCDN to accelerate API services is growing exponentially. DCDN mainly uses the ultra-large-scale network built by edge computing nodes, as well as intelligent routing and protocol optimization in ultra-large-scale networks to achieve API acceleration effects.
[0025] The ultra-large-scale routing architecture is one of the key technologies of DCDN. Currently, the common DCDN networking technology is mainly static networking, assisted by manual intervention to achieve global routing management. Figure 1 As shown, the routing of static networking is pre-configured, and there is no real-time automatic routing logic. For example, domain name A has a fixed path to source station A, and domain name B has a fixed path to source station B. However, with the increase in business scale and the sudden increase and decrease in traffic, there is no real-time automatic routing logic, which makes operation and maintenance extremely difficult and difficult to achieve global routing optimization. At the same time, as the scale of networking expands, there are conflicts in routing and long decision-making time. It can be seen that the static networking in the relevant technology cannot obtain the optimal route in real time, and cannot meet the high-quality requirements of dynamic changes in different businesses. Moreover, as the number of accelerated domain names increases, a large number of domain names with no traffic will affect the rapid routing update of domain names with traffic.
[0026] The present disclosure provides a method for routing content distribution network. Figure 2As shown, by obtaining the basic information of each acceleration node in the CDN network, a FullMesh acceleration network is constructed. Then, by collecting the real-time data information of each acceleration node in real time, the real-time data information is cleaned to obtain the real-time request number of each domain name, and then each domain name is matched to different computing instances of the routing computing service according to the consistent hashing algorithm, so that the routing computing service can perform data analysis based on the network quality data and domain name bandwidth collected in real time, and perform dynamic routing planning in combination with the path planning algorithm to calculate the optimal path. Thus, the optimal path is sent to each acceleration node in the CDN network, so that the acceleration node updates the forwarding path according to the optimal path. In this way, the real-time data of each domain name is forwarded according to the routing results, and the effect of dynamic routing planning is achieved, which can meet the routing switching in disaster recovery scenarios and improve the availability of the CDN network.
[0027] At the same time, it can carry out unlimited horizontal expansion for the path planning of large-scale CDN networks, ensuring that the expansion of CDN networks in acceleration services is more flexible, realizing the real-time back-to-source routing calculation of large-scale CDN networks, and avoiding traffic peaks that make it difficult to obtain network content.
[0028] According to an embodiment of the present disclosure, an embodiment of a routing planning method for a content distribution network is provided. It should be noted that the steps shown in the flowchart of the accompanying drawings can be executed in a computer system such as a set of computer executable instructions, and although a logical order is shown in the flowchart, in some cases, the steps shown or described can be executed in an order different from that shown here.
[0029] In this embodiment, a content distribution network routing planning method is provided, which can be used for computer devices, such as computers, servers, central servers, etc. Figure 3 is a flow chart of a method for routing planning of a content distribution network according to an embodiment of the present disclosure, such as Figure 3 As shown, the process includes the following steps:
[0030] Step S101, obtaining real-time data information of each acceleration node in the content distribution network, wherein the real-time data information includes a domain name.
[0031] Acceleration nodes are servers or routing devices deployed to improve network performance and data transmission speed. Specifically, acceleration nodes can be distributed in different geographical locations in the CDN network to provide a faster network access experience by optimizing network paths, caching data, and reducing latency.
[0032] In a CDN network using DCDN technology, when a user requests access, the central server can select an acceleration node that is closer to the user from multiple acceleration nodes to quickly obtain data and return it to the user, thereby reducing the time and delay of data transmission. A CDN network using DCDN technology is a network constructed according to the basic information of each acceleration node, which includes the next hop identification IP, entry, bandwidth, number of connections, etc.
[0033] Real-time data information is the data generated by the acceleration node in real time. The real-time data information includes domain names, so that the domain names can be separated into hot and cold domain names according to the real-time data information. An agent is deployed in each acceleration node. The agent collects the real-time data information generated by the acceleration node locally and sends it to the central server. Correspondingly, the central server can receive the real-time data information of each acceleration node in the CDN network in real time.
[0034] In a specific implementation, a cloud-edge channel can be built between the CDN network and the central server, and the real-time data information of the acceleration node can be obtained through the monitoring function provided by the cloud service, and the real-time data information can be sent to the central server through the cloud-edge channel. Figure 4 shown.
[0035] In another specific implementation, a monitoring system of the CDN network can be pre-built, and the monitoring system can be connected to the acceleration node via Simple Network Management Protocol (SNMP), Secure Shell (SSH) or other remote management protocols. The monitoring system can periodically collect real-time data information from each acceleration node.
[0036] In another specific implementation, if the management system of the acceleration node provides an API interface, the real-time data information can also be obtained by calling the API interface programmatically. Of course, the real-time data information of the acceleration node can also be obtained by other methods, which are not specifically limited here.
[0037] Step S102: Analyze the real-time data information to determine the popularity information of the domain name.
[0038] The popularity information is an indicator used to measure the popularity of a domain name. The popularity information can be characterized by one or more of the following: the number of visits, the number of unique visitors, the number of page views, the dwell time, etc. The central server cleans and preprocesses the real-time data information received from each acceleration node, removes noise and outliers in the real-time data information, and converts the real-time data into a data format suitable for analysis, such as converting the access time into a timestamp and standardizing the number of visits. Then, statistics are collected on the real-time data that has been formatted, and data related to the popularity of the domain name is cleaned out to determine the popularity of the domain name, obtain the popularity information of the domain name, and write the popularity information of the domain name into a database for storage, such as Figure 4 shown.
[0039] In a specific implementation, statistical methods may be used to perform descriptive statistics on real-time data, such as calculating mean, median, standard deviation, etc., to obtain an overall picture of domain name popularity information.
[0040] In a specific implementation, for real-time data with time series characteristics, a time series analysis method can also be used to observe the changing trend of domain name popularity, such as using moving average, exponential smoothing and other methods to predict the popularity information of the domain name;
[0041] In a specific implementation, the domain names may be clustered according to the popularity characteristics of the domain names to determine a group of domain names with similar popularity patterns, thereby obtaining popularity information of the domain names corresponding to the acceleration nodes.
[0042] In a specific implementation, the correlation between the popularity of the domain name and other factors can also be explored, such as the correlation between the popularity of the domain name and a specific time period, region, user behavior, etc., so as to determine the popularity information of the domain name based on the correlation. Of course, the popularity information of the domain name can also be determined by other methods, which are not specifically limited here.
[0043] Step S103: determining the type of routing plan based on the popularity information of the domain name.
[0044] Among them, the routing planning types include static routing planning and dynamic routing planning.
[0045] Static routing planning specifies the path of data packets from the data source to the destination through pre-configured routing information. Dynamic routing planning automatically learns and updates routing information by running routing protocols, and dynamically selects the best path based on network topology and traffic conditions.
[0046] Analyze the popularity information of domain names to divide domain names into different popularity levels, and match corresponding routing planning types for domain names of different popularity levels. It should be noted that in hot domain names, different business levels can also be divided according to business priorities to select corresponding routing planning types according to business priorities. Since the popularity information of domain names may change over time, it is necessary to re-evaluate the popularity information of domain names regularly and dynamically adjust the routing planning type according to the new evaluation results.
[0047] In a specific example, by analyzing the popularity information of domain names, domain names are divided into hot domain names and cold domain names. Then, for hot domain names with a large number of access requests, in order to ensure fast response and high availability, dynamic routing planning can be used to distribute traffic to the optimal path to ensure the optimal bandwidth resources of hot domain names; for cold domain names, static routing planning can be used to save network resources on the basis of ensuring basic service quality.
[0048] It should be noted that when determining the type of routing plan, in addition to the popularity information of the domain name, other factors such as network topology, bandwidth limitations, and service quality requirements can also be combined to comprehensively determine a reasonable routing plan type.
[0049] Step S104: perform corresponding path planning on the domain name based on the routing planning type to obtain a routing result.
[0050] Combined with the domain name popularity information, determine the static routing plan or dynamic routing plan that matches the domain name. If it is a static routing plan, the domain name is routed according to the path configuration information of the static routing plan to obtain the corresponding static routing result.
[0051] If it is dynamic routing planning, enable the corresponding dynamic routing protocol on the router and make necessary configurations so that the router can automatically learn and update routing information, combine the flow control algorithm and path planning algorithm to calculate the optimal path of the domain name and obtain the corresponding dynamic routing results.
[0052] Step S105: Push the routing result to the acceleration node, so that the acceleration node updates the forwarding path according to the routing result.
[0053] A mapping table between domain names and paths is created on the central server, and the domain names are associated with their corresponding routing paths. When a data packet in the CDN network reaches an acceleration node, the central server can determine the corresponding routing result by querying the mapping table between domain names and paths. Then, the routing result is pushed to the acceleration node, so that the acceleration node determines the forwarding path of the data packet according to the routing result and forwards the data packet according to the forwarding path.
[0054] The routing planning method of the content distribution network provided in this embodiment obtains the real-time data information of each acceleration node in the CDN network to determine the popularity information of the domain name based on the real-time data information, thereby being able to split the domain name according to the popularity information. Then, static routing planning or dynamic routing planning is performed on each domain name in combination with the popularity information to obtain the corresponding routing results, so that the real-time data of each domain name can be forwarded according to the routing results, realizing dynamic routing planning, being able to meet the routing switching in disaster recovery scenarios, and improving the availability of the CDN network using DCDN technology. At the same time, by splitting the domain name, it is convenient to carry out unlimited horizontal expansion of the path planning for large-scale CDN networks, ensuring that the expansion of the CDN network is more flexible, realizing the calculation of real-time back-to-source routing for large-scale CDN networks, being able to avoid the difficulty in obtaining network content due to traffic peaks, and ensuring the acquisition of network content by each acceleration node in the CDN network.
[0055] In this embodiment, a content distribution network routing planning method is provided, which can be used for computer devices, such as computers, servers, central controllers, etc. Figure 5 is a flow chart of a method for routing planning of a content distribution network according to an embodiment of the present disclosure, such as Figure 5 As shown, the process includes the following steps:
[0056] Step S201, obtain real-time data information of each acceleration node in the content distribution network, wherein the real-time data information includes the domain name. Figure 3 Step S101 of the illustrated embodiment will not be described in detail here.
[0057] Step S202: Analyze the real-time data information to determine the popularity information of the domain name.
[0058] Specifically, the above step S202 includes:
[0059] Step S2021, clean the real-time data information at the domain name granularity to obtain the domain name information in the real-time data information.
[0060] Domain name information is data information related to the domain name, which may include bandwidth, queries per second (QPS), domain name visits, visit frequency, visit time distribution, source region, etc. Figure 4 As shown, the central server parses the real-time data information and cleans the real-time data that is not related to the domain name, so as to extract the real-time data related to the domain name as the domain name information at the domain name granularity.
[0061] Step S2022: determining the popularity information of the domain name based on the service priority and / or request level corresponding to the domain name information.
[0062] Business priority refers to the business level determined by classifying different businesses under the CDN network based on factors such as business importance and urgency. Businesses with high business priority need to get CDN network bandwidth resources first for priority processing. Business priority is pre-set according to business needs.
[0063] The request level refers to the number of requests received within a certain period of time, which reflects the popularity of the domain name. The request level can be obtained through server logs, traffic monitoring tools, etc.
[0064] Combined with the actual situation of business priority and / or request volume, determine the calculated heat value of each domain name. Specifically, the heat information of the domain name can be determined only based on the business priority. The higher the business priority, the higher the heat of the domain name. The heat information of the domain name can also be determined based on the request volume. The larger the request volume, the higher the heat of the domain name. A weighted approach can also be adopted to comprehensively consider the factors of business priority and request volume, giving higher weights to domain names with high business priority and corresponding weights to domain names with large request volumes.
[0065] In a specific example, if the business priority is divided into three levels: high (3), medium (2), and low (1), and the request level is divided into three levels: large (3), medium (2), and small (1), the calculation method of the heat value can be set as: heat value = business priority weight × business priority value + request level weight × request level value.
[0066] Assuming that the business priority weight is 0.6 and the request level weight is 0.4, for a domain name with medium business priority and large request level, its heat value = 0.6×2+0.4×3=1.2+1.2=2.4. If the heat value is greater than 2.5, it is high heat, 1.5 to 2.5 is medium heat, and less than 1.5 is low heat, then this domain name can be classified as medium heat.
[0067] In some optional implementations, the above step S2022 includes:
[0068] Step a1, sorting the service priorities to obtain a priority sorting result.
[0069] Step a2: divide the popularity of the domain names based on the priority sorting results to obtain the popularity information of the domain names.
[0070] Sort each domain name according to the business priority to obtain the corresponding priority sorting result. According to the priority sorting result, the order of each domain name can be determined, and the domain name with higher business priority can be determined as a hot domain name, and the domain name with lower priority can be determined as a cold domain name. For the domain name with medium business priority, it can be regarded as medium heat, and its routing planning type can be switched according to the actual situation.
[0071] In the above implementation, the domain names are classified according to their popularity based on the service priority, which can ensure that data with higher service priority is forwarded and processed preferentially, thereby ensuring the processing timeliness of service data and improving the real-time performance of the service.
[0072] In some optional implementations, the above step S2022 includes:
[0073] Step b1, obtaining multiple level intervals corresponding to the request level, and determining the target level interval in which the request level is located from the multiple level intervals.
[0074] Step b2: determining the popularity information of the domain name based on the target magnitude range.
[0075] The magnitude interval is a different interval divided according to the preset quantity range. The corresponding popularity information is determined according to the magnitude interval in which the request magnitude is located. For example, when it is in interval A, the domain name is characterized as a high-popularity domain name; when it is in interval B, the domain name is characterized as a cold domain name. Among them, the request volume values in interval A are all greater than the request volume values in interval B.
[0076] When determining the popularity information of a domain name according to the request level, the current request level of the domain name can be compared with the set level interval to determine the target level interval that the current request level is in. Then, the popularity information of the current domain name is determined in combination with the domain name popularity corresponding to the target level interval.
[0077] In the above implementation, the popularity of domain names is divided in combination with the request volume, which can ensure that domain names with high request volume have more bandwidth resources and computing resources, thereby ensuring the service stability of the domain names.
[0078] Step S203: Determine the type of routing plan based on the popularity information of the domain name. The routing plan types include static routing plan and dynamic routing plan. Figure 3 Step S103 of the illustrated embodiment will not be described in detail here.
[0079] Step S204: perform corresponding path planning for the domain name based on the routing planning type to obtain a routing result. Figure 3 Step S104 of the illustrated embodiment will not be described in detail here.
[0080] Step S205: Push the routing result to the acceleration node so that the acceleration node updates the forwarding path according to the routing result. Figure 3 Step S105 of the illustrated embodiment will not be described in detail here.
[0081] The routing planning method for a content distribution network provided in this embodiment cleans real-time data information to extract the domain name information contained therein, and then determines the popularity information of the domain name according to the business priority and / or request level, and can accurately separate the hot and cold domain names corresponding to the acceleration nodes, so as to combine the popularity information of the domain names and the dynamic changes of different businesses, and accurately plan the routing for each domain name to meet the high quality requirements of different businesses.
[0082] In this embodiment, a content distribution network routing planning method is provided, which can be used for computer devices, such as computers, servers, etc. Figure 6 is a flow chart of a method for routing planning of a content distribution network according to an embodiment of the present disclosure, such as Figure 6 As shown, the process includes the following steps:
[0083] Step S301, obtain real-time data information of each acceleration node in the content distribution network, wherein the real-time data information includes the domain name. Figure 4 Step S201 of the illustrated embodiment will not be described in detail here.
[0084] Step S302: Analyze the real-time data information to determine the popularity of the domain name. Figure 4 Step S202 of the illustrated embodiment will not be described in detail here.
[0085] Step S303: determining a routing planning type based on the popularity information of the domain name, where the routing planning types include static routing planning and dynamic routing planning.
[0086] Specifically, the above step S303 includes:
[0087] Step S3031, obtaining a routing computing service in a live state, wherein the routing computing service corresponds to multiple computing instances, and different computing instances have different identification information.
[0088] The survival status is used to indicate whether the routing computing service is in operation. Specifically, a routing computing service corresponds to multiple computing instances, and different computing instances correspond to different business segments. Different computing instances are set with different identification information to record and manage different computing instances.
[0089] A corresponding monitoring system is set up for the routing computing service. The central server can detect the status of the routing computing service and the status of multiple corresponding computing instances through the monitoring system, thereby determining whether the routing computing service and each computing instance are in a survival state.
[0090] In some optional implementations, the above step S3031 includes: regularly detecting the survival status of the routing calculation service, and pulling the routing calculation service in the survival status.
[0091] By regularly sending heartbeat signals or other detection mechanisms, it is determined whether the routing computing service and each computing instance in the CDN network are alive, and then the routing computing service that is alive is queried from the monitoring system. Specifically, the computing instance of the routing computing service is maintained through a database, and each computing instance has a corresponding instance life cycle.
[0092] like Figure 7 As shown, when the routing computing service is started, service information registration service information is generated, and basic information of each computing instance of the routing computing service is generated and stored in the database. After the routing computing service ends, the basic information of the corresponding computing instance is deleted from the database. When the routing computing service is running, that is, the routing computing service is in a survival state, a heartbeat signal can be sent regularly to determine the survival state of the computing instance of the routing computing service and update the service information. When it is determined that the computing instance is in a survival state, the popularity information of the domain name is pulled, and all available service information is obtained, and the computing instance is matched with the domain name.
[0093] In the above implementation, by periodically detecting the survival status of the routing calculation service, it is convenient to accurately obtain the available computing instances, thereby improving the accuracy of dynamic routing planning.
[0094] Step S3032: Determine the computing instance corresponding to the domain name based on the popularity information and identification information of the domain name to obtain a domain name list corresponding to the computing instance.
[0095] The identification information is a unique identifier used to distinguish different computing instances. It is stored in the database and maintained by the database. The popularity information of the domain name is also stored in the database and maintained by the database. The computing resources required for each domain name are determined in combination with the popularity information of the domain name, and then the popularity information of the domain name is matched with the identification information of the computing instance. Specifically, the matching rules between the domain name and the computing instance can be pre-set, for example, high-popularity domain names are assigned to computing instances with higher processing capabilities, or they are assigned according to business needs.
[0096] Based on the matching results of the popularity information and the identification information, the computing instance corresponding to each domain name can be determined, the domain names corresponding to each computing instance can be sorted into a list, and a domain name list corresponding to the computing instance can be generated to facilitate subsequent resource allocation, task scheduling and other operations.
[0097] In some optional implementations, the above step S3032 includes:
[0098] Step c1, sorting the identification information to obtain the sorting result of the computing instance.
[0099] Step c2: Based on the sorting result and the popularity information, determine the computing instance used to carry each domain name to correspond the domain name to the computing instance.
[0100] Sort each computing instance in the routing computing service according to the identification information ID according to the preset sorting rules (such as the amount of computing resources) to obtain the sorting result of the computing instance. Among the sorted computing instances, select the computing instance used to carry the request volume of the domain name with higher popularity, and use the identification information of the remaining computing instances as the key to build a consistent hash ring to distribute the request volume of the domain name with lower popularity to multiple computing instances, thereby determining the corresponding relationship between the business and the instance.
[0101] In a specific example, Figure 8 As shown, among the sorted computing instances, the computing instance ranked first is selected to carry the requests for the most popular domain name, that is, the requests for the most popular domain name are assigned to this computing instance for processing. In addition to the first computing instance selected to carry the requests for the hot domain name, the identification information ID of other computing instances is used as a key to build a consistent hash ring to distribute the requests for cold domain names to multiple computing instances. By building a consistent hash ring, data can be more evenly distributed to each computing instance, improving the performance and scalability of the system. The requests for all cold domain names are regarded as services, and these services are distributed to each computing instance on the consistent hash ring through the consistent hash algorithm, thereby determining the correspondence between domain names and computing instances.
[0102] In the above implementation, more efficient resource utilization and load balancing can be achieved by allocating services with request volumes of hot domain names and cold domain names to different computing instances.
[0103] Step S3033, determining the routing planning type of the domain name based on the domain name in the corresponding domain name list of the computing instance.
[0104] By combining the computing performance of the computing instance and the popularity information of each domain name in the domain name list corresponding to the computing instance, the demand for computing resources of each domain name can be determined, so that the corresponding static routing plan or dynamic routing plan can be matched for each domain name.
[0105] In some optional implementations, the above method further includes:
[0106] Step d1, detecting changes in the number of computing instances.
[0107] Step d2: Based on the quantity change, determine the update method of the domain name list maintained by the computing instance.
[0108] As computing instances enter or exit, the number of services carried by each computing instance will change. In this case, it is necessary to adjust the domain name list maintained by the computing instance according to the changes in the computing instance to ensure that the increase or decrease of services can be as smooth as possible.
[0109] Therefore, it is necessary to detect the changes in the number of computing instances to determine whether the computing instances increase or decrease, and determine the corresponding domain name list update method for the increase or decrease of computing instances to ensure smooth service.
[0110] In some specific implementations, the above step d2 includes:
[0111] Step d21, when the number of computing instances decreases, immediately update the domain name list maintained by each computing instance. That is, when the number of computing instances decreases, it means that the current computing instance needs to carry the business data of other exiting computing instances. At this time, it is necessary to immediately update the domain name list maintained by the computing instance to ensure the continuity of business data and avoid interruption and affect business services.
[0112] Step d22, when the computing instances are increased, the domain name lists maintained by each computing instance are updated with a delay. That is, when the computing instances are increased, it means that the business data of the original computing instances will be reallocated. At this time, attention should be paid to delayed updates to avoid affecting the normal operation of the business and ensure the stability of business operations. Specifically, a delay time can be set, during which the marked computing instances still process the business data according to the original domain name list, thereby avoiding data inconsistency or service interruption caused by immediate updates of business data during the allocation process. After the delay time ends, the domain name list of the marked computing instance is updated to reflect the latest domain name matching situation.
[0113] Step S304: perform corresponding path planning on the domain name based on the routing planning type to obtain a routing result.
[0114] Specifically, the above step S304 includes:
[0115] Step S3041, obtaining network quality data between various acceleration nodes.
[0116] Network quality data is used to characterize the network quality of the CDN network. Network quality data includes latency, packet loss rate, jitter, bandwidth utilization, error rate, etc. Specifically, each acceleration node in the CDN network is deployed with a corresponding agent program, which can be used to collect the network quality data of the acceleration node and send it to the central server. Correspondingly, the central server can obtain the network quality data of each acceleration node in the CDN network. Of course, other monitoring tools (such as network probes) or system log analysis can also be used to obtain network quality data between each acceleration node, which is not specifically limited here.
[0117] Step S3042: When the popularity information of the domain name meets the preset popularity condition, dynamic routing planning is performed on the domain name based on the network quality data to obtain a corresponding dynamic routing result.
[0118] The preset heat condition is a pre-set condition for determining that a domain name is a hot domain name, for example, the heat value used to characterize the heat information reaches a preset value. When the heat information of a domain name meets the preset heat condition, it means that the domain name is hot and needs to be planned according to the dynamic routing plan. At this time, the acquired network quality data is integrated and processed to build a real-time quality map that can reflect the quality status of each acceleration node in the CDN network, such as Fig. 9 The real-time quality map may be presented in the form of a graph, a chart or other intuitive forms, so as to intuitively express the quality of the CDN network.
[0119] By building a real-time quality map, it is easy to obtain real-time information on network quality, so that reasonable path planning decisions can be made based on resource allocation. At the same time, it is easy to promptly discover quality problems in the CDN network so that appropriate measures can be taken to repair or optimize them.
[0120] like Fig. 9 As shown in the figure, combined with the real-time quality data in the real-time quality map, the flow control algorithm is used to determine the flow distribution strategy of each hot domain name to limit the flow of certain links, avoid congestion or ensure service quality. At the same time, the path planning algorithm (such as the shortest path algorithm (such as the Dijkstra algorithm), the minimum cost path algorithm, etc.) is used to calculate the optimal routing path for each hot domain name. With the changes in real-time quality data and the dynamic adjustment of traffic demand, the optimal routing path of the hot domain name is monitored and recalculated in real time, and the dynamic routing results corresponding to each hot domain name are obtained to ensure that the optimal routing path can adapt to changes in time and maintain good performance.
[0121] In the process of determining the optimal routing path for hot domain names, it is necessary to comprehensively consider the requirements and limitations of all hot domain names and perform global optimization to ensure that the routing path selection of each hot domain name will not conflict with each other and to maximize the acceleration performance of the CDN network using DCDN technology.
[0122] Step S3043: When the popularity information of the domain name does not meet the preset popularity condition, a corresponding static routing result is determined based on the static routing planning.
[0123] When the popularity information of a domain name does not meet the preset popularity conditions, it means that the popularity of the domain name is low, that is, the domain name is relatively inactive or has low traffic. At this time, the default path of these domain names can be determined according to the pre-set static routing plan. Fig. 9 As shown, static routing planning can be determined by pre-set static networking information. A default path is calculated for domain names with lower popularity through the network topology, link information, device connection and other information described by the static networking information. The default path is the static routing result determined by the static routing planning.
[0124] For example, static networking information specifies a fixed route from a source address to a specific destination. When a request for a cold domain name (a domain name with low popularity) appears, the central server will determine the default transmission path for it according to this pre-set route, instead of dynamically calculating the optimal path based on real-time quality data and path planning algorithms like hot domain names (domain names with high popularity). This can simplify the path selection process for cold domain names to a certain extent, improve data processing efficiency, and also ensure that the basic transmission needs of cold domain names are met.
[0125] Step S305: Push the routing result to the acceleration node so that the acceleration node updates the forwarding path according to the routing result. Figure 5 Step S205 of the illustrated embodiment will not be described in detail here.
[0126] The routing planning method of the content distribution network provided in this embodiment determines the computing instance corresponding to each domain name through the heat information and identification information of the domain name, so as to obtain the domain name list corresponding to the computing instance, thereby facilitating the allocation of computing resources in combination with the domain name list and improving the real-time calculation speed of the path. At the same time, in combination with the domain name list, it is convenient to match the corresponding computing instances for different domain names to avoid conflicts in computing resources and affect routing updates. By determining the demand for computing resources for each domain name, it is convenient to match the corresponding static routing planning or dynamic routing planning for each domain name to perform efficient and accurate routing planning to meet the high quality requirements of different services. By obtaining the network quality data between each acceleration node, the domain name that meets the heat condition is dynamically routed according to the network quality data to ensure that the optimal routing path can adapt to changes in time and maintain good performance. At the same time, static routing planning is performed for domain names that do not meet the heat condition to simplify the path selection process of the domain name on the basis of ensuring basic transmission requirements and improve data processing efficiency.
[0127] In this embodiment, a routing planning device for a content distribution network is also provided, which is used to implement the above-mentioned embodiments and preferred implementation modes, and the descriptions that have been made will not be repeated. As used below, the term "module" can implement a combination of software and / or hardware of a predetermined function. Although the devices described in the following embodiments are preferably implemented in software, the implementation of hardware, or a combination of software and hardware, is also possible and conceivable.
[0128] This embodiment provides a routing planning device for a content distribution network, such as Fig.10 As shown, including:
[0129] The acquisition module 501 is used to acquire the real-time data information of each acceleration node in the content distribution network, wherein the real-time data information includes the domain name.
[0130] The analysis module 502 is used to perform data analysis on the real-time data information to determine the popularity information of the domain name.
[0131] The routing planning type determination module 503 is used to determine the routing planning type based on the popularity information of the domain name. The routing planning type includes static routing planning and dynamic routing planning.
[0132] The planning module 504 is used to perform corresponding path planning for the domain name based on the routing planning type to obtain a routing result.
[0133] The push module 505 is used to push the routing result to the acceleration node, so that the acceleration node updates the forwarding path according to the routing result.
[0134] In some optional implementations, the analysis module 502 includes:
[0135] The cleaning unit is used to clean the real-time data information at the domain name granularity to obtain the domain name information in the real-time data information.
[0136] The popularity determination unit is used to determine the popularity information of the domain name based on the service priority and / or request level corresponding to the domain name information.
[0137] In some optional implementations, the heat determination unit includes:
[0138] The sorting subunit is used to sort the service priorities and obtain the priority sorting result.
[0139] The first popularity information determination subunit is used to perform popularity classification on the domain name based on the priority sorting result to obtain popularity information of the domain name.
[0140] In some optional implementations, the heat determination unit includes:
[0141] The target interval determination subunit is used to obtain multiple magnitude intervals corresponding to the request magnitude, and determine the target magnitude interval in which the request magnitude is located from the multiple magnitude intervals.
[0142] The second popularity information determination subunit is used to determine the popularity information of the domain name based on the target magnitude interval.
[0143] In some optional implementations, the routing planning type determination module 503 includes:
[0144] The service acquisition unit is used to acquire a routing computing service in a live state, wherein the routing computing service corresponds to a plurality of computing instances, and different computing instances have different identification information.
[0145] The domain name list determination unit is used to determine the computing instance corresponding to the domain name based on the popularity information and identification information of the domain name, so as to obtain a domain name list corresponding to the computing instance.
[0146] The planning type determination subunit is used to determine the routing planning type of the domain name based on the domain name in the corresponding domain name list of the computing instance.
[0147] In some optional implementations, the service acquisition unit includes:
[0148] The periodic detection subunit is used to periodically detect the survival status of the routing calculation service and pull the routing calculation service that is in the survival status.
[0149] In some optional implementations, the domain name list determining unit includes:
[0150] The identification sorting subunit is used to sort the identification information to obtain the sorting result of the computing instance.
[0151] The computing instance determination subunit is used to determine the computing instance used to carry each domain name based on the sorting result and the popularity information, so as to correspond the domain name to the computing instance.
[0152] In some optional implementations, the routing planning type determination module 503 further includes:
[0153] The detection unit is used to detect the change in the number of computing instances.
[0154] The updating unit is used to determine the updating method of the domain name list maintained by the computing instance based on the quantity change.
[0155] In some optional implementations, the updating unit includes:
[0156] The instant update subunit is used to immediately update the domain name list maintained by each computing instance when the computing instance is reduced.
[0157] The delayed update subunit is used to delay the update of the domain name list maintained by each computing instance when the computing instance is increased.
[0158] In some optional implementations, the planning module 504 includes:
[0159] The quality data acquisition unit is used to acquire network quality data between various acceleration nodes.
[0160] The dynamic routing planning unit is used to perform dynamic routing planning on the domain name based on the network quality data when the popularity information of the domain name meets the preset popularity condition, and obtain the corresponding dynamic routing result.
[0161] The static route planning unit is used to determine the corresponding static route result based on the static route planning when the popularity information of the domain name does not meet the preset popularity condition.
[0162] The further functional description of each of the above modules and units is the same as that of the above corresponding embodiments and will not be repeated here.
[0163] The routing planning device of the content distribution network in this embodiment is presented in the form of a functional unit, where the unit refers to an ASIC (Application Specific Integrated Circuit) circuit, a processor and memory that executes one or more software or fixed programs, and / or other devices that can provide the above functions.
[0164] The routing planning device of the content distribution network provided in this embodiment obtains the real-time data information of each acceleration node in the CDN network to determine the popularity information of the domain name according to the real-time data information, thereby being able to split the domain name according to the popularity information. Then, static routing planning or dynamic routing planning is performed on each domain name in combination with the popularity information to obtain the corresponding routing results, so that the real-time data of each domain name can be forwarded according to the routing results, realizing dynamic routing planning, which can meet the routing switching in disaster recovery scenarios and improve the availability of the CDN network. At the same time, by splitting the domain name, it is convenient to carry out unlimited horizontal expansion of the path planning for large-scale CDN networks, ensuring that the expansion of the CDN network is more flexible, realizing the calculation of real-time back-to-source routing for large-scale CDN networks, and being able to avoid traffic peaks that make it difficult to obtain network content, ensuring the acquisition of network content by each acceleration node.
[0165] The present disclosure also provides a computer device having the above Fig.10 A routing planning device for a content distribution network is shown.
[0166] See also Fig.11 , Fig.11 is a schematic diagram of a computer device provided by an optional embodiment of the present disclosure, such as Fig.11 As shown, the computer device includes: one or more processors 10, a memory 20, and interfaces for connecting various components, including high-speed interfaces and low-speed interfaces. Various components are connected to each other using different buses for communication, and can be installed on a common mainboard or installed in other ways as needed. The processor can process the instructions executed in the computer device, including instructions stored in or on the memory to display the graphical information of the GUI on an external input / output device (such as, a display device coupled to the interface). In some optional embodiments, if necessary, multiple processors and / or multiple buses can be used together with multiple memories and multiple memories. Similarly, multiple computer devices can be connected, and each device provides some necessary operations (for example, as a server array, a group of blade servers, or a multi-processor system). Fig.11 A processor 10 is taken as an example.
[0167] The processor 10 may be a central processing unit, a network processor or a combination thereof. The processor 10 may further include a hardware chip. The hardware chip may be a dedicated integrated circuit, a programmable logic device or a combination thereof. The programmable logic device may be a complex programmable logic device, a field programmable gate array, a general purpose array logic or any combination thereof.
[0168] The memory 20 stores instructions executable by at least one processor 10, so that the at least one processor 10 executes the method shown in the above embodiment.
[0169] The memory 20 may include a program storage area and a data storage area, wherein the program storage area may store an operating system, an application required for at least one function; the data storage area may store data created according to the use of the computer device, etc. In addition, the memory 20 may include a high-speed random access memory, and may also include a non-transient memory, such as at least one disk storage device, a flash memory device, or other non-transient solid-state storage device. In some optional embodiments, the memory 20 may optionally include a memory remotely arranged relative to the processor 10, and these remote memories may be connected to the computer device via a network. Examples of the above-mentioned network include, but are not limited to, the Internet, an intranet, a local area network, a mobile communication network, and combinations thereof.
[0170] The memory 20 may include a volatile memory, such as a random access memory; the memory may also include a non-volatile memory, such as a flash memory, a hard disk or a solid state drive; the memory 20 may also include a combination of the above types of memory.
[0171] The computer device further comprises a communication interface 30 for the computer device to communicate with other devices or a communication network.
[0172] The embodiments of the present disclosure also provide a computer-readable storage medium. The above-mentioned method according to the embodiments of the present disclosure can be implemented in hardware, firmware, or can be implemented as a computer code that can be recorded in a storage medium, or can be implemented as a computer code that is originally stored in a remote storage medium or a non-temporary machine-readable storage medium and will be stored in a local storage medium and downloaded through a network, so that the method described herein can be stored in such software processing on a storage medium using a general-purpose computer, a dedicated processor, or programmable or dedicated hardware. Among them, the storage medium can be a magnetic disk, an optical disk, a read-only storage memory, a random access memory, a flash memory, a hard disk or a solid-state drive, etc.; further, the storage medium can also include a combination of the above-mentioned types of memory. It can be understood that a computer, a processor, a microprocessor controller, or programmable hardware includes a storage component that can store or receive software or computer code. When the software or computer code is accessed and executed by a computer, a processor, or hardware, the method shown in the above embodiment is implemented.
[0173] A part of the present disclosure may be applied as a computer program product, such as a computer program instruction, which, when executed by a computer, can call or provide the method and / or technical solution according to the present disclosure through the operation of the computer. Those skilled in the art should understand that the existence of computer program instructions in computer-readable media includes, but is not limited to, source files, executable files, installation package files, etc., and accordingly, the way in which computer program instructions are executed by a computer includes, but is not limited to: the computer directly executes the instruction, or the computer compiles the instruction and then executes the corresponding compiled program, or the computer reads and executes the instruction, or the computer reads and installs the instruction and then executes the corresponding installed program. Here, the computer-readable medium can be any available computer-readable storage medium or communication medium accessible to the computer.
[0174] Although the embodiments of the present disclosure have been described in conjunction with the accompanying drawings, those skilled in the art may make various modifications and variations without departing from the spirit and scope of the present disclosure, and such modifications and variations are all within the scope defined by the appended claims.
Claims
1. A method for routing planning of a content distribution network, characterized in that: The method comprises: Acquire real-time data information of each acceleration node in the content distribution network, wherein the real-time data information includes a domain name; Performing data analysis on the real-time data information to determine the popularity information of the domain name, including: cleaning the real-time data information at the domain name granularity to obtain the domain name information in the real-time data information; determining the popularity information of the domain name based on the service priority and / or request level corresponding to the domain name information; Determining the type of routing planning based on the popularity information of the domain name, including: obtaining a routing computing service in a live state, wherein the routing computing service corresponds to a plurality of computing instances, and different computing instances have different identification information; determining the computing instance corresponding to the domain name based on the popularity information of the domain name and the identification information, so as to obtain a list of domain names corresponding to the computing instance; determining the routing planning type of the domain name based on the domain names in the domain name list corresponding to the computing instance, wherein the routing planning type includes static routing planning and dynamic routing planning; Performing corresponding path planning on the domain name based on the routing planning type to obtain a routing result, including: obtaining network quality data between each of the acceleration nodes; when the heat information of the domain name meets the preset heat condition, performing dynamic routing planning on the domain name based on the network quality data to obtain a corresponding dynamic routing result; when the heat information of the domain name does not meet the preset heat condition, determining a corresponding static routing result based on the static routing planning; The routing result is pushed to the acceleration node, so that the acceleration node updates the forwarding path according to the routing result.
2. The method according to claim 1, characterized in that The determining the popularity information of the domain name based on the service priority corresponding to the domain name information includes: Sorting the service priorities to obtain a priority sorting result; Based on the priority sorting result, the domain names are classified by popularity to obtain popularity information of the domain names.
3. The method according to claim 1, characterized in that Determining the popularity information of the domain name based on the request level corresponding to the domain name information includes: Acquire multiple magnitude intervals corresponding to the requested magnitude, and determine a target magnitude interval in which the requested magnitude is located from the multiple magnitude intervals; The popularity information of the domain name is determined based on the target magnitude interval.
4. The method according to claim 1, characterized in that: The determining, based on the popularity information of the domain name and the identification information, a computing instance corresponding to the domain name includes: Sorting the identification information to obtain a sorting result of the computing instance; Based on the ranking result and the popularity information, a computing instance for hosting each domain name is determined to correspond the domain name to the computing instance.
5. The method according to claim 1, characterized in that Also includes: Detecting a change in the number of the computing instances; Based on the quantity change, determine how to update the domain name list maintained by the computing instance.
6. The method according to claim 5, characterized in that The determining, based on the quantity change, a method for updating the domain name list maintained by the computing instance includes: When the computing instances are reduced, immediately updating the domain name lists maintained by each computing instance; When the computing instances are increased, the domain name lists maintained by the respective computing instances are updated with delay.
7. The method according to claim 1, characterized in that The obtaining of the routing calculation service in a live state includes: The survival status of the routing calculation service is periodically detected, and the routing calculation service in the survival status is pulled.
8. A routing planning device for a content distribution network, characterized in that: The method for executing the routing planning of the content distribution network according to claim 1, the device comprising: An acquisition module, used to acquire real-time data information of each acceleration node in the content distribution network, wherein the real-time data information includes a domain name; An analysis module, used to perform data analysis on the real-time data information to determine the popularity information of the domain name; A routing planning type determination module, used to determine the routing planning type based on the popularity information of the domain name, the routing planning type including static routing planning and dynamic routing planning; A planning module, used to perform corresponding path planning for the domain name based on the routing planning type to obtain a routing result; A push module, used to push the routing result to the acceleration node, so that the acceleration node updates the forwarding path according to the routing result; The analysis module includes: a cleaning unit, which is used to clean the real-time data information at the domain name granularity to obtain the domain name information in the real-time data information; a heat determination unit, which is used to determine the heat information of the domain name based on the business priority and / or request level corresponding to the domain name information; The routing planning type determination module includes: a service acquisition unit, which is used to acquire a routing computing service in a live state, wherein the routing computing service corresponds to a plurality of computing instances, and different computing instances have different identification information; a domain name list determination unit, which is used to determine the computing instance corresponding to the domain name based on the popularity information of the domain name and the identification information, so as to obtain a domain name list corresponding to the computing instance; a planning type determination subunit, which is used to determine the routing planning type of the domain name based on the domain name in the domain name list corresponding to the computing instance; The planning module includes: a quality data acquisition unit, used to acquire network quality data between each of the acceleration nodes; a dynamic routing planning unit, used to perform dynamic routing planning on the domain name based on the network quality data when the heat information of the domain name meets the preset heat condition, and obtain the corresponding dynamic routing result; a static routing planning unit, used to determine the corresponding static routing result based on the static routing planning when the heat information of the domain name does not meet the preset heat condition.
9. A computer device, characterized in that: include: A memory and a processor, wherein the memory and the processor are communicatively connected to each other, the memory stores computer instructions, and the processor executes the routing planning method for a content distribution network according to any one of claims 1 to 7 by executing the computer instructions.
10. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores computer instructions, and the computer instructions are used to enable a computer to execute the content distribution network routing planning method according to any one of claims 1 to 7.
11. A computer program product, characterized in that The method comprises computer instructions, wherein the computer instructions are used to cause a computer to execute the content distribution network routing planning method according to any one of claims 1 to 7.
Citation Information
Patent Citations
Routing optimization method and device
CN116112421A
Route planning method and device for real-time audio and video network
CN116668364A