Data transmission method and apparatus applied to content delivery network, device, and medium
By detecting the remaining bandwidth of the first transmission path in the content distribution network and using it to retransmit unacknowledged data packets, the problem of low multi-path transmission efficiency is solved and efficient data transmission in the tail packet stage is achieved.
Patent Information
- Application Number
- PCT/CN2025/084050
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-03-21
- Filing Date
- 2025-03-21
- Publication Date
- 2025-09-25
AI Technical Summary
How to improve the overall efficiency of data transmission across multiple transmission paths in a content distribution network, especially the data transmission efficiency at the tail packet stage.
By detecting whether the first transmission path has remaining bandwidth, and when appropriate, using the first transmission path to retransmit the unacknowledged data packet of the second transmission path, the comparison between the retransmission estimation time and the retransmission determination time is used to determine whether to retransmit the unacknowledged data packet across the path.
It speeds up the transmission of unacknowledged data packets, reduces the time consumption of the entire data transmission process, and improves the overall efficiency of multi-path transmission, especially in the tail packet stage.
Smart Images

Figure CN2025084050_25092025_PF_FP_ABST
Abstract
Description
Data transmission method, device, equipment and medium applied to content distribution network
[0001] CROSS-REFERENCE TO RELATED APPLICATIONS
[0002] This application claims priority to Chinese patent application No. 202410330276.X, filed on March 21, 2024, entitled “Data transmission method, apparatus, device and medium for content distribution network”, the entire contents of which are incorporated herein by reference. Technical Field
[0003] The present disclosure relates to the field of computer technology, and in particular to a data transmission method, apparatus, computer equipment, and storage medium applied to a content distribution network. Background Art
[0004] A Content Delivery Network (CDN) is a distributed network consisting of servers in different regions. Multipath transmission technologies such as MPQUIC (Multipath QUIC) that transmit data over multiple transmission paths are widely used for data transmission in CDN. Summary of the Invention
[0005] The embodiments of the present disclosure provide a data transmission method, apparatus, computer equipment, and storage medium applied to a content distribution network.
[0006] In a first aspect, an embodiment of the present disclosure provides a data transmission method applied to a content distribution network, comprising:
[0007] detecting whether there is remaining bandwidth in the first transmission path, and if there is remaining bandwidth in the first transmission path, determining unacknowledged data packets in the second transmission path;
[0008] Identifying a characteristic moment in the second transmission path, where the characteristic moment is used to characterize a packet loss moment in the second transmission path or a sending moment of the unacknowledged data packet in the second transmission path;
[0009] generating a retransmission determination time according to the characteristic time and the transmission quality parameter of the second transmission path, and generating a retransmission estimation time based on the current time;
[0010] The retransmission estimated time and the retransmission determination time are compared, and based on the comparison result, it is determined whether to retransmit the unacknowledged data packet through the first transmission path.
[0011] In a second aspect, an embodiment of the present disclosure provides a data transmission device applied to a content distribution network, the device comprising:
[0012] a data confirmation unit, configured to detect whether there is remaining bandwidth in the first transmission path, and if so, to determine unacknowledged data packets in the second transmission path;
[0013] a characteristic moment identification unit, configured to identify a characteristic moment in the second transmission path, wherein the characteristic moment is used to characterize a packet loss moment in the second transmission path or a sending moment of the unacknowledged data packet in the second transmission path;
[0014] a time generating unit, configured to generate a retransmission determination time according to the characteristic time and the transmission quality parameter of the second transmission path, and generate a retransmission estimation time based on the current time;
[0015] A retransmission judgment unit is used to compare the retransmission estimated time and the retransmission judgment time, and judge whether to retransmit the unacknowledged data packet through the first transmission path based on the comparison result.
[0016] In a third aspect, an embodiment of the present disclosure provides a computer device, comprising: a memory and a processor, the memory and the processor being communicatively connected to each other, computer instructions being stored in the memory, and the processor executing the data transmission method of the first aspect or any corresponding embodiment thereof by executing the computer instructions.
[0017] In a fourth aspect, an embodiment of 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 data transmission method of the first aspect or any corresponding embodiment thereof. 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 prior art, the following briefly introduces the drawings required for use in the specific embodiments or the description of the prior art. 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] FIG1 is an example flow chart of cross-path retransmission implemented by a data transmission method applied to a content distribution network provided by an embodiment of the present disclosure;
[0020] FIG2 is a flow chart of a data transmission method applied to a content distribution network according to some embodiments of the present disclosure;
[0021] FIG3 is a flow chart of another data transmission method applied to a content distribution network according to some embodiments of the present disclosure;
[0022] FIG4 is a structural block diagram of a data transmission device applied to a content distribution network according to an embodiment of the present disclosure;
[0023] FIG5 is a schematic diagram of the hardware structure of a computer device according to an embodiment of the present disclosure. DETAILED DESCRIPTION
[0024] To make the purpose, technical solutions, and advantages of the embodiments of the present disclosure more clear, the technical solutions 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, not all of the embodiments. Based on the embodiments of the present disclosure, all other embodiments obtained by those skilled in the art without making creative efforts shall fall within the scope of protection of the present disclosure.
[0025] A content delivery network (CDN) is a distributed network consisting of servers in different regions. Multipath transmission technologies, such as MPQUIC (Multipath QUIC), are widely used for data transmission in CDNs. The overall transmission efficiency of data transmitted over multiple transmission paths directly affects the overall transmission efficiency of the CDN. Improving the overall transmission efficiency of data transmitted over multiple transmission paths has become a pressing issue.
[0026] In view of this, embodiments of the present disclosure provide a data transmission method, apparatus, computer device, and storage medium for use in a content distribution network to solve the problem of how to improve the overall transmission efficiency when transmitting data through multiple transmission paths.
[0027] The data transmission method applied to a content distribution network provided by the embodiment of the present disclosure can utilize the first transmission path to transmit unanswered data packets of the second transmission path when there is residual bandwidth in the first transmission path and it is more suitable for cross-path retransmission. Thereby, the transmission of unanswered data packets of the second transmission path is accelerated, the entire transmission process is completed as quickly as possible, the overall transmission efficiency when transmitting data through multiple transmission paths is improved, and the overall transmission efficiency of the content distribution network is improved. Among them, the time that is more suitable for cross-path retransmission is determined by comparing the retransmission estimation time and the retransmission determination time. Cross-path retransmission refers to the use of the first transmission path to retransmit the unanswered data packets of the second transmission path.
[0028] In the data transmission method applied to a content distribution network provided by the disclosed embodiment, the transmission speed of the first transmission path is higher than the transmission speed of the second transmission path.
[0029] It should be noted that the data transmission method applied to a content distribution network provided by the embodiments of the present disclosure is particularly suitable for improving the data transmission efficiency of data in the tail packet stage, thereby improving the overall data transmission efficiency.
[0030] Typically, during the transmission of a data packet consisting of multiple packets, the transmission path used to transmit this data is fully occupied by the congestion control window in the phase before the tail packet phase, with no remaining bandwidth. The tail packet phase can refer to the phase where the last n packets are transmitted.
[0031] The tail packet phase can also be called the stage where the transmission of a piece of data is nearly complete. During this phase, the transmission path used to transmit this piece of data often does not occupy the entire congestion control window, and the corresponding transmission path used to transmit this piece of data has residual bandwidth. Therefore, the data transmission method provided by the embodiments of the present disclosure is particularly suitable for improving data transmission efficiency during the tail packet phase.
[0032] 1 , there is shown an example flow chart of cross-path retransmission implemented by a data transmission method applied to a content distribution network provided by an embodiment of the present disclosure.
[0033] In this example process, the transmission quality (Quality of Service, referred to as QOS) parameters of the first transmission path and the second transmission path for determining whether they are suitable for cross-path retransmission are obtained. Determine whether the first transmission path has residual bandwidth. If the first transmission path has residual bandwidth, determine whether the second transmission path has unanswered data. If the second transmission path has unanswered data, determine whether the transmission speed of the first transmission path is faster than the transmission speed of the second transmission path. If the transmission speed of the first transmission path is faster than the transmission speed of the second transmission path, determine whether it is suitable for cross-path retransmission based on the transmission quality parameters of the first transmission path and the second transmission path for determining whether they are suitable for cross-path transmission. If it is suitable for cross-path retransmission, retransmit the unanswered data packets of the second transmission path on the first transmission path.
[0034] The following uses an example to illustrate cross-transmission path transmission achieved by the data transmission method applied to a content distribution network provided by an embodiment of the present disclosure.
[0035] This example involves transmitting a large data packet.
[0036] This large data packet will be split into N small data packets, which are respectively scheduled by the scheduler to the first transmission path or the second transmission path. The data packets scheduled to the corresponding transmission path can be called data packets of the corresponding transmission path. Assume that before the transmission of this large data packet begins, the scheduler schedules small data packets 1, 2, and 3 to the second transmission path with a relatively slower speed. Small data packets 1, 2, and 3 are all small data packets transmitted in the tail packet phase. Assume that in the tail packet phase, small data packets 1, 2, and 3 become unacknowledged data packets of the second transmission path because they were not responded to by the receiver after being sent by the sender on the second transmission path.
[0037] During the tail packet phase, there is residual bandwidth in the first transmission path. Assume that for each of small data packets 1, 2, and 3, the most suitable cross-path retransmission is determined by comparing the corresponding estimated retransmission time and the corresponding retransmission determination time. Then, each of small data packets 1, 2, and 3 can be retransmitted on the first transmission path at different times. Because the transmission speed of the first transmission path is faster than that of the second transmission path, confirmation of unacknowledged data packets on the second transmission path can be obtained from the receiver more quickly. Therefore, the entire transmission process can be completed as quickly as possible, reducing the time consumed by the entire data transmission process and improving overall transmission efficiency.
[0038] The following examples illustrate how the data transmission method applied to a content distribution network provided by the embodiments of the present disclosure can improve overall transmission efficiency compared to related technologies.
[0039] In this example, at the tail packet stage, the corresponding data packet on the relatively slow second transmission path becomes an unacknowledged data packet on the second transmission path because the sender does not receive a response for the corresponding data packet from the receiver. The response can also be called an acknowledgment.
[0040] Since the transmission speed of the first transmission path is higher than that of the second transmission path, in the tail packet stage, all data packets of the first transmission path with a relatively faster speed have been successfully transmitted.
[0041] In related art, during the tail packet phase, unacknowledged data packets on the second transmission path must be retransmitted over the second transmission path. This requires waiting for at least all unacknowledged data packets on the second transmission path to be successfully retransmitted before the entire transmission process can be completed. During this waiting period, the first transmission path is idle. The waiting period is at least the sum of the time required for each unacknowledged data packet on the second transmission path to be successfully retransmitted over the second transmission path.
[0042] In the data transmission method applied to a content distribution network provided by an embodiment of the present disclosure, in the tail packet stage, if there is residual bandwidth in the first transmission path and it is more suitable for transmitting the unanswered data packet of the second transmission path, the unanswered data packet of the second transmission path is retransmitted through the first transmission path, that is, the unanswered data packet of the second transmission path is retransmitted on the first transmission path, so that the unanswered data packet of the second transmission path is successfully transmitted. Since the transmission speed of the first transmission path is faster than the transmission speed of the second transmission path, compared with retransmitting the unanswered data packet of the second transmission path on the second transmission path, the confirmation of the unanswered data packet of the second transmission path can be obtained from the receiver more quickly, and the unanswered data packet of the second transmission path can be successfully transmitted more quickly. Therefore, the entire transmission process can be completed as quickly as possible, the time consumption of the entire data transmission process can be reduced, and the overall transmission efficiency can be improved.
[0043] According to an embodiment of the present disclosure, an embodiment of a data transmission method applied to a content distribution network is provided. It should be noted that the steps shown in the flowchart of the accompanying drawings can be executed in a computer system such as a set of computer-executable instructions, and although a logical order is shown in the flowchart, in some cases, the steps shown or described can be executed in an order different from that shown here.
[0044] In this embodiment, a data transmission method applied to a content distribution network is provided. The method can be executed by an electronic device, such as a server. FIG2 is a flow chart of the data transmission method applied to a content distribution network according to an embodiment of the present disclosure. As shown in FIG2 , the flow chart includes the following steps:
[0045] Step S201 : detecting whether there is remaining bandwidth in the first transmission path; if there is remaining bandwidth in the first transmission path, determining unacknowledged data packets in the second transmission path.
[0046] To detect whether there is remaining bandwidth in the first transmission path, the data volume of the in-transit data packet can be compared with a maximum transmission data volume threshold. If the data volume of the in-transit data packet is less than the maximum transmission data volume threshold, it can be determined whether there is remaining bandwidth in the first transmission path.
[0047] The maximum transmission data volume threshold may refer to the maximum amount of data that can be transmitted at present to avoid congestion. The data volume of the above-mentioned in-transit data packets may be: the sum of the data volumes of each in-transit data packet currently on the first transmission path.
[0048] For data packet i, if the sender does not receive a response from the receiver for data packet i after a certain period of time after sending data packet i on the second transmission path, data packet i can be determined as an unacknowledged data packet on the second transmission path. Data packet i can be any data packet.
[0049] For each transmission path in the first transmission path and the second transmission path, it is possible to detect in real time whether the sender has received a response to the data packet sent on the transmission path from the receiver. Thus, when an unanswered data packet appears in the corresponding transmission path, the unanswered data packet in the corresponding transmission path can be detected in real time, and the identifier of the unanswered data packet can be recorded. When determining the unanswered data packet in the second transmission path, the unanswered data packet in the second transmission path can be determined based on the identifier of the recorded unanswered data packet in the second transmission path. In one example, during the period when the unanswered data packet is not successfully transmitted, the identifier of the unanswered data packet in the second transmission path can be added to the unanswered data packet list. If the number of identifiers in the unanswered data packet list is greater than 0, the data packet to which the identifier in the unanswered data packet list belongs can be determined as the unanswered data packet in the second transmission path.
[0050] Step S202 : identifying a characteristic moment in the second transmission path, where the characteristic moment is used to characterize a packet loss moment in the second transmission path or a sending moment of the unacknowledged data packet in the second transmission path.
[0051] The packet loss moment in the second transmission path may specifically refer to the moment of most recent packet loss in the second transmission path (LastLossTime). When the identified characteristic moment in the second transmission path is the moment of packet loss in the second transmission path, identifying the characteristic moment may include obtaining the moment of most recent packet loss from a packet loss record of the second transmission path. The packet loss record of the second transmission path reflects the data packets involved in each packet loss that occurred on the second transmission during the corresponding transmission process.
[0052] When the identified characteristic moment in the second transmission path is the sending moment of the unacknowledged data packet in the second transmission path, identifying the characteristic moment may include searching for the sending moment of the unacknowledged data packet from a sending moment record of the second transmission path. The sending moment of the second transmission path records the sending moments of data packets that have been sent on the second transmission path during the current transmission process.
[0053] Step S203: Generate a retransmission determination time according to the characteristic time and the transmission quality parameter of the second transmission path, and generate a retransmission estimation time based on the current time.
[0054] In this embodiment, the transmission quality parameter of the second transmission path may include: a round-trip time (RTT) of data on the second transmission path.
[0055] In this embodiment, if the characteristic moment is the packet loss moment, the round-trip data delay of the second transmission path can be postponed from the packet loss moment, and the moment after the postponement is used as the retransmission determination moment. The retransmission determination moment can be expressed as: the retransmission determination moment = the packet loss moment + the round-trip data delay of the second transmission path.
[0056] In this embodiment, if the characteristic moment is the sending moment, the round-trip data delay of the second transmission path can be postponed from the sending moment, and the moment after the postponement is used as the retransmission determination moment. The retransmission determination moment can be expressed as: the retransmission determination moment = the sending moment + the round-trip data delay of the second transmission path.
[0057] In this embodiment, if the characteristic moment is the packet loss moment, the current moment can be used as the retransmission estimated moment, and the retransmission estimated moment can be expressed as: retransmission estimated moment = current moment.
[0058] In this embodiment, if the characteristic moment is the sending moment, the round-trip data delay of the first transmission path can be postponed starting from the current moment, and the moment after the postponement can be used as the estimated retransmission moment. The estimated retransmission moment can be expressed as: estimated retransmission moment = current moment + round-trip data delay of the first transmission path.
[0059] Step S204 : comparing the estimated retransmission time with the retransmission determination time, and determining whether to retransmit the unacknowledged data packet through the first transmission path based on the comparison result.
[0060] For example, if the estimated retransmission time is earlier than the retransmission determination time and the time difference between the estimated retransmission time and the retransmission determination time is greater than a time difference threshold, it may be determined to retransmit the unacknowledged data packet via the first transmission path. For another example, if the estimated retransmission time is earlier than the retransmission determination time, it may be determined to retransmit the unacknowledged data packet via the first transmission path.
[0061] In this embodiment, another data transmission method applied to a content distribution network is provided, which can be executed by an electronic device such as a server. FIG3 is a flow chart of another data transmission method applied to a content distribution network according to an embodiment of the present disclosure. As shown in FIG3 , the flow chart includes the following steps:
[0062] Step S301: Identify the current congestion control window of the first transmission path and determine the current in-transit data packets of the first transmission path; if the data volume of the in-transit data packets is less than the maximum transmission data volume represented by the congestion control window, determine that there is remaining bandwidth in the first transmission path; if there is remaining bandwidth in the first transmission path, determine the unacknowledged data packets in the second transmission path.
[0063] The maximum transmission data volume represented by the current congestion control window (Cwnd) of the first transmission path can indicate the maximum amount of data that can be transmitted on the first transmission path to avoid congestion. The data volume of the aforementioned in-transit data packets can be the sum of the data volumes of the currently in-transit data packets on the first transmission path. When the data volume of the in-transit data packets is less than the maximum transmission data volume represented by the congestion control window, it can be determined that there is remaining bandwidth on the first transmission path.
[0064] Step S302: identifying a characteristic moment in the second transmission path, where the characteristic moment is used to characterize a packet loss moment in the second transmission path or a sending moment of the unacknowledged data packet in the second transmission path.
[0065] The process of step S302 refers to the process of step S202 and will not be repeated here.
[0066] Step S303: Generate a retransmission decision time based on the characteristic time and the transmission quality parameter of the second transmission path including the round-trip delay of data on the second transmission path, and generate a retransmission estimation time based on the current time.
[0067] In order to generate the retransmission determination time, the above step S303 may include:
[0068] Step S3031: If the characteristic moment represents a packet loss moment in the second transmission path, a first delay buffer duration is generated based on the round-trip delay of data on the second transmission path; and a retransmission determination moment is generated based on the characteristic moment and the first delay buffer duration.
[0069] Step S3032: If the characteristic moment represents the sending moment of the unanswered data packet in the second transmission path, the estimated transmission moment of the unanswered data packet in the second transmission path is generated with the sending moment as the starting moment; a second delay buffer time is generated based on the round-trip delay of the data on the second transmission path, and a retransmission determination moment is generated according to the estimated transmission time and the second delay buffer time.
[0070] It should be noted that the second delay buffer duration can be used to control the aggressiveness of cross-path retransmission. A larger second delay buffer duration will result in earlier data being retransmitted during cross-path retransmission, thereby increasing the flexibility of cross-path retransmission.
[0071] In step S3031, when generating a first delay buffer duration based on the round-trip data delay of the second transmission path, the product of the round-trip data delay of the second transmission path and a preset first coefficient may be used as the first delay buffer duration. The first delay buffer duration may be expressed as: first delay buffer duration = first coefficient × round-trip data delay of the second transmission path.
[0072] In step S3031, when generating a retransmission determination time based on the packet loss time and the first delay buffering duration, the time from the packet loss time to the first delay buffering duration can be deferred, and the time from the packet loss time to the first delay buffering duration can be used as the retransmission determination time. The retransmission determination time can be expressed as: retransmission determination time = packet loss time + first delay buffering duration.
[0073] In step S3032, when generating an estimated transmission time of the unacknowledged data packet on the second transmission path with the sending time as the starting time, the round-trip data delay of the second transmission path can be deferred from the sending time, and the time after the delay is used as the estimated transmission time. The estimated transmission time can be expressed as: estimated transmission time = sending time + round-trip data delay of the second transmission path.
[0074] In step S3032, when generating a second delay buffer duration based on the round-trip data delay of the second transmission path, the product of the round-trip data delay of the second transmission path and a preset second coefficient may be used as the second delay buffer duration. The second delay buffer duration may be expressed as: second delay buffer duration = second coefficient × round-trip data delay of the second transmission path.
[0075] In step S3032, when generating a retransmission decision time based on the estimated transmission time and the second delay buffer duration, the second delay buffer duration may be deferred from the estimated transmission time, and a time after the second delay buffer duration is deferred from the estimated transmission time is used as the retransmission decision time. The retransmission decision time may be expressed as: retransmission decision time = estimated transmission time + second delay buffer duration.
[0076] To generate the estimated retransmission time, step S303 may include:
[0077] Step S3033: If the characteristic moment represents a packet loss moment in the second transmission path, the current moment is used as the estimated retransmission moment;
[0078] Step S3034: If the characteristic moment represents the sending moment of the unacknowledged data packet in the second transmission path, identify the round trip delay of the data in the first transmission path, and generate a retransmission estimated time based on the current moment and the round trip delay of the data in the first transmission path.
[0079] In step S3034, when generating an estimated retransmission time based on the current time and the round-trip data delay of the first transmission path, the round-trip data delay of the first transmission path may be deferred from the current time, and the time after the deferred time is used as the estimated retransmission time. The estimated retransmission time may be expressed as: estimated retransmission time = current time + round-trip data delay of the first transmission path.
[0080] Step S304: if the estimated retransmission time is earlier than the determined retransmission time, retransmit the unacknowledged data packet via the first transmission path.
[0081] In this embodiment, if the retransmission estimated time is earlier than the retransmission determination time, the unacknowledged data packet may be retransmitted on the first transmission path.
[0082] This embodiment also provides a data transmission device for use in a content distribution network. This device is used to implement the above-mentioned embodiments and preferred implementations. Details already described will not be repeated here. As used below, the term "unit" may refer to a combination of software and / or hardware that implements a predetermined function. Although the devices described in the following embodiments are preferably implemented in software, implementation using hardware, or a combination of software and hardware, is also possible and contemplated.
[0083] This embodiment provides a data transmission device for a content distribution network, as shown in FIG4 , including:
[0084] The data confirmation unit 401 is configured to detect whether there is remaining bandwidth in the first transmission path, and if there is remaining bandwidth in the first transmission path, determine the unacknowledged data packets in the second transmission path;
[0085] a characteristic moment identification unit 402, configured to identify a characteristic moment in the second transmission path, wherein the characteristic moment is used to characterize a packet loss moment in the second transmission path or a sending moment of the unacknowledged data packet in the second transmission path;
[0086] a time generating unit 403, configured to generate a retransmission determination time according to the characteristic time and the transmission quality parameter of the second transmission path, and generate a retransmission estimation time based on the current time;
[0087] The retransmission determination unit 404 is configured to compare the retransmission estimated time with the retransmission determination time, and determine whether to retransmit the unacknowledged data packet through the first transmission path based on the comparison result.
[0088] In an optional embodiment, the data confirmation unit 401 is further used to identify the current congestion control window of the first transmission path and determine the current in-transit data packets of the first transmission path; if the data volume of the in-transit data packets is less than the maximum transmission data volume represented by the congestion control window, it is determined that there is remaining bandwidth in the first transmission path.
[0089] In an optional embodiment, the transmission quality parameter of the second transmission path includes the round-trip delay of data on the second transmission path; the moment generation unit 403 is further used to generate a first delay buffer duration based on the round-trip delay of data on the second transmission path if the characteristic moment represents the moment of packet loss in the second transmission path, and generate a retransmission determination moment according to the characteristic moment and the first delay buffer duration; if the characteristic moment represents the sending moment of the unanswered data packet in the second transmission path, generate an estimated transmission moment of the unanswered data packet in the second transmission path with the sending moment as the starting moment; generate a second delay buffer duration based on the round-trip delay of data on the second transmission path, and generate a retransmission determination moment according to the transmission estimated moment and the second delay buffer duration.
[0090] In an optional embodiment, the moment generation unit 403 is further used to postpone the first preset time length from the sending time, where the first preset time length is the round-trip delay of data on the second transmission path, and the moment after the time length is postponed is used as the estimated transmission moment.
[0091] In an optional embodiment, the moment generation unit 403 is further used to use the current moment as the estimated retransmission moment if the characteristic moment represents the moment of packet loss in the second transmission path; if the characteristic moment represents the moment of sending the unanswered data packet in the second transmission path, identify the round-trip data delay of the first transmission path, and generate the estimated retransmission moment based on the current moment and the round-trip data delay of the first transmission path.
[0092] In an optional embodiment, the moment generation unit 403 is further used to postpone the second preset time length from the current moment, where the second preset time length is the round-trip delay of data on the first transmission path, and the moment after the time length is postponed is used as the estimated retransmission moment.
[0093] In an optional implementation, the retransmission determination unit 404 is further configured to retransmit the unacknowledged data packet through the first transmission path if the estimated retransmission time is earlier than the retransmission determination time.
[0094] In this embodiment, the device is presented in the form of a functional unit, where the unit refers to an ASIC circuit, a processor and memory that executes one or more software or fixed programs, and / or other devices that can provide the above functions.
[0095] The further functional description of each of the above units is the same as that of the above corresponding embodiments and will not be repeated here.
[0096] An embodiment of the present disclosure further provides a computer device having the apparatus shown in FIG. 4 .
[0097] Please refer to Figure 5, which is a schematic diagram of the hardware structure of a computer device according to an embodiment of the present disclosure. The computer device includes: one or more processors 10, a memory 20, and interfaces for connecting various components, including high-speed interfaces and low-speed interfaces. The various components are connected to each other using different buses for communication and can be installed on a common motherboard or installed in other ways as needed. The processor can process instructions executed in the computer device, including instructions stored in or on the memory to display graphical information of a GUI on an external input / output device (such as a display device coupled to the interface). In some optional embodiments, if necessary, multiple processors and / or multiple buses can be used together with multiple memories and multiple memories. Similarly, multiple computer devices can be connected, and each device provides some necessary operations (for example, as a server array, a group of blade servers, or a multi-processor system).
[0098] The processor 10 may be a central processing unit, a network processor, or a combination thereof. The processor 10 may further include a hardware chip. The hardware chip may be an application-specific integrated circuit, a programmable logic device, or a combination thereof. The programmable logic device may be a complex programmable logic device, a field programmable gate array, a general purpose array logic, or any combination thereof.
[0099] The memory 20 stores instructions that can be executed by at least one processor 10, so that the at least one processor 10 executes the method shown in the above embodiment.
[0100] The memory 20 may include a program storage area and a data storage area, wherein the program storage area may store an operating system and application programs required for at least one function; the data storage area may store data created based on the use of the computer device, etc. In addition, the memory 20 may include a high-speed random access memory, and may also include a non-transient memory, such as at least one disk storage device, a flash memory device, or other non-transient solid-state storage device. In some optional embodiments, the memory 20 may optionally include a memory remotely located relative to the processor 10, and these remote memories may be connected to the computer device via a network. Examples of the above-mentioned network include, but are not limited to, the Internet, an intranet, a local area network, a mobile communication network, and combinations thereof.
[0101] The memory 20 may include a volatile memory, such as a random access memory; the memory may also include a non-volatile memory, such as a flash memory, a hard disk or a solid-state drive; the memory 20 may also include a combination of the above types of memory.
[0102] The computer device further includes an input device 30 and an output device 40. The processor 10, the memory 20, the input device 30 and the output device 40 may be connected via a bus or other means, and FIG5 shows a bus connection as an example.
[0103] The input device 30 can receive input digital or character information and generate key signal input related to user settings and function control of the computer device, such as a touch screen, a keypad, a mouse, a trackpad, a touch pad, an indicator stick, one or more mouse buttons, a trackball, a joystick, etc. The output device 40 can include a display device, an auxiliary lighting device (e.g., an LED), and a tactile feedback device (e.g., a vibration motor). The above-mentioned display device includes but is not limited to a liquid crystal display, a light emitting diode, a display, and a plasma display. In some optional embodiments, the display device can be a touch screen.
[0104] The computer device further includes a communication interface for the computer device to communicate with other devices or a communication network.
[0105] 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 implemented as a computer code that can be recorded in a storage medium, or implemented as a computer code that is originally stored in a remote storage medium or a non-temporary machine-readable storage medium and downloaded through a network and will be stored in a local storage medium, 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.
[0106] Although the embodiments of the present disclosure have been described with reference to 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 data transmission method applied to a content distribution network, comprising: detecting whether there is remaining bandwidth in the first transmission path, and if there is remaining bandwidth in the first transmission path, determining unacknowledged data packets in the second transmission path; Identifying a characteristic moment in the second transmission path, where the characteristic moment is used to characterize a packet loss moment in the second transmission path or a sending moment of the unacknowledged data packet in the second transmission path; generating a retransmission determination time according to the characteristic time and the transmission quality parameter of the second transmission path, and generating a retransmission estimation time based on the current time; The retransmission estimated time and the retransmission determination time are compared, and based on the comparison result, it is determined whether to retransmit the unacknowledged data packet through the first transmission path.
2. The method according to claim 1, wherein detecting whether there is remaining bandwidth in the first transmission path comprises: Identifying a current congestion control window of a first transmission path and determining a current in-transit data packet of the first transmission path; If the data volume of the in-transit data packet is less than the maximum transmission data volume represented by the congestion control window, it is determined that there is remaining bandwidth in the first transmission path.
3. The method according to claim 1, wherein the transmission quality parameter of the second transmission path comprises a round trip delay of data on the second transmission path; Generating the retransmission determination time according to the characteristic time and the transmission quality parameter of the second transmission path includes: If the characteristic moment represents a packet loss moment in the second transmission path, generating a first delay buffer duration based on a round-trip delay of data on the second transmission path, and generating a retransmission determination moment based on the characteristic moment and the first delay buffer duration; If the characteristic moment represents the sending moment of the unanswered data packet in the second transmission path, the estimated transmission moment of the unanswered data packet in the second transmission path is generated with the sending moment as the starting moment; the second delay buffer time is generated based on the round-trip delay of the data on the second transmission path, and the retransmission determination moment is generated according to the estimated transmission moment and the second delay buffer time.
4. The method according to claim 3, wherein generating the estimated transmission time of the unacknowledged data packet in the second transmission path with the sending time as the starting time comprises: A first preset time length is postponed from the sending time, where the first preset time length is the round-trip delay of data on the second transmission path, and the time after the time length is postponed is used as the estimated transmission time.
5. The method according to claim 1 or 3, wherein generating the estimated retransmission time based on the current time comprises: If the characteristic moment represents a packet loss moment in the second transmission path, using the current moment as a retransmission estimated moment; If the characteristic moment represents the sending moment of the unanswered data packet in the second transmission path, identify the round-trip data delay of the first transmission path, and generate a retransmission estimated moment based on the current moment and the round-trip data delay of the first transmission path.
6. The method according to claim 5, wherein generating the estimated retransmission time based on the current time and the round-trip delay of data on the first transmission path comprises: A second preset time length is postponed from the current moment, where the second preset time length is the round-trip delay of data on the first transmission path, and the moment after the time length is postponed is used as the retransmission estimated moment.
7. The method according to claim 1, wherein determining whether to retransmit the unacknowledged data packet through the first transmission path based on the comparison result comprises: If the estimated retransmission time is earlier than the retransmission determination time, the unacknowledged data packet is retransmitted via the first transmission path.
8. A data transmission device for a content distribution network, comprising: a data confirmation unit, configured to detect whether there is remaining bandwidth in the first transmission path, and if so, to determine unacknowledged data packets in the second transmission path; a characteristic moment identification unit, configured to identify a characteristic moment in the second transmission path, wherein the characteristic moment is used to characterize a packet loss moment in the second transmission path or a sending moment of the unacknowledged data packet in the second transmission path; a time generating unit, configured to generate a retransmission determination time according to the characteristic time and the transmission quality parameter of the second transmission path, and generate a retransmission estimation time based on the current time; A retransmission judgment unit is used to compare the retransmission estimated time and the retransmission judgment time, and judge whether to retransmit the unacknowledged data packet through the first transmission path based on the comparison result.
9. A computer device comprising: 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 method according to any one of claims 1 to 7 by executing the computer instructions. 10 . A computer-readable storage medium having computer instructions stored thereon, wherein the computer instructions are used to cause a computer to execute the method according to claim 1 .
Citation Information
Patent Citations
Data message transmission method, related device, equipment and storage medium
CN117041140A
Multi-path data scheduling method and device and electronic equipment
CN117041153A
Data transmission method and device applied to content distribution network, equipment and medium
CN117938980A
Data retransmission method and apparatus, and device and storage medium
WO2023147772A1