CDN data transmission control method, device, equipment, medium and program product

By analyzing the service scenarios of the CDN transmission link and correcting the bandwidth estimation, the target bandwidth is determined, and the problem of high packet loss rate in long-distance transmission scenarios in CDN is solved, achieving high-quality data transmission and global acceleration.

CN119276721BActive Publication Date: 2025-03-11BEIJING VOLCANO ENGINE TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202411793618.8
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-12-06
Publication Date
2025-03-11
Estimated Expiration
2044-12-06

AI Technical Summary

Technical Problem

The packet loss rate in CDN is high in long-distance transmission scenarios, resulting in a decline in data transmission quality and it is difficult to meet the needs of business scenarios.

Method used

By obtaining the collected data and link images on the target CDN transmission link during the bandwidth acquisition period, the service scenario of the target CDN transmission link is analyzed. If it is a preset CDN service scenario, the estimated bandwidth of the delivered data is corrected based on the unconfirmed data volume in the transit, the target bandwidth is determined, and data transmission control is performed based on the target bandwidth.

Benefits of technology

By accurately determining the target bandwidth, the packet loss rate on the CDN transmission link is reduced, the quality and reliability of data transmission are improved, and the goal of global acceleration is achieved.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119276721B_ABST
    Figure CN119276721B_ABST
Patent Text Reader

Abstract

The present disclosure relates to the field of computer technology, and discloses a control method, device, equipment, medium and program product for CDN data transmission, the method comprising obtaining collected data and link portraits on a target CDN transmission link within a bandwidth collection period, the collected data comprising the amount of CDN's in-transit unconfirmed data and the amount of data delivered; analyzing the business scenario of the target CDN transmission link based on the collected data and link portraits; if the business scenario of the target CDN transmission link is a preset CDN business scenario, then correcting the bandwidth estimated by the amount of delivered data based on the amount of in-transit unconfirmed data, and determining the target bandwidth of the target CDN transmission link; and controlling data transmission based on the target bandwidth. The accuracy of the target bandwidth can ensure that the control of data transmission is performed on the basis of the accurate bandwidth, reduce the packet loss rate on the target CDN transmission link, and achieve global acceleration with a smaller packet loss rate in the CDN.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to the field of computer technology, and in particular to a control method, device, equipment, medium and program product for CDN data transmission. Background Art

[0002] There are many scenarios for data transmission of the entire site or global acceleration of the Content Delivery Network (CDN). Some of them may have business scenarios requiring long-distance transmission, which will pose great challenges to node resources and transmission networks. Among them, most long-distance transmission networks are long and fat networks with high bandwidth and long latency, but such networks are often accompanied by a certain degree of packet loss rate. Therefore, packet loss rate is an issue that needs to be focused on in the business scenarios of long-distance transmission in CDN. Summary of the invention

[0003] In view of this, the present disclosure provides a control method, device, equipment, medium and program product for CDN data transmission to solve the problem of high packet loss rate in long-distance transmission scenarios in CDN.

[0004] In a first aspect, the present disclosure provides a method for controlling CDN data transmission, the method comprising:

[0005] Acquire the collected data and link profile on the target CDN transmission link during the bandwidth collection period, wherein the collected data includes the amount of CDN in-transit unconfirmed data and the amount of delivered data;

[0006] Analyze the business scenario of the target CDN transmission link based on the collected data and the link portrait;

[0007] If the service scenario of the target CDN transmission link is a preset CDN service scenario, the bandwidth estimated by the delivered data quantity is corrected based on the in-transit unconfirmed data quantity to determine the target bandwidth of the target CDN transmission link;

[0008] Data transmission is controlled based on the target bandwidth.

[0009] In a second aspect, the present disclosure provides a control device for CDN data transmission, the device comprising:

[0010] An acquisition module is used to acquire the collected data and link portrait on the target CDN transmission link during the bandwidth collection period, wherein the collected data includes the amount of CDN in-transit unconfirmed data and the amount of delivered data;

[0011] An analysis module, configured to analyze the business scenario of the target CDN transmission link based on the collected data and the link portrait;

[0012] A correction module, configured to correct the bandwidth estimated by the delivered data quantity based on the amount of unconfirmed data in transit, if the business scenario of the target CDN transmission link is a preset CDN business scenario, and determine a target bandwidth of the target CDN transmission link;

[0013] A control module is used to control data transmission based on the target bandwidth.

[0014] In a third aspect, the present disclosure provides an electronic device, comprising: a memory and a processor, the memory and the processor being communicatively connected to each other, the memory storing computer instructions, and the processor executing the control method for CDN data transmission of the above-mentioned first aspect or any corresponding embodiment thereof by executing the computer instructions.

[0015] In a fourth aspect, the present disclosure provides a computer-readable storage medium having computer instructions stored thereon, the computer instructions being used to enable a computer to execute the method for controlling CDN data transmission of the first aspect or any corresponding embodiment thereof.

[0016] In a fifth aspect, the present disclosure provides a computer program product, including computer instructions, where the computer instructions are used to enable a computer to execute the control method for CDN data transmission of the above-mentioned first aspect or any corresponding embodiment thereof.

[0017] The control method of CDN data transmission provided by the embodiment of the present disclosure analyzes the business scenario of the target CDN transmission link based on the collected data and link portrait on the target CDN transmission link during the bandwidth collection period. If it belongs to the preset CDN business scenario, it means that the bandwidth estimated based on the amount of delivered data is too low and needs to be adjusted, that is, the result of bandwidth estimation is adjusted based on the amount of unconfirmed data in transit, so as to accurately obtain the target bandwidth of the target CDN transmission link, and then control the data transmission on this basis. Due to the accuracy of the target bandwidth, it can ensure that the control of data transmission is carried out on the basis of accurate bandwidth, reduce the packet loss rate on the target CDN transmission link, and achieve global acceleration with a smaller packet loss rate in CDN. BRIEF DESCRIPTION OF THE DRAWINGS

[0018] In order to more clearly illustrate the specific embodiments of the present disclosure or the technical solutions in the related technologies, the drawings required for use in the specific embodiments or the related technical descriptions will be briefly introduced below. Obviously, the drawings described below are some embodiments of the present disclosure. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative work.

