Node bandwidth adjusting method and device

By obtaining playback feedback information and node heartbeat information, calculating the weight of the target node and dynamically adjusting the bandwidth, the problem of single scheduling strategy of the existing CDN scheduling system is solved, and efficient playback quality assurance and resource utilization are achieved.

CN119484430APending Publication Date: 2025-02-18SHANGHAI HODE INFORMATION TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411614834.1
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-11-12
Publication Date
2025-02-18

AI Technical Summary

Technical Problem

When existing CDN scheduling systems deal with complex node resources, their scheduling strategies are relatively single and rigid, which is difficult to meet the diverse needs of users.

Method used

By obtaining playback feedback information and node heartbeat information, the feedback weight and usage weight of the target node are calculated, and the bandwidth of the target node is dynamically adjusted to optimize playback quality and resource utilization.

Benefits of technology

It realizes dynamic adjustment of bandwidth based on playback feedback and node health status, ensure playback quality, make full use of node resources, and adapt to users' diverse needs.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119484430A_ABST
    Figure CN119484430A_ABST
Patent Text Reader

Abstract

The invention discloses a node bandwidth adjustment method and device, and the method comprises the steps: obtaining playing feedback information, and determining a target node corresponding to the playing feedback information; determining a feedback weight of the target node according to the playing feedback information; acquiring node heartbeat information of a target node, and determining a use weight of the target node; and determining an adjustment weight of the target node according to the feedback weight and the use weight so as to adjust the bandwidth of the target node according to the adjustment weight. The playing feedback information is acquired, the playing feedback condition can be combined with the current node heartbeat information of the target node, the bandwidth use of the target node is considered, the playing feedback condition is also considered, the node bandwidth is dynamically adjusted, and the resources of the target node can be fully utilized on the premise of ensuring the playing quality.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of Internet technology, and in particular to a node bandwidth adjustment method and device. Background Art

[0002] As the core component of CDN, the CDN (Content Delivery Network) scheduling system is responsible for quickly and reliably distributing the playback content to each client. The main functions of CDN scheduling are load balancing and content positioning. Load balancing refers to selecting the best server to respond to requests based on the load of each server to avoid request overload. Content positioning selects the closest server to respond to requests based on location and other information.

[0003] The network environment is becoming more and more complex, and there are more and more types of resources. For example, there are node resources that can only provide scheduling for a single area, node resources that converge multiple lines, node resources that cover multiple operators, and node resources that converge multiple operators. When the existing CDN scheduling system only schedules based on the server status information, the complexity of node resources makes the scheduling strategy relatively simple and rigid, and the scheduling strategy needs to be adjusted to make it more in line with user needs. Summary of the invention

[0004] In view of the above problems, embodiments of the present application are proposed to provide a method and device for adjusting node bandwidth that overcomes the above problems or at least partially solves the above problems.

[0005] According to a first aspect of an embodiment of the present application, a node bandwidth adjustment method is provided, which includes:

[0006] Obtain playback feedback information and determine the target node corresponding to the playback feedback information;

[0007] Determine the feedback weight of the target node according to the playback feedback information;

[0008] Obtain the node heartbeat information of the target node and determine the usage weight of the target node;

[0009] An adjustment weight of the target node is determined according to the feedback weight and the usage weight, so as to adjust the bandwidth of the target node according to the adjustment weight.

[0010] Optionally, obtaining playback feedback information and determining a node corresponding to the playback feedback information further includes:

[0011] Obtain playback feedback information based on IP and / or domain name dimensions;

[0012] According to the correspondence between the IP and / or domain name and the node, the target node corresponding to the playback feedback information is determined.

[0013] Optionally, the playback feedback information includes freeze information, error information and / or first frame rate of the returned source;

[0014] Determining the feedback weight of the target node according to the playback feedback information further includes:

[0015] According to the jamming information of the playback file of the client, the download rate and jamming times of the playback file of the client are calculated; the download rate is determined according to the download size of the playback file and the jamming time of the jamming information;

[0016] If the download rate is greater than the first preset rate, the download weight is adjusted down by the first preset ratio; if the download rate is less than the second preset rate, the download weight is adjusted up by the second preset ratio; the first preset rate and the second preset rate are determined according to the size and bit rate of the playback file; the second preset rate is less than the first preset rate;

[0017] If the number of freezes is greater than the first preset number of freezes, the freeze weight is lowered by a third preset ratio; if the number of freezes is less than the second preset number of freezes, the freeze weight is increased by a fourth preset ratio; the first preset number of freezes and the second preset number of freezes are determined according to the average number of freezes of each CDN node; the second preset number of freezes is less than the first preset number of freezes;

[0018] Determine the number of errors according to the error information of the client, if the number of errors is greater than the first preset number of errors, adjust the error weight down to the fifth preset ratio; if the number of errors is less than the second preset number of errors, adjust the error weight up to the sixth preset ratio; the first preset number of errors and the second preset number of errors are determined according to the average number of errors of each CDN node; the second preset number of errors is less than the first preset number of errors;

[0019] If the duration of the client's first frame rate of return to the source is longer than the first preset return to the source duration, the return to the source weight is lowered by the seventh preset ratio; if the duration of the client's first frame rate of return to the source is shorter than the second preset return to the source duration, the return to the source weight is increased by the eighth preset ratio; the first preset return to the source duration and the second preset return to the source duration are determined according to the average return to the source duration of each CDN node; the second preset return to the source duration is shorter than the first preset return to the source duration;

