A resource scheduling system based on CDN business processing
By designing a resource scheduling system in the CDN system, analyzing traffic peak and low peak periods, monitoring the load of edge nodes in real time, and dynamically adjusting the weights according to the traffic conditions, the problems of unbalanced load of the CDN system and slow user access speed are solved, and efficient and flexible content distribution and caching are achieved.
Patent Information
- Application Number
- CN202411075147.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-08-07
- Publication Date
- 2025-03-18
- Estimated Expiration
- 2044-08-07
AI Technical Summary
The existing CDN system has failed to effectively solve the problems of load imbalance and slow user access, and has not considered the consistency between the local scheduling server load balancing and the edge node cache data and the source server data.
A resource scheduling system based on CDN service processing is designed, including local load balancing module, global load balancing module, monitoring module and source server. By analyzing the historical traffic data of the scheduling server, determining the traffic peak and low peak periods, monitoring the load conditions of edge nodes in real time, calculating the initial weights, and adjusting them according to the traffic peak and low peak periods to ensure load balancing. At the same time, edge nodes determine the dynamic update time of cached content based on the traffic peak and low peak periods to ensure the latest and utilization of cached content.
It realizes efficient, flexible and intelligent content distribution and caching of the CDN system, ensuring reasonable allocation of user requests during peak traffic periods, realizing overall load balancing, and improving the utilization and hit rate of cached content.
Smart Images