[0019] Figure 1It is a schematic diagram of the expected transmission state of the long fat pipeline in the related art;

[0020] Figure 2 It is a schematic diagram of the actual transmission status of the long fat pipeline in the related technology;

[0021] Figure 3a It is an illustration of an application scenario according to an embodiment of the present disclosure;

[0022] Figure 3b-Figure 3c is a schematic diagram of the principle of a method for controlling CDN data transmission according to an embodiment of the present disclosure;

[0023] Figure 4 is a flowchart of a method for controlling CDN data transmission according to an embodiment of the present disclosure;

[0024] Figure 5 is a flowchart of another CDN data transmission control method according to an embodiment of the present disclosure;

[0025] Figure 6 is a structural block diagram of a control device for CDN data transmission according to an embodiment of the present disclosure;

[0026] Figure 7 It is a schematic diagram of the hardware structure of the electronic device according to an embodiment of the present disclosure. DETAILED DESCRIPTION

[0027] In order to make the purpose, technical solution and advantages of the embodiments of the present disclosure clearer, the technical solution in the embodiments of the present disclosure will be clearly and completely described below in conjunction with the drawings in the embodiments of the present disclosure. Obviously, the described embodiments are part of the embodiments of the present disclosure, rather than all the embodiments. Based on the embodiments in the present disclosure, all other embodiments obtained by those skilled in the art without creative work are within the scope of protection of the present disclosure.

[0028] It is understandable that before using the technical solutions disclosed in the embodiments of the present disclosure, the types, scope of use, usage scenarios, etc. of the personal information involved in the present disclosure should be informed to the user and the user's authorization should be obtained in an appropriate manner in accordance with relevant laws and regulations.

[0029] For example, in response to receiving an active request from a user, a prompt message is sent to the user to clearly prompt the user that the operation requested to be performed will require obtaining and using the user's personal information. Thus, the user can autonomously choose whether to provide personal information to software or hardware such as an electronic device, application, server, or storage medium that performs the operation of the technical solution of the present disclosure according to the prompt message.

[0030] As an optional but non-limiting implementation, in response to receiving an active request from the user, the prompt information may be sent to the user in the form of a pop-up window, in which the prompt information may be presented in text form. In addition, the pop-up window may also carry a selection control for the user to choose "agree" or "disagree" to provide personal information to the electronic device.

[0031] It is understandable that the above notification and the process of obtaining user authorization are merely illustrative and do not constitute a limitation on the implementation of the present disclosure. Other methods that meet the relevant laws and regulations may also be applied to the implementation of the present disclosure.

[0032] It is understandable that the data involved in this technical solution (including but not limited to the data itself, the acquisition or use of the data) shall comply with the requirements of relevant laws, regulations and relevant provisions.

[0033] For long-distance transmission of the long-fat network used for global acceleration, the expected transmission status is as follows: Figure 1 That is, the sender is sending continuously and the receiver is receiving continuously. However, in actual business scenarios, due to the impact of packet loss in long-distance transmission, the transmission status of long-fat pipe transmission is as follows: Figure 2 The data sent by the sender may be lost or delayed, which makes it difficult to meet the business scenario requirements of CDN long-distance transmission.

[0034] In order to solve this problem, the congestion algorithm is used in related technologies to control CDN data transmission. The goal of the congestion algorithm itself is to pursue the ability to resist packet loss, jitter, and maintain the maximum current bandwidth. The anti-packet loss ability depends on the setting of the gain coefficient packing_gain. Its essence is to pursue the maximum utilization of the remaining bandwidth.

[0035] In the related art, the gain coefficient packing_gain of the congestion algorithm is [1.25, 0.75, 1, 1, 1, 1, 1, 1], that is, a fixed gain coefficient is used for congestion control.

[0036] In some other related technologies, the value of the gain coefficient packing_gain is dynamically set by controlling the packet loss rate. However, the packet loss rate may have some random packet loss or burst packet loss, which cannot accurately represent the transmission of the network. Therefore, this method is not very effective in reducing the packet loss rate.

[0037] Based on this, the control method of CDN data transmission provided by the embodiment of the present disclosure reduces the packet loss rate from the perspective of accurately determining the working bandwidth. This method avoids adjusting the gain coefficient of the congestion algorithm, but adopts the original gain coefficient to reduce the packet loss rate problem in the long-distance transmission business scenario from another perspective.

[0038] As an optional application scenario of the embodiment of the present disclosure, Figure 3a As shown, the method is applied in a server. In this application scenario, a server 10, a server 20 and a server 30 are included, wherein the server 10 is connected to the server 20 and the server 30 respectively, the terminal 41 is connected to the server 30 through the first network, the terminal 42 is connected to the server 20 through the second network, and the server 30 is connected to the server 20 through the server 10. Specifically, if the terminal 41 and the terminal 42 at different locations are both installed with the same instant messaging application for communication, the server 30 sends the message of the terminal 41 to the server 10, which is forwarded by the server 10 to the server 20, and sent by the server 20 to the terminal 42. In this process, since the server 10 also has other communication services at the same time, the server 10 usually needs to perform congestion control in order to ensure the quality of data transmission. In this process, the server 10 determines the bandwidth of the transmission link between the server 30-server 10 and the server 10-server 20 by executing the control method of CDN data transmission described in the embodiment of the present disclosure, thereby performing congestion control based on the determination result of the bandwidth.

[0039] It should be noted that the server 20 and the server 30 may also be deployed with a CDN data transmission control method to estimate the bandwidth of the corresponding transmission link.

[0040] Figure 3b A schematic diagram of a control method for CDN data transmission is shown. From the perspective of principle implementation, the method may include a protocol stack and a bandwidth estimation module, wherein the processing of the protocol stack includes a bandwidth acquisition module and a congestion control module. The bandwidth acquisition module is used to collect the data volume of the transmission link and send it to the utilization model so as to determine the packet loss information in the utilization model. The utilization model then sends the packet loss information to the link portrait, and the two together determine the business scenario of the transmission link. If it is determined that it belongs to the preset CDN business scenario, the bandwidth estimated by the amount of unconfirmed data in transit based on the CDN to the amount of delivered data is corrected, and the subsequent congestion control module performs congestion control based on the determined target bandwidth.