[0020] The download weight, jamming weight, error weight and / or return-to-source weight are multiplied to obtain the feedback weight of the target node; if the value of the download weight, jamming weight, error weight and / or return-to-source weight is greater than the preset maximum threshold, it is adjusted to the preset maximum threshold.

[0021] Optionally, the node heartbeat information includes node delay information, node packet loss rate and / or node resource load information; the node resource load information includes CPU load information, memory load information and / or disk load information;

[0022] Obtaining the node heartbeat information of the target node and determining the usage weight of the target node further includes:

[0023] Determine the corresponding delay weight according to the node delay information and the preset node delay threshold;

[0024] Determine the corresponding packet loss weight according to the node packet loss rate and the preset packet loss threshold;

[0025] Determine the corresponding load weight according to the node resource load information and the preset load ratio threshold;

[0026] The delay weight, packet loss weight and / or load weight are multiplied to obtain the usage weight of the target node; wherein, if the value of the delay weight, packet loss weight and / or load weight is greater than a preset maximum threshold, it is adjusted to the preset maximum threshold.

[0027] Optionally, determining an adjustment weight of the target node according to the feedback weight and the usage weight, so as to adjust the bandwidth of the target node according to the adjustment weight further includes:

[0028] According to the product of the feedback weight and the usage weight, the adjustment weight of the target node is obtained;

[0029] The adjusted bandwidth of the target node is obtained according to the product of the current target node bandwidth and the adjustment weight, and the target node is adjusted.

[0030] Optionally, obtaining playback feedback information further includes:

[0031] Get playback feedback information from the client based on preset tracking points.

[0032] Optionally, the method is executed based on a scheduled task.

[0033] According to a second aspect of an embodiment of the present application, a node bandwidth adjustment device is provided, comprising:

[0034] A feedback module, adapted to obtain playback feedback information and determine a target node corresponding to the playback feedback information;

[0035] A feedback weight module, adapted to determine the feedback weight of a target node according to playback feedback information;

[0036] A usage weight module is used to obtain the node heartbeat information of the target node and determine the usage weight of the target node;

[0037] The adjustment module is adapted to determine the adjustment weight of the target node according to the feedback weight and the usage weight, so as to adjust the bandwidth of the target node according to the adjustment weight.

[0038] According to a third aspect of an embodiment of the present application, there is provided a computing device, comprising: a processor, a memory, a communication interface and a communication bus, wherein the processor, the memory and the communication interface communicate with each other via the communication bus;

[0039] The memory is used to store at least one executable instruction, and the executable instruction enables the processor to execute operations corresponding to the above-mentioned node bandwidth adjustment method.

[0040] According to a fourth aspect of an embodiment of the present application, a computer storage medium is provided, wherein the storage medium stores at least one executable instruction, and the executable instruction enables a processor to perform operations corresponding to the above-mentioned node bandwidth adjustment method.

[0041] According to a fifth aspect of an embodiment of the present application, a computer program product is provided, comprising at least one executable instruction, wherein the executable instruction enables a processor to perform operations corresponding to the above-mentioned node bandwidth adjustment method.

[0042] According to the node bandwidth adjustment method and device provided in the present application, playback feedback information is obtained, and the playback feedback situation can be combined with the current node heartbeat information of the target node. The node bandwidth can be dynamically adjusted taking into account both the bandwidth usage of the target node itself and the playback feedback situation. This can ensure that the resources of the target node are fully utilized while ensuring the playback quality.

[0043] The above description is only an overview of the technical solution of the present application. In order to more clearly understand the technical means of the present application, it can be implemented in accordance with the contents of the specification. In order to make the above and other purposes, features and advantages of the present application more obvious and easy to understand, the specific implementation methods of the present application are listed below. BRIEF DESCRIPTION OF THE DRAWINGS

[0044] Various other advantages and benefits will become apparent to those of ordinary skill in the art by reading the detailed description of the preferred embodiments below. The accompanying drawings are only for the purpose of illustrating the preferred embodiments and are not to be considered as limiting the present application. Also, the same reference symbols are used throughout the accompanying drawings to represent the same components. In the accompanying drawings:

[0045] Figure 1 A flowchart of a node bandwidth adjustment method according to an embodiment of the present application is shown;

[0046] Figure 2 A flowchart of a node bandwidth adjustment method according to another embodiment of the present application is shown;

[0047] Figure 3 A schematic diagram of the structure of a node bandwidth adjustment device according to an embodiment of the present application is shown;

[0048] Figure 4 A schematic diagram of the structure of a computing device according to an embodiment of the present application is shown. DETAILED DESCRIPTION

[0049] The exemplary embodiments of the present application will be described in more detail below with reference to the accompanying drawings. Although the exemplary embodiments of the present application are shown in the accompanying drawings, it should be understood that the present application can be implemented in various forms and should not be limited by the embodiments set forth herein. On the contrary, these embodiments are provided in order to enable a more thorough understanding of the present application and to fully convey the scope of the present application to those skilled in the art.

[0050] First, the terms involved in one or more embodiments of the present application are explained.

[0051] CDN: Content Delivery Network is a technology that deploys nodes at the edge of the network to cache the static resources of the website on edge nodes closer to the users, thereby improving user access speed, reducing bandwidth consumption, and increasing concurrent capacity.

[0052] Stall Rate: Stuttering Rate or Freeze Rate is usually used to measure the smoothness of the experience in video streaming, games or applications. It indicates the ratio of the number of freezes or pauses encountered by users to the total playback time when playing videos, games or other real-time content.