Figure CN119052247B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of content distribution networks, and in particular to a resource scheduling system based on CDN business processing. Background Art
[0002] When we browse the web or use applications, we often need to get data from the server. In order to improve access speed and user experience, CDN (Content Distribution Network) came into being. As the core component of CDN, the CDN scheduling system is responsible for quickly and reliably distributing content to user terminals.
[0003] Chinese Patent Publication No.: CN108737544B, discloses a CDN node scheduling method and device, which determines at least one belonging edge node according to a video-on-demand request; determines an alternative edge node from the belonging edge node according to the content ID in the video-on-demand request; determines whether the number of the alternative edge nodes is 0, if not, determines the available edge nodes according to the load rate of the alternative edge nodes; determines whether the number of the available edge nodes is greater than 1, if yes, obtains the load rate, network delay, network packet loss rate and network jitter value of each available edge node; determines the optimal edge node according to the load rate, network delay, network packet loss rate and network jitter value of each available edge node; and schedules the video-on-demand request to the optimal edge node.
[0004] It can be seen that the above technical solution has the following problems: it does not consider the load balancing of the local scheduling server, nor does it consider the consistency between the edge node cache data and the data on the source server, which may cause the local scheduling server load to be unbalanced and the user access speed to be slow. Summary of the invention
[0005] To this end, the present invention provides a resource scheduling system based on CDN business processing, so as to overcome the problems of CDN load imbalance and slow user access speed in the prior art.
[0006] To achieve the above object, the present invention provides a resource scheduling system based on CDN business processing, comprising:
[0007] A local load balancing module, which is connected to the user terminal, includes several scheduling servers and several edge nodes connected to the scheduling servers for storing cached content. The scheduling server is used to pre-allocate the corresponding edge node for the user terminal according to the IP address of the user terminal, and determine the scheduling mode of the user terminal request according to whether the user request hits the cached content of the edge node. The scheduling mode includes local scheduling and back-to-source scheduling;
[0008] A global load balancing module, which is connected to the local load balancing module, is used to analyze the historical traffic data of the scheduling server within a certain preset time period to determine the traffic peak period and traffic low peak period of the corresponding scheduling server, determine the target cache edge node of the user terminal request content according to the scheduling request of the back-to-source scheduling, and determine the cache object of the newly released content according to the request information and hit information of each edge node;
[0009] A monitoring module, which is connected to the local load balancing module, is used to monitor the load of each edge node in the local load balancing module, calculate the comprehensive load rate of each edge node to determine the initial weight of each edge node, and adjust the initial weight of the edge node according to the traffic peak period and traffic low peak period to determine the selection range of the pre-allocated edge node;
[0010] A source server, which is connected to the global load balancing module and is used to store the original published content;
[0011] The edge node is also used to determine the dynamic update time of the cache content according to the traffic peak period and the traffic low peak period, and to determine the processing method of the cache content according to the hit information of a single cache content, including deletion and sharing.
[0012] Furthermore, the global load balancing module monitors the historical traffic data of the scheduling server based on the several preset time periods, and determines the traffic peak threshold and the traffic low-peak threshold based on the historical traffic data, determines the traffic peak period based on the traffic peak threshold, and determines the traffic low-peak period based on the traffic low-peak threshold.
[0013] Furthermore, the monitoring module determines the comprehensive load rate of each edge node based on the CPU utilization rate and memory utilization rate of each edge node in the local load balancing module in a preset monitoring period.
[0014] Furthermore, the monitoring module determines an initial weight of each edge node based on the comprehensive load rate, and the comprehensive load rate of each edge node is negatively correlated with the initial weight.
[0015] Furthermore, the monitoring module adjusts the initial weights of the edge nodes according to changes in the comprehensive load rates of the edge nodes during the traffic peak period and the traffic low peak period to obtain dynamic weights.
[0016] Furthermore, the monitoring module puts the edge nodes whose dynamic weights are higher than the weight threshold during the traffic peak period and the traffic low peak period into the selection range of the pre-allocated edge nodes.
[0017] Furthermore, the edge node sets cache expiration times corresponding to the cache contents according to the service types of the cache contents, and updates the cache contents based on the cache expiration times.
[0018] Furthermore, the edge node requests the source server to load and cache the content that is expected to be accessed frequently in a first time period before the traffic peak period.
[0019] Furthermore, the edge node determines the content that is expected to be frequently accessed based on a number of user terminal request contents within a monitoring period.
[0020] Furthermore, the edge node calculates a cache hit rate of a plurality of cache contents in the edge node during the low traffic peak period, and determines a dynamic update time of the plurality of cache contents based on the cache hit rate.
[0021] Compared with the prior art, the beneficial effect of the present invention is that the present invention realizes the efficient, flexible and intelligent content distribution and caching of the CDN system, determines the traffic peak period and traffic off-peak period of the scheduling server by analyzing the historical traffic data of the scheduling server, and the monitoring module monitors the load of the edge node in real time and calculates the initial weight, and adjusts the initial weight according to the traffic peak period and traffic off-peak period, ensuring that the user-side request can be reasonably allocated to the edge node with lower load during the traffic peak period, so as to achieve overall load balancing. In addition, the edge node of the present invention is also used to determine the dynamic update time of the cached content according to the traffic peak period and the traffic off-peak period, ensuring that the cached content is kept up to date during the traffic peak period, while avoiding unnecessary update operations during the traffic off-peak period, and improving the utilization and hit rate of the cached content.
[0022] Furthermore, the present invention monitors the traffic of the scheduling server for several preset time periods to obtain several historical traffic data, and determines the traffic peak threshold and the traffic low-peak threshold based on the historical traffic data, effectively identifying the traffic peak period and traffic low-peak period of the scheduling server, thereby further effectively realizing overall load balancing and improving the utilization and hit rate of cached content.
[0023] Furthermore, the monitoring module in the present invention determines the comprehensive load rate of each edge node based on the CPU utilization rate and memory utilization rate of each edge node in the local load balancing module under a preset monitoring period, and timely judges the load situation of the edge node, so as to facilitate the adoption of corresponding load balancing strategies, thereby further effectively realizing overall load balancing and improving the utilization and hit rate of cached content.
[0024] Furthermore, the monitoring module of the present invention determines the initial weight of the corresponding edge node based on the comprehensive load rate of each edge node. The comprehensive load rate of each edge node is negatively correlated with the initial weight. The present invention obtains the comprehensive load rate for the edge node to reflect the actual load situation of each edge node, and obtains the corresponding initial weight, and preferentially allocates tasks to edge nodes with high initial weights, thereby further effectively realizing overall load balancing and improving the utilization and hit rate of cached content.
[0025] Furthermore, the monitoring module in the present invention considers the changes in the comprehensive load rate of each edge node during the peak traffic period and the low traffic period to adjust the initial weight of the edge node to obtain a dynamic weight, which facilitates the content distribution system to flexibly respond to load requirements under different traffic conditions, ensure the reasonable allocation and efficient use of system resources, thereby further effectively realizing overall load balancing and improving the utilization and hit rate of cached content.
[0026] Furthermore, the present invention sets a cache expiration time for several cache contents in the edge node, and updates the several cache contents based on the cache expiration time, which helps to maintain the consistency between the cache contents and the original contents. By regularly updating the expired cache contents, it is ensured that the data provided to the user terminal is the latest, thereby further improving the hit rate and utilization rate of the cache contents.
[0027] Furthermore, the edge node of the present invention predicts and pre-caches the content that is expected to be accessed frequently by analyzing the content requested by several user terminals within the monitoring period, and requests the source server to load these contents within the first time period before the traffic peak period. These expected high-frequency access contents are pre-cached in advance, allowing the edge node to handle more user access requests without the need for back-to-source scheduling, thereby further effectively achieving overall load balancing and improving the utilization and hit rate of cached content.
[0028] Furthermore, the present invention calculates the cache hit rate of several cached contents in the edge node during the low-peak period of traffic, and determines the dynamic update time of the several cached contents based on the cache hit rate, thereby updating the cached content of the edge node and reducing the number of times the original content is obtained from the source server, thereby further effectively realizing overall load balancing and improving the utilization and hit rate of the cached content. BRIEF DESCRIPTION OF THE DRAWINGS
[0029] Figure 1 A connection block diagram of a resource scheduling system based on CDN business processing according to the present invention;
[0030] Figure 2 A schematic diagram of the interaction between a local load balancing module and a user terminal in a resource scheduling system based on CDN business processing of the present invention;
[0031] Figure 3 A flow chart of determining traffic peak period and traffic low peak period for the global load balancing module of the present invention. DETAILED DESCRIPTION
[0032] In order to make the objects and advantages of the present invention more clearly understood, the present invention is further described below in conjunction with embodiments; it should be understood that the specific embodiments described herein are only used to explain the present invention and are not used to limit the present invention.
[0033] The preferred embodiments of the present invention are described below with reference to the accompanying drawings. It should be understood by those skilled in the art that these embodiments are only used to explain the technical principles of the present invention and are not intended to limit the protection scope of the present invention.
[0034] It should be noted that, in the description of the present invention, terms such as "up", "down", "left", "right", "inside" and "outside" indicating directions or positional relationships are based on the directions or positional relationships shown in the drawings. This is merely for the convenience of description and does not indicate or imply that the device or element must have a specific orientation, be constructed and operated in a specific orientation. Therefore, it cannot be understood as a limitation on the present invention.
[0035] In addition, it should be noted that in the description of the present invention, unless otherwise clearly specified and limited, the terms "installed", "connected", and "connected" should be understood in a broad sense, for example, it can be a fixed connection, a detachable connection, or an integral connection; it can be a mechanical connection or an electrical connection; it can be a direct connection, or it can be indirectly connected through an intermediate medium, or it can be the internal communication of two components. For those skilled in the art, the specific meanings of the above terms in the present invention can be understood according to specific circumstances.
[0036] As an explanation, the CDN (content distribution network) in the present invention refers to a converged CDN. The nodes in the present invention include self-owned nodes and manufacturer nodes, which can be connected to the interface of the manufacturer's CDN through the platform of the scheduling system of the present invention, thereby providing CDN capabilities.
[0037] See also Figure 1 , Figure 2 As shown, Figure 1 This is a connection block diagram of the resource scheduling system based on CDN business processing of the present invention. Figure 2 The present invention is a schematic diagram of the interaction between the local load balancing module and the user terminal of the resource scheduling system based on CDN business processing. Specifically, the present invention provides a resource scheduling system based on CDN business processing, including:
[0038] A local load balancing module, which is connected to the user terminal, includes several scheduling servers and several edge nodes connected to the scheduling servers for storing cached content. The scheduling server is used to pre-allocate the corresponding edge node for the user terminal according to the IP address of the user terminal, and determine the scheduling mode of the user terminal request according to whether the user request hits the cached content of the edge node. The scheduling mode includes local scheduling and back-to-source scheduling;
[0039] A global load balancing module, which is connected to the local load balancing module, is used to analyze the historical traffic data of the scheduling server within a certain preset time period to determine the traffic peak period and traffic low peak period of the corresponding scheduling server, determine the target cache edge node of the user terminal request content according to the scheduling request of the back-to-source scheduling, and determine the cache object of the newly released content according to the request information and hit information of each edge node;
[0040] A monitoring module, which is connected to the local load balancing module, is used to monitor the load of each edge node in the local load balancing module, calculate the comprehensive load rate of each edge node to determine the initial weight of each edge node, and adjust the initial weight of the edge node according to the traffic peak period and traffic low peak period to determine the selection range of the pre-allocated edge node;
[0041] A source server, which is connected to the global load balancing module and is used to store the original published content;
[0042] The edge node is also used to determine the dynamic update time of the cache content according to the traffic peak period and the traffic low peak period, and to determine the processing method of the cache content according to the hit information of a single cache content, including deletion and sharing.
[0043] It is understandable that when a user terminal clicks on the content URL on a website page, the user terminal makes a DNS resolution request for the access content domain name, and the request reaches the global load balancing module. The global load balancing module identifies and judges the user terminal request, and selects the local load balancing module of the user's area based on the user's IP address and the content URL requested by the user. The local load balancing module returns an IP address of an edge node to the global load balancing module, and the global load balancing device returns the IP address of the edge node to the user. The user initiates a request to the edge node. If the user request hits the cached content of the edge node, local scheduling is performed. If the user request does not hit the cached content of the edge node, back-to-source scheduling is performed. The local load balancing module forwards the back-to-source scheduling request to the global load balancing module. The global load balancing module sends the back-to-source scheduling request to the source server. The source server determines the cache object of the newly released content based on the request of the edge node, caches the corresponding cache object to the corresponding edge node, and the edge node sends the cached content to the user.
[0044] It is understandable that the global load balancing module accurately determines the peak and low-peak traffic periods of the corresponding scheduling server by analyzing the historical traffic data of the scheduling server within a certain preset time period, and the monitoring module continuously monitors the load of each edge node in the local load balancing module, and sets the initial weight for each edge node by calculating the comprehensive load rate of each edge node. More importantly, the monitoring module can dynamically adjust the initial weight of the edge node in combination with the peak and low-peak traffic periods determined by the global load balancing module, thereby ensuring that resources can be allocated more effectively during peak and low-peak traffic periods, avoiding overload and optimizing resource utilization.
[0045] It is understandable that the edge node will not only determine the dynamic update time of the cached content according to the traffic peak period and the traffic low peak period to ensure the validity of the cached content, but will also flexibly process the cached content according to the hit information of a single cached content. For example, for content with a low hit rate, it will choose to delete it to free up space, and for content with a high hit rate, it will consider sharing it across nodes to further improve cache efficiency and user experience.
[0046] The present invention realizes efficient, flexible and intelligent content distribution and caching of the CDN system, determines the traffic peak period and traffic off-peak period of the scheduling server by analyzing the historical traffic data of the scheduling server, and the monitoring module monitors the load of the edge node in real time and calculates the initial weight, and adjusts the initial weight according to the traffic peak period and traffic off-peak period, ensuring that the user-side requests can be reasonably allocated to the edge nodes with lower load during the traffic peak period, so as to achieve overall load balancing. In addition, the edge node of the present invention is also used to determine the dynamic update time of the cached content according to the traffic peak period and the traffic off-peak period, ensuring that the cached content is kept up to date during the traffic peak period, while avoiding unnecessary update operations during the traffic off-peak period, and improving the utilization rate and hit rate of the cached content.
[0047] See also Figure 3 As shown, it is a flow chart of the global load balancing module of the present invention determining the traffic peak period and the traffic off-peak period. Specifically, the global load balancing module monitors the historical traffic data of the scheduling server based on the several preset time periods, and determines the traffic peak threshold and the traffic off-peak threshold based on the historical traffic data, determines the traffic peak period based on the traffic peak threshold, and determines the traffic off-peak period based on the traffic off-peak threshold.
[0048] It can be understood that if the current traffic of the scheduling server exceeds the peak traffic threshold, the current stage is determined to be the peak traffic period and corresponding countermeasures are triggered; if the current traffic of the scheduling server is lower than the low-peak traffic threshold, the current stage is determined to be the low-peak traffic period and corresponding countermeasures are triggered.
[0049] In implementation, the traffic of the scheduling server is monitored based on several preset durations to obtain several historical traffic data, and the traffic peak threshold and traffic low-peak threshold are determined based on the historical traffic data. The preset duration ranges from 1 day to 3 days, preferably, the preset duration is 2 days, and the historical traffic data of the scheduling server is monitored every 2 days, and the monitoring duration period is 16 days to 30 days, preferably, the monitoring duration period is 20 days. The traffic peak threshold ranges from 80% to 90% of the highest value in several historical traffic data, preferably, the traffic peak threshold is 85% of the highest value in several historical traffic data, and the traffic low-peak threshold ranges from 110% to 120% of the lowest value in several historical traffic data, preferably, the traffic low-peak threshold is 115% of the lowest value in several historical traffic data. The preset duration, the monitoring duration, the traffic peak threshold, the traffic low-peak threshold range and the preferred value can be adjusted according to actual conditions, and will not be repeated here.
[0050] The present invention monitors the traffic of the scheduling server based on several preset time periods to obtain several historical traffic data, and determines the traffic peak threshold and the traffic low-peak threshold based on the historical traffic data, effectively identifying the traffic peak period and traffic low-peak period of the scheduling server, thereby further effectively realizing overall load balancing and improving the utilization and hit rate of cached content.
[0051] Specifically, the monitoring module determines the comprehensive load rate of each edge node based on the CPU usage rate and memory usage rate of each edge node in the local load balancing module under a preset monitoring period.
[0052] It is understandable that the preset monitoring period is the time interval for the monitoring module to periodically check the edge node status. The monitoring module collects the CPU usage and memory usage of each edge node in the local load balancing module based on the preset monitoring period, and forms a comprehensive load rate that can reflect the overall load situation of each edge node during the monitoring period.
[0053] In implementation, the preset monitoring period has a value range of 20 minutes to 40 minutes. Preferably, the preset monitoring period is 30 minutes. The value range and preferred value of the preset monitoring period can be adjusted according to actual conditions, which will not be described in detail here.
[0054] The calculation formula of the comprehensive load rate P is as follows:
[0055] P=β1×K1+β2×K2 (1)
[0056] Among them, β1 is the corresponding weight of the CPU usage of a single edge node, K1 is the CPU usage of a single edge node, β2 is the corresponding weight of the memory usage of a single edge node, K2 is the memory usage of a single edge node, and β1+β2=1.
[0057] In implementation, the corresponding weight β1 of the CPU usage of the single edge node is 0.6, and the corresponding weight β2 of the memory usage of the single edge node is 0.4. The corresponding weight β1 of the CPU usage of the single edge node and the corresponding weight β2 of the memory usage of the single edge node can be adjusted according to actual conditions and will not be repeated here.
[0058] The monitoring module in the present invention determines the comprehensive load rate of each edge node based on the CPU utilization rate and memory utilization rate of each edge node in the local load balancing module under a preset monitoring period, and timely judges the load situation of the edge node, so as to facilitate the adoption of corresponding load balancing strategies, thereby further effectively realizing overall load balancing and improving the utilization rate and hit rate of cached content.
[0059] Specifically, the monitoring module determines the initial weight of each edge node based on the comprehensive load rate, and the comprehensive load rate of each edge node is negatively correlated with the initial weight.
[0060] It is understandable that when the comprehensive load rate of an edge node is high, it indicates that the edge node is currently facing a high load pressure. In order to avoid overloading the edge node, the initial weight of the edge node should be negatively correlated with the comprehensive load rate (the initial weight of the edge node is low), so as to reduce the possibility of being assigned tasks in subsequent load balancing decisions. When the comprehensive load rate of an edge node is low, it indicates that the edge node is currently relatively idle. In order to make full use of system resources and improve overall performance, the initial weight of the edge node should be negatively correlated with the comprehensive load rate (the initial weight of the edge node is high), so as to increase the possibility of being assigned tasks in subsequent load balancing decisions.
[0061] In implementation, the calculation formula of the initial weight δ of the edge node is as follows:
[0062] δ=1-P (2)
[0063] The monitoring module of the present invention determines the initial weight of the corresponding edge node based on the comprehensive load rate of each edge node. The comprehensive load rate of each edge node is negatively correlated with the initial weight. The present invention obtains the comprehensive load rate for the edge node to reflect the actual load situation of each edge node, and obtains the corresponding initial weight, and preferentially allocates tasks to edge nodes with high initial weights, thereby further effectively realizing overall load balancing and improving the utilization and hit rate of cached content.
[0064] Specifically, the monitoring module adjusts the initial weights of the edge nodes according to the changes in the comprehensive load rates of the edge nodes during the peak traffic period and the low traffic period to obtain dynamic weights. The monitoring module places edge nodes whose dynamic weights are higher than the weight threshold during the peak traffic period and the low traffic period into the selection range of pre-allocated edge nodes.
[0065] It is understandable that for edge nodes with increased comprehensive load rates during peak traffic periods, the initial weights of the corresponding edge nodes are reduced to avoid overloading these edge nodes. For edge nodes with lower comprehensive load rates during off-peak traffic periods, the initial weights of the corresponding edge nodes are maintained so that these nodes can bear more loads when peak traffic periods arrive.
[0066] In a specific embodiment, assuming that the comprehensive load rate of the edge node is 0.6 before the traffic peak period, the initial weight is 0.4, and the comprehensive load rate is 0.8 during the traffic peak period, then the initial weight is recalculated to obtain a dynamic weight of 0.2, and the dynamic weight is reduced relative to the initial weight to avoid overloading the edge node. Assuming that the comprehensive load rate of the edge node is 0.4 before the traffic off-peak period, the initial weight is 0.6, and the comprehensive load rate is 0.4 during the traffic off-peak period, and the initial weight is still maintained (the dynamic weight is still 0.6).
[0067] In another specific embodiment, the adjustment range of the initial weight can also be determined according to the difference in the change of the comprehensive load rate of the edge node during the peak traffic period and the low traffic period, and determined by comparing the change difference with the change threshold. If the change difference is greater than the change threshold, the initial weight of the edge node is reduced, and the weight reduction value is 0.5 to 1. Preferably, the weight reduction value is 0.6. If the change difference is less than the change threshold, the initial weight does not change. The value range and preferred value of the change threshold can be adjusted according to actual conditions, which will not be repeated here.
[0068] It is understandable that the monitoring module will determine the dynamic weight of each edge node during peak traffic periods and low traffic periods respectively. If the dynamic weight of an edge node is higher than the preset weight threshold, then the edge node is regarded as a high-quality node with a lower load and is placed in the selection range of the pre-allocated edge node.
[0069] The weight threshold value ranges from 0.8 to 1. Preferably, the weight threshold value is 0.85. The value range and preferred value of the weight threshold value can be adjusted according to actual conditions and will not be repeated here.
[0070] The monitoring module in the present invention considers the changes in the comprehensive load rate of each edge node during the peak traffic period and the low traffic period to adjust the initial weight of the edge node to obtain a dynamic weight, which facilitates the content distribution system to flexibly respond to load requirements under different traffic conditions, ensures the reasonable allocation and efficient use of system resources, and further effectively realizes overall load balancing and improves the utilization and hit rate of cached content.
[0071] Specifically, the edge node sets cache expiration times corresponding to the cache contents according to the service types of the cache contents, and updates the cache contents based on the cache expiration times.
[0072] It is understandable that by setting a cache expiration time for several cached contents, the edge node can more effectively manage cache resources. For high-importance business types, a longer cache expiration time can be set to improve response speed. For business types with higher timeliness requirements, a shorter cache expiration time can be set to ensure the freshness and accuracy of the cached content. When the cache expiration time corresponding to several cached contents in a certain edge node arrives, the edge node will update the cached content and synchronize the updated content from the source server / other edge nodes.
[0073] In implementation, if the business type of the cached content is static resources (pictures, etc.), the corresponding cache expiration time is 3 to 7 days, preferably, the corresponding cache expiration time is 5 days. If the business type is dynamic resources (news, blogs, etc.), the corresponding cache expiration time is 1 hour to 3 hours, preferably, the corresponding cache expiration time is 1 hour. The cache expiration time of the cached content can be adjusted according to actual conditions, or it can be determined based on the average of the high-frequency click time of each cached content in history, which will not be repeated here.
[0074] The present invention sets a cache expiration time for several cache contents in the edge node, and updates the several cache contents based on the cache expiration time, which helps to maintain the consistency between the cache contents and the original contents. By regularly updating the expired cache contents, it is ensured that the data provided to the user terminal is the latest, and the hit rate and utilization rate of the cache contents are further improved.
[0075] Specifically, the edge node determines the expected frequently accessed content based on a number of user terminal request contents within a monitoring period. The edge node requests the source server to load and cache the expected frequently accessed content in a first time period before the traffic peak period.
[0076] It can be understood that the edge node can identify the requested content with the most requests and the highest frequency by analyzing the content requested by several user terminals during the monitoring period or the expected access frequency of new content based on various algorithms. The edge node can predict which content will be accessed frequently within a period of time based on the requested content with the most requests. Once the content expected to be accessed frequently is determined, the edge node requests the source server to load and pre-cache the content expected to be accessed frequently in the first time period before the traffic peak period to avoid the user request missing the edge node and performing back-to-source scheduling. When the user requests related content, it can be directly obtained from the edge node to speed up access.
[0077] In implementation, the value range of the first time period is 1 hour to 3 hours before the traffic peak period. Preferably, the first time period is 2 hours before the traffic peak period. The value range and preferred value of the first time period can be adjusted according to actual conditions and will not be repeated here.
[0078] The edge node of the present invention predicts and pre-caches the content that is expected to be accessed frequently by analyzing the content requested by several user terminals within a monitoring period, and requests the source server to load these contents within the first time period before the traffic peak. These expected high-frequency access contents are pre-cached in advance, so that the edge node can handle more user access requests without the need for back-to-source scheduling, thereby further effectively realizing overall load balancing and improving the utilization and hit rate of cached content.
[0079] Specifically, the edge node calculates a cache hit rate of a plurality of cache contents in the edge node during the low traffic peak period, and determines a dynamic update time of the plurality of cache contents based on the cache hit rate.
[0080] It is understandable that dynamically updating cached content during low traffic periods can reduce the impact on normal user requests and improve system stability and reliability.
[0081] The cache hit rate T is calculated as follows:
[0082]
[0083] Wherein, N1 is the number of times a single cache content in the edge node is hit by a user terminal request during a monitoring period, and N is the total number of times the user terminal requests the edge node during a monitoring period.
[0084] It is understandable that cached content with a high cache hit rate indicates that it is frequently requested by users, so a longer update interval should be set, and cached content with a high cache hit rate should be shared across edge nodes. Cached content with a low cache hit rate indicates that it is not the current focus of users, so a shorter update interval should be set.
[0085] In implementation, the cache content update time with a high cache hit rate is determined according to the business type of the cache content. The cache content update time of the cache content with a high cache hit rate (static resources) is in the range of 5 to 10 days, preferably 7 days. The cache content update time of the cache content with a low cache hit rate (static resources) is in the range of 2 to 5 days, preferably 3 days. The cache content update time of the cache content with a high cache hit rate (dynamic resources) is in the range of 2h to 5h, preferably 3h. The cache content update time of the cache content with a low cache hit rate (dynamic resources) is in the range of 20min to 50min, preferably 30min. The dynamic update time of the cache content can be adjusted according to actual conditions, which will not be repeated here.
[0086] The present invention calculates the cache hit rate of several cache contents in the edge node during the low-peak period of traffic, and determines the dynamic update time of the several cache contents based on the cache hit rate, so as to update the cache content of the edge node and reduce the number of times the original content is obtained from the source server, thereby further effectively realizing overall load balancing and improving the utilization and hit rate of the cache content.
[0087] So far, the technical solutions of the present invention have been described in conjunction with the preferred embodiments shown in the accompanying drawings. However, it is easy for those skilled in the art to understand that the protection scope of the present invention is obviously not limited to these specific embodiments. Without departing from the principle of the present invention, those skilled in the art can make equivalent changes or substitutions to the relevant technical features, and the technical solutions after these changes or substitutions will fall within the protection scope of the present invention.
Claims
1. A resource scheduling system based on CDN business processing, characterized in that: include: A local load balancing module, which is connected to the user terminal, includes several scheduling servers and several edge nodes connected to the scheduling servers for storing cached content. The scheduling server is used to pre-allocate the corresponding edge node for the user terminal according to the IP address of the user terminal, and determine the scheduling mode of the user terminal request according to whether the user request hits the cached content of the edge node. The scheduling mode includes local scheduling and back-to-source scheduling; A global load balancing module, which is connected to the local load balancing module, is used to analyze the historical traffic data of the scheduling server within a certain preset time period to determine the traffic peak period and traffic low peak period of the corresponding scheduling server, determine the target cache edge node of the user terminal request content according to the scheduling request of the back-to-source scheduling, and determine the cache object of the newly released content according to the request information and hit information of each edge node; A monitoring module, which is connected to the local load balancing module, is used to monitor the load of each edge node in the local load balancing module, calculate the comprehensive load rate of each edge node to determine the initial weight of each edge node, and adjust the initial weight of the edge node according to the traffic peak period and traffic low peak period to determine the selection range of the pre-allocated edge node; A source server, which is connected to the global load balancing module and is used to store the original published content; The edge node is also used to determine the dynamic update time of the cache content according to the traffic peak period and the traffic low peak period, and to determine the processing method of the cache content according to the hit information of a single cache content, including deletion and sharing.
2. The resource scheduling system based on CDN business processing according to claim 1, characterized in that: The global load balancing module monitors the historical traffic data of the scheduling server based on the several preset time periods, and determines the traffic peak threshold and the traffic low-peak threshold based on the historical traffic data, determines the traffic peak period based on the traffic peak threshold, and determines the traffic low-peak period based on the traffic low-peak threshold.
3. The resource scheduling system based on CDN business processing according to claim 1, characterized in that: The monitoring module determines the comprehensive load rate of each edge node based on the CPU usage rate and memory usage rate of each edge node in the local load balancing module under a preset monitoring period.
4. The resource scheduling system based on CDN business processing according to claim 3, characterized in that: The monitoring module determines an initial weight of each edge node based on the comprehensive load rate, and the comprehensive load rate of each edge node is negatively correlated with the initial weight.
5. The resource scheduling system based on CDN business processing according to claim 4, characterized in that: The monitoring module adjusts the initial weights of the edge nodes according to the changes in the comprehensive load rates of the edge nodes during the traffic peak period and the traffic low peak period to obtain dynamic weights.
6. The resource scheduling system based on CDN business processing according to claim 5, characterized in that: The monitoring module puts the edge nodes whose dynamic weights are higher than the weight threshold during the traffic peak period and the traffic low peak period into the selection range of the pre-allocated edge nodes.
7. The resource scheduling system based on CDN business processing according to claim 1, characterized in that: The edge node sets cache expiration times corresponding to the cache contents according to the service types of the cache contents, and updates the cache contents based on the cache expiration times.
8. The resource scheduling system based on CDN business processing according to claim 7, characterized in that: The edge node requests the source server to load and cache the content that is expected to be frequently accessed in a first time period before the traffic peak period.
9. The resource scheduling system based on CDN business processing according to claim 8, characterized in that: The edge node determines the content that is expected to be frequently accessed based on a number of user terminal request contents within a monitoring period.
10. The resource scheduling system based on CDN business processing according to claim 9, characterized in that: The edge node calculates a cache hit rate of a plurality of cache contents in the edge node during the low traffic peak period, and determines a dynamic update time of the plurality of cache contents based on the cache hit rate.
Citation Information
Patent Citations
CDN Node Scheduling Method and Apparatus
CN108737544B
Content Delivery Network Load Scheduling Methods and Systems
CN102291447A
Business content scheduling method, device and system and policy server
CN108270835A