[0041] The utilization model includes the amount of unconfirmed data in flight and the amount of delivered data, which are combined to determine packet loss information. The link profile can be used to obtain the disorder and option occupancy to determine the business scenario. In terms of implementation function, the utilization model and link profile are included in the bandwidth estimation module to implement bandwidth estimation.

[0042] Figure 3cThe principle of this method is characterized by the correspondence between congestion window and throughput and congestion window and round-trip delay. Figure 3c As shown in the figure, as the congestion window grows, at the critical point of link capacity (Bandwidth Delay Product, BDP), the throughput and round-trip time (Round-Trip Time, RTT) are optimal, that is, the optional control point is reached, and then the RTT will continue to rise until packet loss occurs. Large file transmission generally runs the link to the full, so the number of unconfirmed data in transit and delivered data will be equal at the critical point, and the utilization model can be equivalent to inflight / RTT, that is, the larger the RTT, the lower the bandwidth utilization. The goal of the congestion algorithm itself is to pursue the ability to resist packet loss, jitter, and maintain the current bandwidth to the maximum. This method achieves packet loss resistance without affecting the anti-RTT jitter scenario. The specific implementation principle is: after the link capacity reaches the link critical point, more packet loss means a larger gap between inflight and delivered, and a lower link utilization. On this basis, combined with the link portrait, when the sack option is selected and cannot carry more delivered data due to packet loss or disorder, the bandwidth estimated based on delivered will be low, resulting in low link utilization. At this time, it means that the transmission link scenario and the preset CDN business scenario need to correct the estimated bandwidth of delivered through correction logic to determine the target bandwidth.

[0043] According to an embodiment of the present disclosure, an embodiment of a method for controlling CDN data transmission is provided. It should be noted that the steps shown in the flowchart of the accompanying drawings can be executed in a computer system such as a set of computer executable instructions, and although a logical order is shown in the flowchart, in some cases, the steps shown or described can be executed in an order different from that shown here.

[0044] In this embodiment, a method for controlling CDN data transmission is provided, which can be used in a server. Figure 4 is a flow chart of a method for controlling CDN data transmission according to an embodiment of the present disclosure. Figure 4 As shown, the process includes the following steps:

[0045] Step S401, obtaining the collected data and link profile on the target CDN transmission link within the bandwidth collection period.

[0046] The collected data includes the amount of unconfirmed data in transit and the amount of data delivered by the CDN.

[0047] The specific duration of the bandwidth collection cycle is set according to actual needs, for example, 1S or 2S, etc. In a bandwidth collection cycle, the collection data and link profile on the target CDN transmission link are obtained, where the collection data includes the amount of CDN in-flight unconfirmed data and the amount of delivered data. The collection of the collection data can be based on the received feedback response information or obtained by other means, and there is no limitation on it here.

[0048] Link profile is used to characterize the target CDN transmission link, including but not limited to disorder, option occupancy, etc., which can be Figure 3b The bandwidth collection module in the protocol stack shown is collected. That is, the bandwidth collection module collects data of the target CDN transmission link based on the bandwidth collection period.

[0049] Step S402: Analyze the business scenario of the target CDN transmission link based on the collected data and link portrait.

[0050] The business scenarios of the target CDN transmission link may include non-preset CDN business scenarios and preset CDN business scenarios, wherein the preset CDN business scenarios are used to characterize scenarios with low bandwidth utilization, such as long-distance data transmission scenarios, etc. Of course, it is not limited to long-distance data transmission. Non-preset CDN business scenarios are used to characterize other business scenarios other than the preset CDN business scenarios.

[0051] As described above, the collected data includes the amount of unconfirmed data in flight and the amount of delivered data. These two data amounts can be used to determine packet loss information, such as bandwidth utilization or the difference between the two. Link profiles can be used to characterize the causes of packet loss, such as random packet loss, congestion packet loss, etc.

[0052] Combining the collected data and link profile, the business scenario of the target CDN transmission link can be determined. That is, the collected data can represent the packet loss information, and the link profile can represent the cause of the packet loss. After using the packet loss information to determine that the packet loss is large, combined with the cause of the packet loss, it is comprehensively determined whether the preset CDN business scenario is met. Among them, in the preset CDN business scenario, the packet loss is large and caused by congestion.

[0053] Step S403: if the service scenario of the target CDN transmission link is the preset CDN service scenario, the bandwidth estimated by the delivered data quantity is corrected based on the amount of unconfirmed data in transit, and the target bandwidth of the target CDN transmission link is determined.

[0054] In non-preset CDN business scenarios, the bandwidth is estimated by the amount of data delivered, and data transmission is controlled based on this. In the preset CDN business scenario, the cause of congestion is due to the low bandwidth estimation. Therefore, when the business scenario of the target CDN transmission link is determined to be the preset CDN business scenario, the bandwidth estimated by the amount of data delivered is corrected in combination with the amount of unconfirmed data in transit to improve the bandwidth estimation result and determine the target bandwidth of the target CDN transmission link.

[0055] The specific correction method can be to determine an adjustment coefficient based on the amount of unconfirmed data in transit, and use the adjustment coefficient to proportionally adjust the bandwidth estimated by the amount of delivered data; or, it can be to determine an adjustment amount based on the difference between the amount of unconfirmed data in transit and the amount of delivered data, and adjust the bandwidth estimated by the amount of delivered data based on the adjustment amount.

[0056] Of course, the method for correcting the bandwidth estimated for the amount of delivered data is not limited to that shown above, and can also be implemented in other ways, which are not limited here.

[0057] Step S404: Control data transmission based on the target bandwidth.

[0058] After determining the target bandwidth, the congestion control module controls the transmission of data based on the target bandwidth. For example, the congestion control module calculates the congestion window based on the target bandwidth, etc. The control method for data transmission based on the target bandwidth is not limited in any way and can be set according to actual needs.