[0053] Figure 1 A flowchart of a node bandwidth adjustment method according to an embodiment of the present application is shown. Figure 1 As shown, the method comprises the following steps:

[0054] Step S101, obtaining playback feedback information, and determining a target node corresponding to the playback feedback information.

[0055] When adjusting the node bandwidth in this embodiment, starting from the user experience of the client, the node can be adjusted based on the user's playback feedback information, thereby ensuring the user's playback experience while fully utilizing the node's bandwidth.

[0056] The playback feedback information can report various problems encountered by the client during playback, such as freeze, playback errors, slow playback, etc., such as freeze rate, error rate, and return to source time, indicating whether the playback process is smooth, whether there are playback errors, whether the return to source response is fast, etc. Based on the playback feedback information, the bandwidth of the target node where the client pulls the stream can be adjusted accordingly to improve the client's playback experience.

[0057] When obtaining playback feedback information, you can use the preset tracking method to generate and report the playback feedback information of the client when the client playback encounters situations such as freeze, error, and returning to the source to obtain the first frame. The report can carry the target node information corresponding to the client, so as to determine the target node corresponding to the playback feedback information, so as to adjust the target node according to the playback feedback information.

[0058] Step S102: determining the feedback weight of the target node according to the playback feedback information.

[0059] After obtaining the playback feedback information, the playback feedback information can be parsed, and the playback problems encountered by the client can be determined based on the playback feedback information. Based on the playback problems, the feedback weight of the target node can be set accordingly. If the client has many playback problems, it means that the service currently provided by the target node is poor. The feedback weight of the target node can be set to a lower value to reduce the bandwidth of the target node, reduce the number of clients pulling the stream, that is, limit the number of clients that need to be served, and improve the playback of existing clients.

[0060] Feedback weight is related to playback feedback information. Playback feedback information reflects the stuck problems, playback errors, and time spent on pulling streams from the source that the client encounters during playback. The CDN system involves playback feedback information from multiple clients. The playback feedback information from multiple clients can be counted to determine the average value of the CDN system, such as the average number of stuck times. Compare the playback feedback information with the average value of the market, such as comparing the number of stuck times in the playback feedback information with the average number of stuck times. When it is greater than 1.2 times the average number of stuck times, the feedback weight needs to be adjusted and lowered, such as setting the feedback weight to 0.9 of the original feedback weight to reduce the feedback weight. The bandwidth of the target node can be limited based on the feedback weight. The bandwidth of the target node is reduced, and the number of clients pulling streams from the target node will also be reduced, which reduces the pressure on the target node and improves the playback problems of the existing pulled clients. When the number of stuck times is less than the average number of stuck times, it means that the target node can provide clients with better playback quality. The feedback weight can be increased, such as setting the feedback weight to 1.1 of the original feedback weight to increase the bandwidth of the target node so that the target node can serve more clients. The above is an example for explanation. The specific settings will be based on the implementation situation and are not limited here.

[0061] Step S103, obtaining the node heartbeat information of the target node, and determining the usage weight of the target node.

[0062] When adjusting the bandwidth of the target node, in addition to considering the playback feedback information of the client, it is also necessary to consider the situation of the target node itself, such as the current usage of the target node, to determine the current service situation of the target node. Specifically, obtain the node heartbeat information of the target node, such as the current packet loss rate of the target node, the delay time (such as determining the delay time by pinging the domain name, etc.), the current load of each resource of the target node, etc. According to the node heartbeat information of the target node, the health of the target node itself can be determined, and the usage weight of the target node can be determined according to the health of the target node itself. That is, the healthier the target node, the greater the usage weight, and the usage weight is proportional to the health of the target node itself.

[0063] By comparing the target node's packet loss rate, delay time, and resource load with the different usage situations divided according to the implementation situation, the target node's usage weight can be adjusted accordingly, increasing or decreasing the usage weight. For example, when the target node's packet loss rate exceeds 50%, the usage weight is directly set to 0. When the target node's delay time is less than 200ms, the usage weight can be increased, such as increasing it by 10% to obtain a usage weight of 1.1 times, etc., to facilitate subsequent adjustment of the bandwidth based on the usage weight.

[0064] Step S104: determining an adjustment weight of the target node according to the feedback weight and the usage weight, so as to adjust the bandwidth of the target node according to the adjustment weight.

[0065] The feedback weight corresponds to the playback status of the client pulling the stream from the target node, and the usage weight corresponds to the usage of the target node itself. Combine the feedback weight and the usage weight, such as multiplying the feedback weight by the usage weight, to get the adjustment weight of the target node. The adjustment weight can reflect the playback status of the client pulling the stream from the target node, and also take into account whether the usage of the target node itself is healthy. According to the adjustment weight, the current bandwidth of the target node can be adjusted, such as multiplying the current bandwidth of the target node by the adjustment weight to get the adjusted bandwidth. Set the bandwidth of the target node to the adjusted bandwidth to reduce the number of clients pulling streams from the target node, reduce the processing pressure of the target node, and improve the playback quality of clients that already pull streams.

[0066] According to the node bandwidth adjustment method provided in the present application, playback feedback information is obtained, and the playback feedback situation can be combined with the current node heartbeat information of the target node. The node bandwidth can be dynamically adjusted taking into account both the bandwidth usage of the target node itself and the playback feedback situation. This can ensure that the resources of the target node can be fully utilized while ensuring the playback quality.

[0067] Figure 2 A flowchart of a node bandwidth adjustment method according to an embodiment of the present application is shown. Figure 2 As shown, the method comprises the following steps:

[0068] Step S201, obtaining playback feedback information based on the IP and / or domain name dimensions, and determining the target node corresponding to the playback feedback information according to the corresponding relationship between the IP and / or domain name and the node.

[0069] Taking into account the complexity of node resource types, a node may have multiple lines, multiple operators, and multiple public IPs for external services. When obtaining playback feedback information, the client's playback feedback information can be obtained based on the client's IP, domain name, etc. The playback feedback information is the playback feedback information of a certain IP or a certain domain name. According to the correspondence between IP, domain name and node, if the node can know the IP and domain name of the stream, the target node can be determined by comparing the IP, domain name, etc. with the node, that is, the playback feedback information is determined to be the playback feedback information of the client that pulls the stream to the corresponding target node.

[0070] Playback feedback information can be obtained based on preset tracking points. For example, if the client encounters playback problems, such as freezes, errors, etc., the preset tracking points will collect the corresponding playback feedback information in real time. In this embodiment, the corresponding playback feedback information can be reported in a timed manner, such as using a timed task to report playback feedback information once at a certain interval, and adjust the node bandwidth based on the playback feedback information within a period of time. Here, considering that the base number of clients pulling the stream is large, a data sampling and timed reporting processing method can be adopted. For a sampled batch of clients, the regularly reported playback feedback information is processed as a whole to adjust the bandwidth of the target node.

[0071] Step S202: Determine the feedback weight of the target node according to the playback feedback information.

[0072] Playback feedback information includes freeze information, error information, and first frame rate of back-to-source playback. The freeze information may include the time when the playback file freezes, and the first frame rate of back-to-source playback records the time from when the client pulls the stream back to the source to when the first frame is obtained.

[0073] According to the jamming information of the playback files of each client, the jamming information reported is comprehensively counted, such as the jamming situations reported by each client, to obtain the number of jamming times, which is the total number of jamming times of each client pulling the stream from the target node. According to the jamming information reported by each client, the download rate of the playback files of each client can also be calculated separately. The download rate can be calculated based on the download size of the downloaded playback files and the jamming time of the playback files. For the playback files, the average rate of the playback files of the entire CDN system can be calculated in advance, which can be determined based on the size of the playback files and their bit rate. If the playback files have different bit rates, the average rates of different bit rates are calculated. Based on the average rate, the average rate, such as 1.2 times, is set as the first preset rate, and the average rate is set to the second preset rate, which is less than the first preset rate. According to the bit rate of the playback file when the client pulls the stream, the first preset rate and the second preset rate corresponding to the client can be determined. According to the download rate, if the download rate is greater than the first preset rate, the download weight is adjusted down by the first preset ratio, such as the original download weight * 0.9, so that the download weight is adjusted down; if the download rate is less than the second preset rate, the download weight is adjusted up by the second preset ratio, such as the original download weight * 1.1, so that the download weight is adjusted up. Here, when the download rate is greater than the first preset rate, the download weight is adjusted down, and subsequently according to the reduced download weight, the bandwidth of the target node can be limited, the number of clients pulling the stream is reduced, the service pressure of the target node is reduced, and the service quality of the clients that have pulled the stream is guaranteed.

[0074] For the number of freezes, the first preset number of freezes and the second preset number of freezes can be determined in advance based on the average number of freezes of each CDN node in the CDN system disk. The first preset number of freezes can be 1.2 times the average number of freezes of each CDN node, and the second preset number of freezes can be the average number of freezes of each CDN node. The second preset number of freezes is less than the first preset number of freezes. If the number of freezes is greater than the first preset number of freezes, the freeze weight is adjusted down by a third preset ratio, such as by multiplying the original freeze weight by 0.9, so that the freeze weight is adjusted down; if the number of freezes is less than the second preset number of freezes, the freeze weight is adjusted up by a fourth preset ratio, such as by multiplying the original freeze weight by 1.1, so that the freeze weight is adjusted up. The purpose of lowering and raising the freeze weight is the same as that of the download weight. When lowering, the bandwidth of the target node is limited, the number of clients pulling the stream is reduced, the service pressure of the target node is alleviated, and the service quality of the clients that have pulled the stream is guaranteed.

[0075] For error information, the number of errors is determined based on the error information of the client for comparison, and the first preset number of errors and the second preset number of errors are determined in advance based on the average number of errors of each CDN node in the CDN system disk. The first preset number of errors can be 1.2 times the average number of errors of each CDN node, and the second preset number of errors can be the average number of errors of each CDN node. The second preset number of errors is less than the first preset number of errors. If the number of errors is greater than the first preset number of errors, the error weight is reduced by the fifth preset ratio, such as the original error weight * 0.9, so that the error weight is reduced. If the number of errors is less than the second preset number of errors, the error weight is increased by the sixth preset ratio, such as the original error weight * 1.1, so that the error weight is increased. The reduction and increase of the error weight have the same purpose as the download weight. When it is reduced, the bandwidth of the target node is limited, the number of clients pulling the stream is reduced, the service pressure of the target node is alleviated, and the service quality of the client that has pulled the stream is guaranteed.