[0059] The control method of CDN data transmission provided in this embodiment analyzes the business scenario of the target CDN transmission link based on the collected data and link portrait on the target CDN transmission link during the bandwidth collection period. If it belongs to the preset CDN business scenario, it means that the bandwidth estimated based on the amount of delivered data is too low and needs to be adjusted, that is, the result of bandwidth estimation is adjusted based on the amount of unconfirmed data in transit, so as to accurately obtain the target bandwidth of the target CDN transmission link, and then control the data transmission on this basis. Due to the accuracy of the target bandwidth, it can ensure that the control of data transmission is carried out on the basis of accurate bandwidth, reduce the packet loss rate on the target CDN transmission link, and achieve global acceleration with a smaller packet loss rate in CDN.

[0060] In this embodiment, a method for controlling CDN data transmission is provided, which can be used in a server. Figure 5 is a flow chart of a method for controlling CDN data transmission according to an embodiment of the present disclosure. Figure 5 As shown, the process includes the following steps:

[0061] Step S501, obtaining the collected data and link profile on the target CDN transmission link within the bandwidth collection period.

[0062] The collected data includes the amount of CDN in-transit unconfirmed data and the amount of delivered data. Figure 4 Step S401 of the illustrated embodiment will not be described in detail here.

[0063] Step S502: Analyze the business scenario of the target CDN transmission link based on the collected data and link portrait.

[0064] Specifically, the above step S502 includes:

[0065] Step S5021, obtaining the number of bandwidth collection cycles that have been experienced.

[0066] The number of bandwidth collection cycles experienced is used to characterize the number of bandwidth collection cycles experienced from the start of bandwidth collection to the current time. For example, the number of bandwidth collection cycles can be counted, and the number of bandwidth collection cycles increases by 1 each time bandwidth collection is performed. Alternatively, the start time of bandwidth collection and the current time can be recorded, and the time difference can be obtained by using the difference between the current time and the start time, and then the ratio of the time difference to the bandwidth collection cycle can be calculated to obtain the number of bandwidth collection cycles experienced.

[0067] Step S5022: Determine packet loss information based on the amount of unconfirmed data in transit and the amount of delivered data.

[0068] The packet loss information can be represented by the difference between the amount of unconfirmed data in transit and the amount of delivered data, or by the ratio of the amount of delivered data to the amount of unconfirmed data in transit. The specific method used for representation is set according to actual needs and is not limited here.

[0069] Step S5023, determining the number of loss events on the target CDN transmission link and selecting the number of responses based on the link profile.

[0070] The number of loss events is used to indicate the number of times that packet loss detection algorithm detects that packet loss recovery is required in each bandwidth acquisition cycle. The number of loss events is a variable used to indicate the degree of congestion of the transmission link.

[0071] For example, let X be a packet that has not been acknowledged (ACK) or selectively acknowledged (SACK), and S be a packet that has been ACKed or SACKed. Then, if the inflight portrait is XSXSXSXSXSXSXSXS, it means that 8 loss events occurred in one round, 8 packets were lost in total, and the congestion window was at least 16; if the inflight portrait is SSSSSSSSXXX, it means that 1 loss event occurred, and 8 packets were lost in total. That is, although the number of packet losses is the same, the number of loss events is not the same. Among them, the inflight portrait can also be called the disorder degree. Therefore, the link portrait can be used to obtain the number of loss events on the target CDN transmission link.

[0072] The number of selected acknowledgments (sack option) represents the number of SACKs carried in the Transmission Control Protocol (TCP) option, which can be collected by the bandwidth collection module.

[0073] In some optional implementations, determining the number of loss events on the target CDN transmission link based on the link profile in the above step S5023 includes:

[0074] Step a1, determining the profile of unprocessed data packets in transit during a bandwidth collection period based on the link profile.

[0075] Step a2: Analyze the profile of the unprocessed data packets in transit to determine the number of loss events.

[0076] From the link profile, we can get the inflight profile within the bandwidth collection period. By analyzing the data packets in the inflight profile, we can determine the number of loss events. In the following, N is used to represent the number of loss events.

[0077] The number of loss events is obtained from the portrait analysis of the unprocessed data packets in transit. Whether the unprocessed data packets in transit are responded to can determine whether the current packet is lost. Combined with the response timing of the unprocessed data packets in transit, the disorder of the unprocessed data packets in transit can be characterized, thereby accurately obtaining the number of loss events.

[0078] Step S5024, based on the relationship between the number of bandwidth collection cycles, packet loss information, the number of loss events and the number of selected responses and the corresponding thresholds, determine the service scenario of the target CDN transmission link.

[0079] The number of bandwidth collection cycles R is used to represent the number of bandwidth collection cycles that have been experienced; the packet loss information L is represented by the difference between inflight and delivered, or the ratio of delivered to inflight; the number of loss events N and the number of selected responses S are obtained through link profiling.

[0080] There are corresponding thresholds for the number of bandwidth collection cycles, packet loss information, number of loss events, and number of selected responses. These four parameters are compared with the corresponding thresholds to determine the business scenario of the target CDN transmission link.

[0081] In some optional implementations, the packet loss information includes a packet loss rate, and the above-mentioned CDN data transmission control method includes: if the number of bandwidth acquisition cycles, the packet loss rate, the number of loss events, and the selection response data are all greater than or equal to corresponding thresholds, then determining that the business scenario of the target CDN transmission link is a preset CDN business scenario.

[0082] For example, the conditions that need to be met simultaneously for the preset CDN business scenario include: R>=2, N>=4, L>=20% (in this case, the packet loss information is represented by the packet loss rate), and S>=4. If all of the above conditions are met, the business scenario representing the target CDN transmission link is the preset CDN business scenario.

[0083] Specifically, R>=2 indicates that at least two bandwidth acquisition cycles have been experienced;

[0084] N>=4 means that at least 4 packet loss events occurred in one bandwidth collection cycle, which means neither random packet loss events nor burst packet loss events;

[0085] L>=20% means the packet loss rate is greater than or equal to 20%;

[0086] S>=4 indicates that the TCP option is fully utilized, which means that the number of bandwidth collection is limited. In this case, the bandwidth collection is inaccurate.