[0076] For the first frame rate of return to the source, the first preset return to the source time and the second preset return to the source time can be determined in advance according to the average return to the source time of each CDN node in the CDN system disk. The first preset return to the source time can be 1.2 times the average return to the source time of each CDN node, and the second preset return to the source time can be the average return to the source time of each CDN node. The second preset return to the source time is less than the first preset return to the source time. If the duration of the first frame rate of the client's return to the source is greater than the first preset return to the source time, the return to the source weight is reduced by the seventh preset ratio, such as the original return to the source weight * 0.9, so that the return to the source weight is reduced. If the duration of the first frame rate of the client's return to the source is less than the second preset return to the source time, the return to the source weight is increased by the eighth preset ratio, such as the original return to the source weight * 1.1, so that the return to the source weight is increased. The reduction and increase of the return to the source weight have the same purpose as the download weight. When it is reduced, the bandwidth of the target node is limited, the number of clients pulling the stream is reduced, the service pressure of the target node is reduced, and the service quality of the client that has pulled the stream is guaranteed.

[0077] After obtaining the above download weights, jam weights, error weights, and return-to-source weights, the download weights, jam weights, error weights, and return-to-source weights can be multiplied to obtain the feedback weight of the target node. The preset ratios involved above are examples, which are set according to the implementation situation and are not limited here. Among them, a preset maximum threshold can be set, such as 1. If the values ​​of the download weight, jam weight, error weight, and return-to-source weight are greater than the preset maximum threshold, they are adjusted to the preset maximum threshold. That is, after obtaining the download weights, jam weights, error weights, and return-to-source weights according to the playback feedback information, if the above weights are lower than the average values ​​of the market, it means that the target node can provide the client with better service quality and can maintain the existing bandwidth. The preset maximum threshold can also be set according to the implementation situation, such as 1.1, etc., and the bandwidth of the target node can be adjusted appropriately, which is not limited here. The above download weights, jam weights, error weights, and return-to-source weights can obtain each weight according to the implementation situation, or one or more combinations thereof can be selected to obtain the feedback weight, which is not limited here.

[0078] Step S203, obtaining the node heartbeat information of the target node, and determining the usage weight of the target node.

[0079] Node heartbeat information includes node delay information, node packet loss rate, node resource load information, etc. Node resource load information includes target node CPU load information, memory load information, disk load information, etc. Node heartbeat information reflects the current usage of the target node, whether it is providing services to the client normally, etc.

[0080] The acquisition of node heartbeat information can be done in a scheduled task manner, with the target node reporting it regularly. For example, at every preset time interval, the target node regularly obtains its own node delay information, packet loss rate, etc. by pinging the operator's domain name, and counts the load usage of its own resources, and reports the node heartbeat information.

[0081] Based on the node heartbeat information, the corresponding delay weight can be determined according to the node delay information and the preset node delay threshold. The preset node delay threshold may include multiple, and multiple different preset node delay thresholds may correspond to different delay weights. For example, the preset node delay threshold may include 2, 1000ms and 200ms respectively. When the duration of the node delay information exceeds 1000ms, the delay is serious and affects the playback effect. The delay weight can be directly set to 0. When the duration of the node delay information exceeds 200ms but is less than 1000ms, the delay weight can be lowered, such as delay weight * 0.9. When the duration of the node delay information is less than 200ms, the delay weight can be increased, such as delay weight * 1.1, etc. The delay weight is not greater than the preset maximum threshold. If it is greater, it is adjusted to the preset maximum threshold, such as 1. The above is an example, which is set according to the implementation situation and is not limited here.

[0082] For the node packet loss rate, you can also set it accordingly, such as determining the corresponding packet loss weight according to the node packet loss rate and the preset packet loss threshold. The preset packet loss threshold can contain multiple values, such as 50% and 10%. When the node packet loss rate is greater than 50%, the packet loss is serious and affects the playback effect. The packet loss weight is directly set to 0. When the node packet loss rate is between 10% and 50%, the packet loss weight can be lowered, such as packet loss weight ** 0.8. When the node packet loss rate is less than 10%, the packet loss weight can be increased, such as packet loss weight * 1.2. The packet loss weight is not greater than the preset maximum threshold. If it is greater, it is adjusted to the preset maximum threshold, such as 1. The above is an example, and it is set according to the implementation situation, and is not limited here.

[0083] For the node resource load information, the corresponding load weight can be determined based on the node resource load information and the preset load ratio threshold. Node resources include CPU, memory, disk, etc. The preset load ratio threshold can be set to 80%. If any of the CPU load information, memory load information, and disk load information in the node resource load information exceeds 80%, the load weight is 0, that is, the resources of the target node are already under high load. Continuing to access the client may cause the target node to fail to operate normally. Therefore, the load weight is set to 0 to solve the problem of excessive load. If the proportion of CPU load information, memory load information, and disk load information in the node resource load information does not exceed 80%, it means that the resources are used normally, and the load weight can be set to 1. The target node can continue to provide services to the client normally. The above is an example, and the specific setting is based on the implementation situation, and there is no limitation here.

[0084] After the delay weight, packet loss weight, and load weight are obtained, the delay weight, packet loss weight, and load weight are multiplied to obtain the usage weight of the target node. The above delay weight, packet loss weight, and load weight can be used to obtain each weight according to the implementation situation, or one or more combinations thereof can be selected to obtain the usage weight, which is not limited here.

[0085] Step S204, obtaining the adjustment weight of the target node according to the product of the feedback weight and the use weight, obtaining the adjustment bandwidth of the target node according to the product of the current target node bandwidth and the adjustment weight, and adjusting the target node.

[0086] After obtaining the feedback weight and the usage weight, the adjustment weight of the target node is obtained according to the product of the feedback weight and the usage weight. The adjustment weight is used to adjust the current bandwidth of the target node. When adjusting, the current bandwidth of the target node is multiplied by the adjustment weight. The product obtained is the adjusted bandwidth of the target node, so that the target node can be adjusted according to the adjusted bandwidth.