[0087] It should be noted that the thresholds corresponding to the above four parameters are set according to actual needs and are not limited to the above examples.

[0088] When the above four parameters are accurately obtained, and all four parameters are greater than or equal to the corresponding thresholds, it indicates that the target CDN transmission link can no longer carry more delivery feedback data, and the bandwidth estimation is too low, resulting in low link utilization, so that the business scenario can be determined to be the preset CDN business scenario.

[0089] Step S503: if the service scenario of the target CDN transmission link is the preset CDN service scenario, the bandwidth estimated by the delivered data quantity is corrected based on the amount of unconfirmed data in transit to determine the target bandwidth of the target CDN transmission link.

[0090] Specifically, the above step S503 includes:

[0091] Step S5031, obtaining the maximum value of the amount of unconfirmed in-transit data within the bandwidth collection period.

[0092] During the bandwidth collection period, multiple unconfirmed data in transit may be obtained. Since multiple response information may be obtained during the bandwidth collection period, the response information includes the unconfirmed data in transit. Therefore, there will be multiple unconfirmed data in transit during the bandwidth collection period. By comparing the sizes of these unconfirmed data in transit, the maximum value of the unconfirmed data in transit is determined.

[0093] Step S5032, obtaining an adjustment coefficient.

[0094] Among them, the adjustment coefficient is greater than or equal to 1.

[0095] The adjustment coefficient is used to adjust the maximum value determined in step S5031 to avoid fluctuations caused by transmission delay. The value of the adjustment coefficient is greater than or equal to 1, and its specific value can be adjusted according to actual needs, and is not limited here.

[0096] In some optional implementations, the above step S5032 includes:

[0097] Step b1, obtaining a first minimum round-trip delay and a second minimum round-trip delay of a target CDN transmission link, wherein the first minimum round-trip delay is used to characterize the minimum round-trip delay within a recent preset number of bandwidth collection cycles, and the second minimum round-trip delay is used to characterize the minimum of all round-trip delays.

[0098] Step b2: determining an adjustment coefficient based on a ratio of the first minimum round-trip delay to the second minimum round-trip delay.

[0099] The most recent preset number of bandwidth acquisition cycles represents a plurality of consecutive bandwidth stimulation cycles before the current moment. For example, if the current bandwidth acquisition cycle is the 100th bandwidth acquisition cycle, the most recent two bandwidth acquisition cycles (i.e., the 98th bandwidth acquisition cycle and the 99th bandwidth acquisition cycle) can be taken. The preset number can also be set according to actual needs, and is not limited to the 2 described above, and can be 3, 4, etc.

[0100] After determining the most recent preset number of bandwidth collection cycles, the round trip delays in these bandwidth collection cycles are obtained, and the minimum value thereof is taken as the first minimum round trip delay value.

[0101] Continuing with the above example, if the current bandwidth collection cycle is the 100th bandwidth collection cycle, then the minimum value of the round-trip delay within the 1st bandwidth collection cycle to the 100th bandwidth collection cycle is taken as the second round-trip delay.

[0102] The ratio of the first minimum round-trip delay to the second minimum round-trip delay is calculated and used as the adjustment coefficient.

[0103] The adjustment coefficient is determined in combination with the minimum value of the round-trip delay in the most recently preset number of bandwidth acquisition cycles, which can significantly adjust the fluctuation caused by the transmission delay.

[0104] Step S5033: modify the maximum value of the in-transit unconfirmed data amount based on the adjustment coefficient to obtain the maximum in-transit unconfirmed data amount.

[0105] For example, the maximum amount of unconfirmed data in transit is obtained by multiplying the adjustment coefficient by the maximum amount of unconfirmed data in transit. That is, the maximum amount of unconfirmed data in transit is expressed as maxif:

[0106] maxif = delta * max_inflight

[0107] Among them, delta is the adjustment coefficient, and max_inflight is the maximum amount of unconfirmed data in transit.

[0108] Step S5034: The bandwidth estimated by the delivered data quantity is corrected based on the maximum in-transit unconfirmed data quantity to determine the target bandwidth of the target CDN transmission link.

[0109] The bandwidth estimated by the amount of data delivered can be a first ratio obtained by the ratio of the amount of data delivered to the round-trip delay of the target CDN transmission link. The correction method can be: a second ratio is obtained by using the ratio of the maximum amount of unconfirmed data in transit to the round-trip delay of the target CDN transmission link, and the maximum value of the first ratio and the second ratio is determined as the target bandwidth.

[0110] In some optional implementations, the above step S5034 includes:

[0111] Step c1, determining the maximum value between the maximum in-transit unconfirmed data volume and the delivered data volume, and using the determined maximum value as the target data volume of the target CDN transmission link.

[0112] Step c2: determining the target bandwidth based on the ratio of the target data volume to the round-trip delay of the target CDN transmission link.

[0113] The target data volume D can be expressed as: D = max(delivered, maxif)

[0114] Among them, max() is the function of taking the maximum value, delivered is the amount of delivered data, and maxif is the maximum amount of unconfirmed data in transit.

[0115] exist Figure 3b After the bandwidth estimation module determines the target data volume D, it sends it to the congestion control module. The congestion control module obtains the target bandwidth BW based on the ratio of the target data volume to the round-trip delay of the target CDN transmission link, thus completing the bandwidth estimation in the current bandwidth period.

[0116] The maximum value of the maximum in-transit unconfirmed data amount and the delivered data amount is taken as the target data amount, and the target bandwidth is calculated based on this, thereby improving the accuracy of the determined target bandwidth.

[0117] Step S504: Control data transmission based on the target bandwidth. Figure 4 Step S404 of the illustrated embodiment will not be described in detail here.

[0118] The control method for CDN data transmission provided in this embodiment can avoid unstable scenarios at the beginning of transmission by constraining the number of bandwidth acquisition cycles that have been experienced. Furthermore, the number of loss events determined by the link profile is used to identify the degree of link congestion to further improve the accuracy of business scenario analysis. The maximum value of the amount of unconfirmed data in transit is corrected in combination with the adjustment coefficient to obtain the maximum amount of unconfirmed data in transit, and then the bandwidth estimated by the amount of delivered data is corrected using the maximum amount of unconfirmed data in transit, thereby obtaining an accurate target bandwidth.