[0087] In this embodiment, both playback feedback information and node heartbeat information are acquired in a timed manner. In the case of a large client base, playback feedback information can be sampled, and the target node is determined based on the sampled playback feedback information. Combined with the node heartbeat information of the target node, the health status and playback quality of the target node are comprehensively determined, and the bandwidth of the target node is dynamically adjusted.

[0088] According to the node bandwidth adjustment method provided in the present application, the playback feedback information of the client is obtained regularly, the target node is determined, the playback feedback information is combined with the current node heartbeat information of the target node, and the bandwidth of the target node is dynamically adjusted. Compared with manual intervention, it is more flexible and more timely, the user experience is better, and the node resources can be more fully utilized.

[0089] Figure 3 FIG. 1 is a schematic diagram showing the structure of a node bandwidth adjustment device provided by an embodiment of the present application. Figure 3 As shown, the device comprises:

[0090] The feedback module 310 is adapted to obtain playback feedback information and determine a target node corresponding to the playback feedback information;

[0091] A feedback weight module 320, adapted to determine a feedback weight of a target node according to playback feedback information;

[0092] A usage weight module 330 is adapted to obtain node heartbeat information of a target node and determine a usage weight of the target node;

[0093] The adjustment module 340 is adapted to determine an adjustment weight of the target node according to the feedback weight and the usage weight, so as to adjust the bandwidth of the target node according to the adjustment weight.

[0094] Optionally, the feedback module 310 is further adapted to:

[0095] Obtain playback feedback information based on IP and / or domain name dimensions;

[0096] According to the correspondence between the IP and / or domain name and the node, the target node corresponding to the playback feedback information is determined.

[0097] Optionally, the playback feedback information includes freeze information, error information and / or return-to-source first frame rate;

[0098] The feedback weight module 320 is further adapted to:

[0099] According to the jamming information of the playback file of the client, the download rate and jamming times of the playback file of the client are calculated; the download rate is determined according to the download size of the playback file and the jamming time of the jamming information;

[0100] If the download rate is greater than the first preset rate, the download weight is adjusted down by the first preset ratio; if the download rate is less than the second preset rate, the download weight is adjusted up by the second preset ratio; the first preset rate and the second preset rate are determined according to the size and bit rate of the playback file; the second preset rate is less than the first preset rate;

[0101] If the number of freezes is greater than the first preset number of freezes, the freeze weight is lowered by a third preset ratio; if the number of freezes is less than the second preset number of freezes, the freeze weight is increased by a fourth preset ratio; the first preset number of freezes and the second preset number of freezes are determined according to the average number of freezes of each CDN node; the second preset number of freezes is less than the first preset number of freezes;

[0102] Determine the number of errors according to the error information of the client, if the number of errors is greater than the first preset number of errors, adjust the error weight down to the fifth preset ratio; if the number of errors is less than the second preset number of errors, adjust the error weight up to the sixth preset ratio; the first preset number of errors and the second preset number of errors are determined according to the average number of errors of each CDN node; the second preset number of errors is less than the first preset number of errors;

[0103] If the duration of the client's first frame rate of return to the source is longer than the first preset return to the source duration, the return to the source weight is lowered by the seventh preset ratio; if the duration of the client's first frame rate of return to the source is shorter than the second preset return to the source duration, the return to the source weight is increased by the eighth preset ratio; the first preset return to the source duration and the second preset return to the source duration are determined according to the average return to the source duration of each CDN node; the second preset return to the source duration is shorter than the first preset return to the source duration;

[0104] The download weight, jamming weight, error weight and / or return-to-source weight are multiplied to obtain the feedback weight of the target node; if the value of the download weight, jamming weight, error weight and / or return-to-source weight is greater than the preset maximum threshold, it is adjusted to the preset maximum threshold.

[0105] Optionally, the node heartbeat information includes node delay information, node packet loss rate and / or node resource load information; the node resource load information includes CPU load information, memory load information and / or disk load information;

[0106] The usage weight module 330 is further adapted to:

[0107] Determine the corresponding delay weight according to the node delay information and the preset node delay threshold;

[0108] Determine the corresponding packet loss weight according to the node packet loss rate and the preset packet loss threshold;

[0109] Determine the corresponding load weight according to the node resource load information and the preset load ratio threshold;

[0110] The delay weight, packet loss weight and / or load weight are multiplied to obtain the usage weight of the target node; wherein, if the value of the delay weight, packet loss weight and / or load weight is greater than a preset maximum threshold, it is adjusted to the preset maximum threshold.

[0111] Optionally, the adjustment module 340 is further adapted to:

[0112] According to the product of the feedback weight and the usage weight, the adjustment weight of the target node is obtained;

[0113] The adjusted bandwidth of the target node is obtained according to the product of the current target node bandwidth and the adjustment weight, and the target node is adjusted.

[0114] Optionally, the feedback module 310 is further adapted to:

[0115] Get playback feedback information from the client based on preset tracking points.

[0116] Optionally, based on scheduled task execution.

[0117] The description of each module above refers to the corresponding description in the method embodiment and will not be repeated here.

[0118] According to the node bandwidth adjustment device provided by the present application, playback feedback information is obtained, and the playback feedback situation can be combined with the current node heartbeat information of the target node. The node bandwidth can be dynamically adjusted taking into account both the bandwidth usage of the target node itself and the playback feedback situation. This can ensure that the resources of the target node are fully utilized while ensuring the playback quality.