[0119] In some optional implementations, in the above CDN data transmission control method: acquiring the collected data on the target CDN transmission link within the bandwidth collection period includes:

[0120] Step d1, receiving response information.

[0121] Step d2, determining the response information corresponding to the bandwidth collection period to obtain the collection data and link profile on the target CDN transmission link within the bandwidth collection period.

[0122] The response information is used to represent the response data of the client to the data sent by the server. Since the server may receive multiple response information in the same bandwidth collection period, and different response information may come from different target CDN transmission links, the response information on the target CDN transmission link in the bandwidth collection period is obtained by classifying the received response information. Accordingly, after the response information is determined, the collection data and link profile of the target CDN transmission link in the bandwidth collection period can be obtained.

[0123] Bandwidth acquisition is performed in conjunction with response information, so that the timing of bandwidth acquisition can be unified, facilitating control of data transmission.

[0124] In some optional implementations, the above-mentioned CDN data transmission control method further includes: if the service scenario of the target CDN transmission link is a non-preset CDN service scenario, controlling the data transmission based on the bandwidth estimated by the amount of delivered data.

[0125] For non-preset CDN business scenarios, the congestion control module directly uses the bandwidth estimated by the amount of delivered data (ie, delivered / RTT) to control data transmission. For non-preset CDN business scenarios, the data processing of the non-preset CDN business scenarios is affected.

[0126] As a specific application example of the present disclosure, Figure 3a As shown, server 10 in the CDN can communicate with server 20 and server 30 at the same time. Figure 3a The CDN transmission links corresponding to server 10 include the link between server 30 and server 10 and the link between server 10 and server 20. During the communication process, server 10 classifies the received response information to determine the transmission link to which it belongs. Taking the transmission link between server 30 and server 10 as an example, server 10 uses the collected data and link portraits during the bandwidth collection cycle to determine the business scenario of the transmission link. If it meets the preset CDN business scenario, the bandwidth estimated by delivered is corrected in combination with inflight to determine the target bandwidth. Subsequently, server 10 controls the data transmission of the transmission link between server 30 and server 10 based on the target bandwidth. Since the business scenarios determined in different bandwidth collection cycles may change, the target bandwidth of the transmission link between server 30 and server 10 also changes.

[0127] In this embodiment, a control device for CDN data transmission is also provided, which is used to implement the above embodiments and preferred implementations, and will not be repeated here. As used below, the term "module" can be a combination of software and / or hardware that implements a predetermined function. Although the device described in the following embodiments is preferably implemented in software, the implementation of hardware, or a combination of software and hardware, is also possible and conceivable.

[0128] This embodiment provides a control device for CDN data transmission, such as Figure 6 As shown, including:

[0129] The acquisition module 601 is used to acquire the collected data and link portrait on the target CDN transmission link during the bandwidth collection period. The collected data includes the amount of CDN in-transit unconfirmed data and the amount of delivered data.

[0130] The analysis module 602 is used to analyze the business scenario of the target CDN transmission link based on the collected data and the link profile.

[0131] The correction module 603 is used to correct the bandwidth estimated by the delivered data quantity based on the amount of unconfirmed data in transit if the business scenario of the target CDN transmission link is the preset CDN business scenario, and determine the target bandwidth of the target CDN transmission link.

[0132] The control module 604 is used to control data transmission based on the target bandwidth.

[0133] In some optional implementations, the analysis module 602 includes:

[0134] The cycle number acquisition unit is used to acquire the number of bandwidth acquisition cycles that have been experienced.

[0135] The packet loss information determination unit is used to determine the packet loss information based on the amount of unconfirmed data in transit and the amount of delivered data.

[0136] The quantity determination unit is used to determine the number of loss events on the target CDN transmission link based on the link profile and select the number of responses.

[0137] The business scenario determination unit is used to analyze the business scenario of the target CDN transmission link based on the relationship between the number of bandwidth collection cycles, packet loss information, the number of loss events and the number of selected responses and the corresponding thresholds.

[0138] In some optional implementations, the quantity determination unit includes:

[0139] The profile determination subunit is used to determine the profile of the unprocessed data packets in transit within the bandwidth collection period based on the link profile.

[0140] The profile analysis subunit is used to analyze the profiles of the unprocessed data packets in transit and determine the number of loss events.

[0141] In some optional implementations, the packet loss information includes a packet loss rate, and the control device for CDN data transmission further includes:

[0142] The business scenario determination module is used to determine that the business scenario of the target CDN transmission link is the preset CDN business scenario if the number of bandwidth acquisition cycles, the packet loss rate, the number of loss events and the selection response data are all greater than or equal to the corresponding thresholds.

[0143] In some optional implementations, the correction module 603 includes:

[0144] The maximum value acquisition unit is used to obtain the maximum value of the amount of unconfirmed data in transit within a bandwidth acquisition period.

[0145] The adjustment coefficient obtaining unit is used to obtain the adjustment coefficient, where the adjustment coefficient is greater than or equal to 1.

[0146] The maximum value correction unit is used to correct the maximum value of the amount of unconfirmed data in transit based on the adjustment coefficient to obtain the maximum amount of unconfirmed data in transit.

[0147] The bandwidth correction unit is used to correct the bandwidth estimated by the delivered data quantity based on the maximum in-transit unconfirmed data quantity, and determine the target bandwidth of the target CDN transmission link.

[0148] In some optional implementations, the bandwidth modification unit includes:

[0149] The maximum value determination subunit is used to determine the maximum value of the maximum in-transit unconfirmed data amount and the delivered data amount, and use the determined maximum value as the target data amount of the target CDN transmission link.

[0150] The target bandwidth determination subunit is used to determine the target bandwidth based on the ratio of the target data volume to the round-trip delay of the target CDN transmission link.

[0151] In some optional implementations, the adjustment coefficient acquisition unit includes:

[0152] The minimum value acquisition subunit is used to obtain a first round-trip delay minimum value and a second round-trip delay minimum value of a target CDN transmission link, wherein the first round-trip delay minimum value is used to characterize the minimum value of the round-trip delay within a recent preset number of bandwidth collection cycles, and the second round-trip delay minimum value is used to characterize the minimum value of all round-trip delays.

[0153] The adjustment coefficient determination subunit is used to determine the adjustment coefficient based on the ratio of the first minimum round-trip delay value to the second minimum round-trip delay value.

[0154] In some optional implementations, the acquisition module 601 includes:

[0155] The response information receiving unit is used to receive the response information.

[0156] The response information determining unit is used to determine the response information corresponding to the bandwidth collection period to obtain the collection data and link portrait on the target CDN transmission link within the bandwidth collection period.

[0157] In some optional implementations, the control device for CDN data transmission further includes:

[0158] The control module for the non-preset CDN business scenario is used to control data transmission based on the bandwidth estimated by the amount of delivered data if the business scenario of the target CDN transmission link is the non-preset CDN business scenario.

[0159] The further functional description of each of the above modules and units is the same as that of the above corresponding embodiments and will not be repeated here.

[0160] The control device for CDN data transmission in this embodiment is presented in the form of a functional unit, where the unit refers to an ASIC (Application Specific Integrated Circuit) circuit, a processor and memory that executes one or more software or fixed programs, and / or other devices that can provide the above functions.

[0161] The present disclosure also provides an electronic device having the above Figure 6 The control device of CDN data transmission is shown.

[0162] See also Figure 7 , Figure 7 is a schematic diagram of the structure of an electronic device provided by an optional embodiment of the present disclosure, such as Figure 7 As shown, the electronic device includes: one or more processors 100, a memory 200, and interfaces for connecting various components, including high-speed interfaces and low-speed interfaces. The various components are connected to each other using different buses for communication, and can be installed on a common mainboard or installed in other ways as needed. The processor can process instructions executed in the electronic device, including instructions stored in or on the memory to display graphical information of the GUI on an external input / output device (such as a display device coupled to the interface). In some optional embodiments, if necessary, multiple processors and / or multiple buses can be used together with multiple memories and multiple memories. Similarly, multiple electronic devices can be connected, and each device provides some necessary operations (for example, as a server array, a group of blade servers, or a multi-processor system). Figure 7A processor 100 is taken as an example.

[0163] The processor 100 may be a central processing unit, a network processor or a combination thereof. The processor 100 may further include a hardware chip. The hardware chip may be a dedicated integrated circuit, a programmable logic device or a combination thereof. The programmable logic device may be a complex programmable logic device, a field programmable logic gate array, a general purpose array logic or any combination thereof.

[0164] The memory 200 stores instructions executable by at least one processor 100, so that the at least one processor 100 executes the method shown in the above embodiment.

[0165] The memory 200 may include a program storage area and a data storage area, wherein the program storage area may store an operating system, an application required for at least one function; the data storage area may store data created according to the use of the electronic device, etc. In addition, the memory 200 may include a high-speed random access memory, and may also include a non-transient memory, such as at least one disk storage device, a flash memory device, or other non-transient solid-state storage device. In some optional embodiments, the memory 200 may optionally include a memory remotely arranged relative to the processor 100, and these remote memories may be connected to the electronic device via a network. Examples of the above-mentioned network include, but are not limited to, the Internet, an intranet, a local area network, a mobile communication network, and combinations thereof.

[0166] The memory 200 may include a volatile memory, such as a random access memory; the memory may also include a non-volatile memory, such as a flash memory, a hard disk or a solid state drive; the memory 200 may also include a combination of the above types of memory.

[0167] The electronic device further includes a communication interface 300 for the electronic device to communicate with other devices or a communication network.

[0168] The embodiments of the present disclosure also provide a computer-readable storage medium. The above-mentioned method according to the embodiments of the present disclosure can be implemented in hardware, firmware, or can be implemented as a computer code that can be recorded in a storage medium, or can be implemented as a computer code that is originally stored in a remote storage medium or a non-temporary machine-readable storage medium and will be stored in a local storage medium and downloaded through a network, so that the method described herein can be stored in such software processing on a storage medium using a general-purpose computer, a dedicated processor, or programmable or dedicated hardware. Among them, the storage medium can be a magnetic disk, an optical disk, a read-only storage memory, a random access memory, a flash memory, a hard disk or a solid-state drive, etc.; further, the storage medium can also include a combination of the above-mentioned types of memory. It can be understood that a computer, a processor, a microprocessor controller, or programmable hardware includes a storage component that can store or receive software or computer code. When the software or computer code is accessed and executed by a computer, a processor, or hardware, the method shown in the above embodiment is implemented.

[0169] A part of the present disclosure may be applied as a computer program product, such as a computer program instruction, which, when executed by a computer, can call or provide the method and / or technical solution according to the present disclosure through the operation of the computer. Those skilled in the art should understand that the existence of computer program instructions in computer-readable media includes, but is not limited to, source files, executable files, installation package files, etc., and accordingly, the way in which computer program instructions are executed by a computer includes, but is not limited to: the computer directly executes the instruction, or the computer compiles the instruction and then executes the corresponding compiled program, or the computer reads and executes the instruction, or the computer reads and installs the instruction and then executes the corresponding installed program. Here, the computer-readable medium can be any available computer-readable storage medium or communication medium accessible to the computer.

[0170] Although the embodiments of the present disclosure have been described in conjunction with the accompanying drawings, those skilled in the art may make various modifications and variations without departing from the spirit and scope of the present disclosure, and such modifications and variations are all within the scope defined by the appended claims.

Claims