[0119] The present application also provides a non-volatile computer storage medium, which stores at least one executable instruction, and the executable instruction can execute operations corresponding to the node bandwidth adjustment method in any of the above method embodiments.

[0120] The present application also provides a computer program product, which includes at least one executable instruction or computer program, and the executable instruction or computer program can enable a processor to perform operations corresponding to the node bandwidth adjustment method in any of the above method embodiments.

[0121] Figure 4 A schematic diagram of the structure of a computing device according to an embodiment of the present application is shown. The specific embodiment of the present application does not limit the specific implementation of the computing device.

[0122] like Figure 4 As shown, the computing device may include: a processor (processor) 402 , a communications interface (Communications Interface) 404 , a memory (memory) 406 , and a communication bus 408 .

[0123] in:

[0124] The processor 402 , the communication interface 404 , and the memory 406 communicate with each other via a communication bus 408 .

[0125] The communication interface 404 is used to communicate with other devices such as clients or other servers.

[0126] The processor 402 is used to execute the program 410, and specifically can execute the relevant steps in the above-mentioned node bandwidth adjustment method embodiment.

[0127] Specifically, the program 410 may include program codes, which include computer operation instructions.

[0128] The processor 402 may be a central processing unit (CPU), or an application-specific integrated circuit (ASIC), or one or more integrated circuits configured to implement the present application. The one or more processors included in the computing device may be processors of the same type, such as one or more CPUs; or processors of different types, such as one or more CPUs and one or more ASICs.

[0129] The memory 406 is used to store the program 410. The memory 406 may include a high-speed RAM memory, and may also include a non-volatile memory (non-volatile memory), such as at least one disk memory.

[0130] The program 410 can be specifically used to enable the processor 402 to execute the node bandwidth adjustment method in any of the above-mentioned method embodiments. The specific implementation of each step in the program 410 can refer to the corresponding description in the corresponding steps and units in the above-mentioned node bandwidth adjustment embodiment, which will not be repeated here. Those skilled in the art can clearly understand that for the convenience and simplicity of description, the specific working process of the above-described devices and modules can refer to the corresponding process description in the above-mentioned method embodiment, which will not be repeated here.

[0131] The algorithm or display provided here is not inherently related to any specific computer, virtual system or other device. Various general systems can also be used together with the teaching based on this. According to the above description, it is obvious to construct the structure required for this type of system. In addition, the application is not directed to any specific programming language either. It should be understood that various programming languages ​​can be utilized to realize the content of the application described here, and the above description of specific languages ​​is to disclose the preferred embodiment of the application.

[0132] In the description provided herein, a large number of specific details are described. However, it is understood that the embodiments of the present application can be practiced without these specific details. In some instances, well-known methods, structures and techniques are not shown in detail so as not to obscure the understanding of this description.

[0133] Similarly, it should be understood that in order to streamline the present application and help understand one or more of the various inventive aspects, in the above description of the exemplary embodiments of the present application, the various features of the present application are sometimes grouped together into a single embodiment, figure, or description thereof. However, the disclosed method should not be interpreted as reflecting the following intention: the claimed application requires more features than the features clearly stated in each claim. More specifically, as reflected in the claims below, the inventive aspects are less than all the features of the single embodiment disclosed above. Therefore, the claims following the specific embodiment are hereby expressly incorporated into the specific embodiment, wherein each claim itself serves as a separate embodiment of the present application.

[0134] Those skilled in the art will appreciate that the modules in the devices in the embodiments may be adaptively changed and arranged in one or more devices different from the embodiments. The modules or units or components in the embodiments may be combined into one module or unit or component, and in addition they may be divided into a plurality of submodules or subunits or subcomponents. Except that at least some of such features and / or processes or units are mutually exclusive, all features disclosed in this specification (including the accompanying claims, abstracts and drawings) and all processes or units of any method or device disclosed in this manner may be combined in any combination. Unless otherwise expressly stated, each feature disclosed in this specification (including the accompanying claims, abstracts and drawings) may be replaced by an alternative feature providing the same, equivalent or similar purpose.

[0135] In addition, those skilled in the art will appreciate that, although some embodiments herein include certain features included in other embodiments but not other features, the combination of features of different embodiments is meant to be within the scope of the present application and form different embodiments. For example, in the claims below, any one of the claimed embodiments may be used in any combination.

[0136] The various component embodiments of the present application can be implemented in hardware, or in software modules running on one or more processors, or in a combination thereof. It should be understood by those skilled in the art that a microprocessor or digital signal processor (DSP) can be used in practice to implement some or all functions of some or all components of the present application. The present application can also be implemented as a device or apparatus program (e.g., computer program and computer program product) for executing a part or all of the methods described herein. Such a program implementing the present application can be stored on a computer-readable medium, or can have the form of one or more signals. Such a signal can be downloaded from an Internet website, or provided on a carrier signal, or provided in any other form.

[0137] It should be noted that the above embodiments illustrate the present application rather than limit the present application, and that those skilled in the art may design alternative embodiments without departing from the scope of the appended claims. In the claims, any reference symbol between brackets shall not be constructed as a limitation on the claims. The word "comprising" does not exclude the presence of elements or steps not listed in the claims. The word "one" or "an" preceding an element does not exclude the presence of multiple such elements. The present application may be implemented by means of hardware including several different elements and by means of a suitably programmed computer. In a unit claim that lists several devices, several of these devices may be embodied by the same hardware item. The use of the words first, second, and third, etc. does not indicate any order. These words may be interpreted as names. The steps in the above embodiments, unless otherwise specified, should not be understood as limitations on the order of execution.

Claims

1. A node bandwidth adjustment method, comprising: Acquire playback feedback information, and determine a target node corresponding to the playback feedback information; Determining a feedback weight of the target node according to the playback feedback information; Obtaining node heartbeat information of the target node and determining the usage weight of the target node; An adjustment weight of the target node is determined according to the feedback weight and the usage weight, so as to adjust the bandwidth of the target node according to the adjustment weight.

2. The method according to claim 1, wherein: The obtaining of playback feedback information and determining a node corresponding to the playback feedback information further includes: Obtain playback feedback information based on IP and / or domain name dimensions; According to the corresponding relationship between the IP and / or domain name and the node, the target node corresponding to the playback feedback information is determined.

3. The method according to claim 1 or 2, wherein: The playback feedback information includes freeze information, error information and / or first frame rate of return to source; The step of determining the feedback weight of the target node according to the playback feedback information further includes: According to the jamming information of the playback file of the client, the download rate and the number of jamming of the playback file of the client are calculated; the download rate is determined according to the download size of the playback file and the jamming time of the jamming information; If the download rate is greater than the first preset rate, the download weight is adjusted down by the first preset ratio; if the download rate is less than the second preset rate, the download weight is adjusted up by the second preset ratio; the first preset rate and the second preset rate are determined according to the size and bit rate of the playback file; the second preset rate is less than the first preset rate; If the number of freezes is greater than the first preset number of freezes, the freeze weight is lowered by a third preset ratio; if the number of freezes is less than the second preset number of freezes, the freeze weight is increased by a fourth preset ratio; the first preset number of freezes and the second preset number of freezes are determined according to the average number of freezes of each CDN node; the second preset number of freezes is less than the first preset number of freezes; Determine the number of errors according to the error information of the client, and if the number of errors is greater than the first preset number of errors, adjust the error weight down to a fifth preset ratio; if the number of errors is less than the second preset number of errors, adjust the error weight up to a sixth preset ratio; the first preset number of errors and the second preset number of errors are determined according to the average number of errors of each CDN node; the second preset number of errors is less than the first preset number of errors; If the duration of the first frame rate of the client's return to the source is longer than the first preset return to the source duration, the return to the source weight is lowered by the seventh preset ratio; if the duration of the first frame rate of the client's return to the source is shorter than the second preset return to the source duration, the return to the source weight is increased by the eighth preset ratio; the first preset return to the source duration and the second preset return to the source duration are determined according to the average return to the source duration of each CDN node; the second preset return to the source duration is shorter than the first preset return to the source duration; The download weight, jamming weight, error weight and / or back-to-source weight are multiplied to obtain the feedback weight of the target node; wherein, if the value of the download weight, jamming weight, error weight and / or back-to-source weight is greater than a preset maximum threshold, it is adjusted to the preset maximum threshold.

4. The method according to claim 1, wherein: The node heartbeat information includes node delay information, node packet loss rate and / or node resource load information; the node resource load information includes CPU load information, memory load information and / or disk load information; The acquiring the node heartbeat information of the target node and determining the usage weight of the target node further comprises: Determine the corresponding delay weight according to the node delay information and the preset node delay threshold; Determine the corresponding packet loss weight according to the node packet loss rate and the preset packet loss threshold; Determine the corresponding load weight according to the node resource load information and the preset load ratio threshold; The delay weight, packet loss weight and / or load weight are multiplied to obtain the usage weight of the target node; wherein, if the value of the delay weight, packet loss weight and / or load weight is greater than a preset maximum threshold, it is adjusted to the preset maximum threshold.

5. The method according to claim 1, wherein: The step of determining the adjustment weight of the target node according to the feedback weight and the usage weight, so as to adjust the bandwidth of the target node according to the adjustment weight, further includes: Obtaining an adjustment weight of the target node according to a product of the feedback weight and the usage weight; The adjusted bandwidth of the target node is obtained according to the product of the current target node bandwidth and the adjustment weight, and the target node is adjusted.

6. The method according to any one of claims 1 to 5, wherein: The obtaining of playback feedback information further comprises: Get playback feedback information from the client based on preset tracking points.

7. The method according to any one of claims 1 to 6, wherein: The method is based on scheduled task execution.

8. A node bandwidth adjustment device, comprising: A feedback module, adapted to obtain playback feedback information and determine a target node corresponding to the playback feedback information; A feedback weight module, adapted to determine the feedback weight of the target node according to the playback feedback information; A usage weight module is adapted to obtain the node heartbeat information of the target node and determine the usage weight of the target node; The adjustment module is adapted to determine an adjustment weight of the target node according to the feedback weight and the usage weight, so as to adjust the bandwidth of the target node according to the adjustment weight.

9. A computing device comprising: A processor, a memory, a communication interface and a communication bus, wherein the processor, the memory and the communication interface communicate with each other via the communication bus; The memory is used to store at least one executable instruction, and the executable instruction enables the processor to perform an operation corresponding to the node bandwidth adjustment method according to any one of claims 1 to 7.

10. A computer storage medium, wherein at least one executable instruction is stored in the storage medium, and the executable instruction enables a processor to perform operations corresponding to the node bandwidth adjustment method according to any one of claims 1 to 7.

11. A computer program product, comprising at least one executable instruction, wherein the executable instruction enables a processor to perform operations corresponding to the node bandwidth adjustment method according to any one of claims 1 to 7.