1. A method for controlling CDN data transmission, characterized in that: The method comprises: Acquire the collected data and link profile on the target CDN transmission link during the bandwidth collection period, wherein the collected data includes the amount of CDN in-transit unconfirmed data and the amount of delivered data; Analyze the business scenario of the target CDN transmission link based on the collected data and the link portrait; If the service scenario of the target CDN transmission link is a preset CDN service scenario, the bandwidth estimated by the delivered data quantity is corrected based on the amount of unconfirmed data in transit to determine the target bandwidth of the target CDN transmission link, wherein the preset CDN service scenario is used to characterize a scenario with low bandwidth utilization; Controlling data transmission based on the target bandwidth; The analyzing the business scenario of the target CDN transmission link based on the collected data and the link portrait includes: Get the number of bandwidth acquisition cycles that have been experienced; Determining packet loss information based on the amount of unconfirmed data in transit and the amount of delivered data; Determine the number of loss events on the target CDN transmission link and select the number of responses based on the link profile; Based on the relationship between the number of bandwidth collection cycles, the packet loss information, the number of loss events, and the number of selected responses and the corresponding thresholds, analyzing the business scenario of the target CDN transmission link; The step of correcting the bandwidth estimated by the delivered data quantity based on the in-transit unconfirmed data quantity to determine the target bandwidth of the target CDN transmission link includes: Obtaining the maximum value of the amount of unconfirmed data in transit during the bandwidth collection period; Obtaining an adjustment coefficient, where the adjustment coefficient is greater than or equal to 1; Correcting the maximum value of the amount of unconfirmed data in transit based on the adjustment coefficient to obtain a maximum amount of unconfirmed data in transit; The bandwidth estimated by the delivered data quantity is corrected based on the maximum in-transit unconfirmed data quantity to determine a target bandwidth of the target CDN transmission link.

2. The method according to claim 1, characterized in that The determining the number of loss events on the target CDN transmission link based on the link profile includes: Determine, based on the link profile, a profile of unprocessed packets in transit during the bandwidth collection period; The profile of the in-transit unprocessed data packets is analyzed to determine the number of loss events.

3. The method according to claim 1, characterized in that The packet loss information includes a packet loss rate, and the method further includes: If the number of bandwidth acquisition cycles, the packet loss rate, the number of loss events, and the selection response data are all greater than or equal to corresponding thresholds, it is determined that the service scenario of the target CDN transmission link is the preset CDN service scenario.

4. The method according to claim 1, characterized in that: The step of correcting the bandwidth estimated by the delivered data quantity based on the maximum in-transit unconfirmed data quantity to determine the target bandwidth of the target CDN transmission link includes: Determine a maximum value between the maximum amount of unconfirmed data in transit and the amount of delivered data, and use the determined maximum value as the target data amount of the target CDN transmission link; The target bandwidth is determined based on a ratio of the target data volume to a round-trip delay of the target CDN transmission link.

5. The method according to claim 1, characterized in that The obtaining of the adjustment coefficient comprises: Obtaining a first minimum round-trip delay and a second minimum round-trip delay of the target CDN transmission link, wherein the first minimum round-trip delay is used to characterize the minimum round-trip delay within a recent preset number of bandwidth collection cycles, and the second minimum round-trip delay is used to characterize the minimum value of all round-trip delays; The adjustment coefficient is determined based on a ratio of the first minimum round-trip delay to the second minimum round-trip delay.

6. The method according to any one of claims 1 to 5, characterized in that The acquisition of the collected data and link profile on the target CDN transmission link during the bandwidth collection period includes: Receive response information; The response information corresponding to the bandwidth collection period is determined to obtain the collection data and link portrait on the target CDN transmission link within the bandwidth collection period.

7. The method according to claim 1, characterized in that The method further comprises: If the service scenario of the target CDN transmission link is a non-preset CDN service scenario, data transmission is controlled based on a bandwidth estimated based on the delivered data quantity.

8. A control device for CDN data transmission, characterized in that: The device comprises: An acquisition module is used to acquire the collected data and link portrait on the target CDN transmission link during the bandwidth collection period, wherein the collected data includes the amount of CDN in-transit unconfirmed data and the amount of delivered data; An analysis module, configured to analyze the business scenario of the target CDN transmission link based on the collected data and the link portrait; a correction module, configured to correct the bandwidth estimated by the amount of delivered data based on the amount of unconfirmed data in transit to determine a target bandwidth of the target CDN transmission link if the business scenario of the target CDN transmission link is a preset CDN business scenario, wherein the preset CDN business scenario is used to characterize a scenario with low bandwidth utilization; A control module, used for controlling data transmission based on the target bandwidth; Wherein, the analysis module includes: A cycle number acquisition unit, used to acquire the number of bandwidth acquisition cycles that have been experienced; a packet loss information determining unit, configured to determine packet loss information based on the amount of unconfirmed data in transit and the amount of delivered data; a quantity determination unit, configured to determine the number of loss events on the target CDN transmission link and select a response number based on the link profile; A business scenario determination unit, configured to analyze the business scenario of the target CDN transmission link based on the relationship between the number of bandwidth acquisition cycles, the packet loss information, the number of loss events, and the number of selection responses and corresponding thresholds; The correction module comprises: A maximum value acquisition unit, used to acquire the maximum value of the amount of unconfirmed data in transit during the bandwidth acquisition period; An adjustment coefficient obtaining unit, used to obtain an adjustment coefficient, where the adjustment coefficient is greater than or equal to 1; a maximum value correction unit, configured to correct the maximum value of the amount of unconfirmed data in transit based on the adjustment coefficient to obtain a maximum amount of unconfirmed data in transit; The bandwidth correction unit is used to correct the bandwidth estimated by the delivered data quantity based on the maximum in-transit unconfirmed data quantity to determine the target bandwidth of the target CDN transmission link.

9. An electronic device, characterized in that: include: A memory and a processor, wherein the memory and the processor are communicatively connected to each other, the memory stores computer instructions, and the processor executes the control method for CDN data transmission according to any one of claims 1 to 7 by executing the computer instructions.

10. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores computer instructions, and the computer instructions are used to enable a computer to execute the CDN data transmission control method according to any one of claims 1 to 7.

11. A computer program product, characterized in that The method comprises computer instructions, wherein the computer instructions are used to enable a computer to execute the CDN data transmission control method according to any one of claims 1 to 7.

Citation Information

Patent Citations

  • TCP congestion control method and system, storage medium and network server

    CN110247853A

  • Bandwidth adjusting method and device

    CN114143270A