ACK information feedback policy determination method, electronic device, storage medium, and computer program product

By predicting data packet reception time and dynamically adjusting the ACK information feedback strategy, the network pressure problem caused by excessive ACK information in data express service was solved, achieving efficient and reliable data transmission.

WO2026032342A1PCT designated stage Publication Date: 2026-02-12CHINA MOBILE COMM LTD RES INST +1
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
PCT/CN2025/113037
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-08-07
Filing Date
2025-08-06
Publication Date
2026-02-12

AI Technical Summary

Technical Problem

In scenarios requiring continuous and rapid data transmission, such as data delivery services, the existing ACK information feedback mechanism results in a large amount of ACK information being transmitted in the network, increasing the processing pressure on routers and CPUs, and reducing transmission efficiency and reliability.

Method used

By predicting the data packet reception time, determining whether the reception was successful, and dynamically adjusting the ACK information feedback strategy, including delaying ACK information feedback when the network is stable and providing timely ACK information feedback when the network is unstable, the number of ACK information is reduced, ensuring transmission efficiency and reliability.

Benefits of technology

When network transmission is stable, reducing the number of ACK messages reduces the processing pressure on the sending end and improves the efficiency of network resource utilization; when the network is unstable, timely detection and retransmission of lost data packets ensures transmission reliability and efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2025113037_12022026_PF_FP_ABST
    Figure CN2025113037_12022026_PF_FP_ABST
Patent Text Reader

Abstract

The present application discloses an acknowledgment (ACK) information feedback policy determination method and apparatus, an electronic device, a storage medium, and a computer program product. The method comprises: predicting a reception time of a data packet; determining whether a data packet participating in prediction has been received at the predicted reception time, so as to obtain a determination result; and using the determination result to determine a feedback policy for ACK information corresponding to a data packet received after the predicted reception time.
Need to check novelty before this filing date? Find Prior Art

Description

Method for determining ACK information feedback strategy, electronic device, storage medium and computer program product

[0001] Cross-reference to related applications

[0002] The present application is based on and claims priority to Chinese patent application No. 202411081877.8, filed on August 7, 2024, the entire contents of which are incorporated herein by reference. TECHNICAL FIELD

[0003] The present application relates to the field of communication technology, and in particular to a method for determining an ACK (ACKnowledge) information feedback strategy, an electronic device, a storage medium, and a computer program product. BACKGROUND

[0004] In related technologies, in the process of data transmission, after receiving a data packet sent by a sending device, a receiving device can feed back ACK information to the sending device to inform the sending device that the data packet has been successfully received.

[0005] With the development of technology, the demand for data transmission is increasing, and a data express service is proposed in related technologies to achieve fast, reliable, and secure transmission of a large amount of data.

[0006] However, in the scenario of the data express service, continuous and fast transmission of data is required. At this time, how to determine an ACK information feedback strategy that guarantees efficient transmission has not yet been effectively solved. SUMMARY

[0007] To solve the problems in related technologies, the present application provides a method for determining an ACK information feedback strategy, an electronic device, a storage medium, and a computer program product.

[0008] The technical solution of the present application is implemented as follows:

[0009] The present application provides a method for determining an ACK information feedback strategy, which includes:

[0010] predicting a receiving time of a data packet;

[0011] determining whether the data packet involved in the prediction is received at the predicted receiving time to obtain a determination result;

[0012] using the determination result to determine a feedback strategy of ACK information corresponding to a data packet received after the predicted receiving time.

[0013] In the scheme, the receiving time of N continuous data packets is predicted; and the feedback strategy comprises a first strategy in a case where the judgment result represents that the N continuous data packets are all received at the predicted receiving time, N being an integer greater than 1, and the first strategy comprises feeding back one ACK information for every K data packets, K being an integer greater than or equal to 2.

[0014] In the scheme, the receiving time of N continuous data packets is predicted; and the feedback strategy is updated from a first strategy to a second strategy in a case where the judgment result represents that the N continuous data packets are all received at the predicted receiving time, N being an integer greater than 1, the first strategy comprising feeding back one ACK information for every K data packets, K being an integer greater than or equal to 2, and the second strategy comprising feeding back one ACK information for every J data packets, J being an integer greater than K.

[0015] In the scheme, the feedback strategy comprises a third strategy in a case where the judgment result represents that one data packet participating in the prediction is not received at the predicted receiving time, and the third strategy comprises feeding back one ACK information for every data packet received.

[0016] In the scheme, the feedback strategy is updated from a first strategy to the third strategy, and the first strategy comprises feeding back one ACK information for every K data packets, K being an integer greater than or equal to 2.

[0017] In the scheme, the method further comprises:

[0018] feeding back first ACK information; wherein,

[0019] In a case where no new data packet is received after the last feedback of the second ACK information, the first ACK information is the same as the last feedback of the second ACK information;

[0020] or,

[0021] In a case where a new data packet is received after the last feedback of the second ACK information, the first ACK information is associated with the new data packet.

[0022] In the scheme, in a case where the first ACK information is the same as the last feedback of the second ACK information, first information is contained in the data packet header of the first ACK information, and the first information is used to indicate that the first ACK information is not associated with a data packet.

[0023] In the scheme, the feedback of the first ACK information comprises:

[0024] feedback the first ACK information when the predicted receiving time arrives;

[0025] or,

[0026] feedback the first ACK information when a new data packet is received.

[0027] In the above scheme, the predicted receiving time of the data packet comprises:

[0028] predicting the receiving time of the data packet according to one or more of the following: the time of the last received data packet, the size of the last received data packet, and the last predicted receiving time.

[0029] In the above scheme, the predicted receiving time of the data packet comprises:

[0030] predicting the receiving time of the data packet according to the average data transmission rate in the first time period and the average size of the received data packet in the first time period.

[0031] Embodiments of the present application also provide an electronic device, comprising: a processor and a memory for storing a computer program capable of running on the processor,

[0032] wherein the processor is configured to run the computer program to perform the steps of any of the above methods.

[0033] Embodiments of the present application also provide a storage medium having a computer program stored thereon, wherein the computer program is executed by a processor to implement the steps of any of the above methods.

[0034] Embodiments of the present application also provide a computer program product comprising a computer program, wherein the computer program is executed by a processor to implement the steps of any of the above methods.

[0035] The ACK information feedback strategy determination method, the electronic device, the storage medium and the computer program product provided in the embodiments of the present application are used for predicting a receiving time of a data packet, judging whether the data packet participating in the prediction is received at the predicted receiving time, obtaining a judgment result, and determining a feedback strategy of ACK information corresponding to a data packet received after the predicted receiving time by using the judgment result. The scheme provided in the embodiments of the present application is used for predicting the receiving time of the data packet, judging whether the predicted receiving time is successful (that is, whether the data packet is received within the predicted receiving time), evaluating the transmission of the data in the network, dynamically adjusting the feedback strategy of the ACK information corresponding to the subsequent data packet according to the evaluation result, for example, when the prediction is successful, the network transmission is stable, and one ACK information can be fed back after receiving a plurality of data packets, so as to reduce the number of ACK information feedbacks and guarantee the transmission efficiency (that is, improve the network transmission resource utilization efficiency); or when the prediction fails, the network transmission may have a problem (for example, data packet loss or data packet transmission delay), and the ACK information can be fed back for each data packet, so as to timely find the data packet that is not successfully received and perform retransmission, thereby guaranteeing the transmission reliability and the transmission efficiency. In this way, the scheme can be applied to a data express service and other scenarios that require continuous and rapid transmission of data. BRIEF DESCRIPTION OF DRAWINGS

[0036] FIG. 1 is a schematic diagram of a network architecture of a data express service in the related art;

[0037] FIG. 2 is a schematic diagram of another network architecture of a data express service in the related art;

[0038] FIG. 3 is a schematic diagram of an ACK information feedback process in a data transmission based on a transmission control protocol (TCP);

[0039] FIG. 4 is a schematic diagram of a flow of an ACK information feedback strategy determination method according to an embodiment of the present application;

[0040] FIG. 5 is a schematic diagram of a structure of a TCP header according to an embodiment of the present application;

[0041] FIG. 6 is a schematic diagram of a flow of a delayed ACK information feedback method based on a receiving device predicting a receiving time according to an application example of the present application;

[0042] FIG. 7 is a schematic diagram of a flow of a delayed ACK information feedback according to an application example of the present application;

[0043] FIG. 8 is a schematic diagram of a flow of another delayed ACK information feedback according to an application example of the present application;

[0044] FIG. 9 is a schematic diagram of a structure of an ACK information feedback strategy determination apparatus according to an embodiment of the present application; and

[0045] FIG. 10 is a schematic diagram of an electronic device structure according to an embodiment of the present application. DETAILED DESCRIPTION

[0046] The present application will be further described in detail through the accompanying drawings and embodiments.

[0047] With the development of new Internet scenarios and technologies such as high-definition video, cloud computing, big data, artificial intelligence, and large models, users may have the need to continuously transmit a large amount of data. However, the environment of a wide area network (WAN) is full of uncertainties, such as micro-burst congestion and transmission problems caused by operator traffic shaping strategies. In these cases, the packet loss rate in long-distance data transmission can be as high as one in a thousand.

[0048] Therefore, a solution for efficient transmission of a large amount of data is proposed in the related art, that is, a data express service, which supports data transmission from the terabyte (TB) level to the petabyte (PB) level. Through the data express service, fast, reliable, and secure transmission of a large amount of data can be achieved.

[0049] In actual applications, in order to reduce the cost of constructing the network architecture of the data express service, the network architecture of the data express service usually does not completely rely on a private line or a private network for transmission, and can be carried on an already built network, such as a cloud private network for cloud service transmission. For example, as shown in FIG. 1, the network architecture of the data express service can include a data source, a data express station, a provider edge (PE) responsible for cloud and data center access, a cloud private network node, a computing center (such as a general-purpose computing center, a supercomputing center, an intelligent computing center, etc.), and a slicing packet network (SPN) and / or a cloud private network controller for controlling the network; the SPN and / or the cloud private network controller can be loaded on an operation platform or independently deployed, and the data express station can be a data harbor (DH), as shown in FIG. 2, the DH can provide a stronger data storage function than the data express station, the DH is connected to the user through an access network, the DHs are connected through a core network, and the DH can access the cloud private network; in this way, when the data express service is performed, the user issues a data express task through the operation platform, the SPN and / or the cloud private network controller automatically performs resource allocation based on the related information of the data express task, the cloud PE receives data transmitted by the data source or receives aggregated data transmitted by the data express station and / or the DH, and transmits the data according to the planned data transmission path, such as to the corresponding computing center.

[0050] In the related art, the data express service can be generally used to meet the application requirements with the following characteristics: first, the transmitted data traffic is large (which can also be understood as a large throughput requirement), and there is a transmission time limit, such as a requirement for data to be delivered within a few hours (i.e., transmitted within a few hours), delivered within a day (i.e., transmitted within a day), delivered within the next day (i.e., transmitted within the second day after the start of transmission), etc. Second, the transmission distance is long, and the transmitted data can need to cross a WAN, but the requirement for transmission time limit (which can also be understood as the requirement for transmission real-time) is low, such as being able to plan part of the traffic to be transmitted in a time period with low network load such as night.

[0051] In actual application, data transmission can occur data transmission errors such as packet loss and out-of-order. In order to ensure the accuracy and reliability of data transmission, in the related art, the network operator can use the feedback mechanism (which can also be understood as the ACK mechanism) of the corresponding ACK information in the transport layer protocol, so that the sending end (which can also be understood as the sending side, the sending end, etc.) can know the receiving condition of the receiving end (which can also be understood as the receiving side, the receiving end, etc.), and continue to transmit data or retransmit the lost data.

[0052] However, the ACK information feedback mechanism usually needs to feedback a large amount of ACK information. For example, in the TCP-based data transmission scenario, the ACK information feedback mechanism includes: the receiving end (which can also be understood as the receiving side) feeds back an ACK information to the sending end (which can also be understood as the sending side) for each received data packet (which can also be understood as a data packet corresponding to each message, or a data packet corresponding to each segment), and carries a data packet identifier (which can also be understood as a data packet number) in the ACK information to inform the sending end that all data packets sent before the data packet identifier corresponding to the data packet have been successfully received, and further drive the forward sliding of the sending window configured by the sending end, so as to control the traffic through the sliding window mechanism. However, the above ACK mechanism can cause half of the data packets in the network to be small data packets used to transmit ACK information, and a large number of small data packets can increase the forwarding pressure of the router and the processing pressure of the CPU (Central Process Unit) of the sending end, which is large in cost and easy to congest.

[0053] In order to optimize the ACK information feedback mechanism in TCP transmission, in the related art, a delayed ACK information feedback mechanism is proposed, which can be expressed in English as Delayed-ACK. As shown in FIG. 3, in the Delayed-ACK mechanism, about one ACK information can be fed back for every two data packets, thus the number of ACK information feedback can be reduced, thereby reducing the overhead. In order to implement the Delayed-ACK mechanism, the receiving end needs to configure (which can be configured through an operating system (such as a Linux system)) a clock (which can also be understood as a timer, or a timer), which is started in the kernel. After the clock is started, it starts timing. In the case where the timing reaches the timeout time, the clock is reset, and it is determined whether there is ACK information to be fed back at the receiving end. If there is ACK information to be fed back, the ACK information is fed back. The timeout time (such as 40ms-200ms) of the clock can be configured in advance. At the same time, the receiving end needs to configure a counter, which is used to record the byte number of the message corresponding to the received data packet. When the total byte number received exceeds a certain threshold, it is determined that ACK information needs to be fed back, and the ACK information is fed back for the received data packet. In this way, by adjusting the threshold and the timeout time, the receiving end can feed back the ACK information to the sending end after receiving about two data packets (i.e. the average number of data packets corresponding to the total byte number threshold), or after the clock times out.

[0054] In a non-TCP type data transmission scenario, such as a data transmission scenario related to Quick UDP Internet Connections (QUIC) technology, the feedback mechanism of ACK information can include: setting a clock inside the corresponding program of QUIC, starting the clock after starting, resetting the timing of the clock when the timing reaches the timeout time, and determining whether the receiving end has ACK information to be fed back, and if there is ACK information to be fed back, feeding back the ACK information; wherein the timeout time (such as 25ms) of the clock can be pre-configured; at the same time, the receiving end needs to configure a counter, which is used to record the number of received data packets, when the number of received data packets exceeds a certain threshold (such as two), it is determined that ACK information needs to be fed back, and the received data packets are fed back. In this way, by adjusting the threshold and the timeout time, the receiving end can feed back the ACK information to the sending end after receiving a certain number of data packets, or after the clock times out, that is, after applying the QUIC technology, about one ACK information can be fed back for every two data packets. At the same time, in the QUIC technology, the sending end needs to copy (English can be expressed as copy) the received ACK information to the user state through the CPU, and perform context switching and other processing, the working efficiency of the CPU is low, and the occupation is large, resulting in poor single-machine performance of the sending end.

[0055] However, in actual application, even if the Delayed-ACK mechanism or the QUIC technology is used, a large amount of ACK information still needs to be transmitted in the network during data transmission, and the ACK information can only be fed back according to the pre-configured fixed strategy. At the same time, for the application scenario of data express service, the number of data express streams transmitted in the network is small, but the bandwidth demand is large, and the rate of a single data stream (also called single stream) can reach the level of gigabyte (GB, GigaByte) or above. A large amount of ACK information will greatly reduce the transmission efficiency.

[0056] Therefore, for scenarios such as data express service that need to continuously transmit a large amount of data, it is urgent to propose an ACK information feedback strategy that can be dynamically adjusted according to changes in network conditions, so that the receiving end can appropriately reduce the number of transmitted ACK information when the network transmission is smooth under the premise of ensuring transmission reliability, to reduce the pressure on the sending end to process ACK information and improve the utilization efficiency of network resources.

[0057] Based on this, in various embodiments of the present application, the receiving end can evaluate the transmission of data in the network by predicting the receiving time of the data packet and judging whether the predicted receiving time is successful (i.e., whether the data packet is received within the predicted receiving time), and dynamically adjust the feedback strategy of the ACK information corresponding to the subsequent data packet according to the evaluation result, such as predicting success, which represents smooth network transmission (i.e., when the prediction is successful, it can be determined that the network transmission is smooth), and can feedback an ACK information after receiving multiple data packets, thereby reducing the number of ACK information feedback and ensuring transmission efficiency; or, predicting failure, which represents that the network transmission may have problems (such as data packet loss or data packet transmission delay, etc.) (i.e., when the prediction fails, it can be determined that the network transmission has problems), and can feedback ACK information for each data packet, thereby discovering the data packet that is not successfully received in time and retransmitting, and thus ensuring transmission reliability and transmission efficiency, so as to be applicable to data express service and other scenarios that require continuous and fast transmission of data.

[0058] The embodiment of the present application provides an ACK information feedback strategy determination method, which is applied to an electronic device, as shown in FIG. 4, and the method comprises the following steps:

[0059] Step 401: predicting the receiving time of the data packet;

[0060] Step 402: judging whether the data packet participating in the prediction is received within the predicted receiving time, to obtain a judgment result;

[0061] Step 403: determining the feedback strategy of the ACK information corresponding to the data packet received after the predicted receiving time by using the judgment result.

[0062] Here, in actual application, the electronic device can specifically include a device that receives data packets during data transmission, such as a data express station, a DH, a server and the like in a data express scenario, and the name of the electronic device is not limited in the embodiment of the present application, as long as the function is realized.

[0063] In actual application, for data express and other services that require continuous and fast transmission of data packets, the electronic device can continuously receive a large number of data packets within a period of time, at this time, the electronic device can predict the receiving time of the data packet, that is, predict the time interval between the last time the electronic device receives the data packet (which can also be understood as the last received data packet) and the next time the electronic device receives the data packet (which can also be understood as the next received data packet), and judge whether the data packet participating in the prediction is received within the predicted time interval, and then determine the transmission status of the network according to the judgment result, so as to dynamically adjust the feedback strategy of the ACK information of the subsequent data packet according to the transmission status of the network.

[0064] In actual application, in step 401, the electronic device can count (or understand as observe or measure) the average data transmission rate of received data packets in a time period, and the average size of received data packets, calculate the average interval time of received data packets in the time period, and predict the receiving time of data packets according to the calculated interval time.

[0065] Based on this, in some optional embodiments, the specific implementation of step 401 can include:

[0066] predicting the receiving time of data packets according to the average data transmission rate in the first time period and the average size of received data packets in the first time period.

[0067] The first time period can be set according to actual needs, such as a round trip time (RTT), and the embodiments of the present application do not limit this.

[0068] For example, assuming that the average data transmission rate in the first time period is 1 Gbit / s (bits per second), and the average size of received data packets in the first time period is 1250 bytes, at this time, the average interval time of received data packets in the first time period can be calculated as: (1250*8) / (1*10^9) = 10*10^-6, that is, 10 microseconds (μs), wherein ^ represents the power operation, therefore, the receiving time of data packets can be predicted as 20 μs considering the time redundancy (such as 10 μs), that is, it is predicted that the next data packet will be received within 20 μs after the arrival of the last received data packet.

[0069] Of course, in actual application, the electronic device can also optimize the last predicted receiving time by using the receiving time of actually received data packets, the size of actually received data packets and other parameters each time the data packet is actually received, so as to predict the time of next received data packet.

[0070] In order to enable the electronic device to learn the actual receiving time of the data packet and determine whether the data packet participating in the prediction is received within the predicted receiving time, the electronic device is configured with a system clock and a timer (which can also be understood as a timer). The electronic device can use the system clock to determine the actual receiving time of the data packet, wherein the electronic device can record the clock time of the system clock as the receiving time when each data packet is received. At the same time, the electronic device can use the timer to determine whether the predicted receiving time is accurate, wherein the electronic device can predict the receiving time of the next data packet when each data packet is received, and use the timer to time. If the electronic device receives the next data packet before the timing time of the timer reaches the predicted receiving time, it can be determined that the predicted receiving time is accurate, and the timing time of the timer is reset. If the electronic device has not received the next data packet when the timing time of the timer reaches the predicted receiving time, it can be determined that the predicted receiving time is inaccurate, and the timing time of the timer is reset.

[0071] Based on this, in some optional embodiments, the specific implementation of step 401 can include:

[0072] According to one or more of the time when the last data packet is received, the size of the last received data packet, and the last predicted receiving time (one or more can also be understood as at least one), the receiving time of the data packet is predicted.

[0073] Exemplarily, assuming that the last predicted receiving time of the data packet is 20μs, and the actual receiving time corresponding to the data packet participating in the prediction is 25μs, the electronic device can appropriately increase the predicted receiving time of the data packet, such as increasing 10μs.

[0074] In actual application, the electronic device can use one or more of the time when the last data packet is received, the size of the last received data packet, and the last predicted receiving time, and combine an adjustment algorithm to predict the receiving time of the data packet, that is, optimize the last predicted receiving time. The adjustment algorithm can be set according to actual needs, such as referring to the RTT related adjustment algorithm in TCP transmission, which is not limited in the embodiment of the application.

[0075] After predicting the receiving time of the data packet, in step 402, the electronic device can determine whether the prediction is successful; wherein the electronic device can determine whether the data packet participating in the prediction is received within the predicted receiving time according to the actual situation of receiving the data packet, obtain the determination result, and then determine the transmission condition of the network according to the determination result.

[0076] Here, in a case that the determination result indicates that the data packet participating in the prediction is received at the predicted receiving time, i.e., the predicted receiving time of the electronic device matches the arrival time of the data packet, the electronic device can consider that the network state is stable. At this time, in step 403, the electronic device can delay the feedback of the ACK information corresponding to part of the data packets, i.e., the electronic device can receive a preset number of data packets, and then feed back an ACK information for all the received data packets of the preset number, where the ACK information is used to inform the sending device that all the data packets of the preset number are successfully received. In this way, the number of feedback of the ACK information in the network can be reduced, the transmission efficiency can be ensured, and the pressure of the sending device in processing the ACK information can be reduced. The feedback strategy of the ACK information described above can also be referred to as a Delayed-ACK feedback strategy, and the preset number can be understood as a number of delay periods corresponding to the Delayed-ACK feedback strategy. The number of delay periods refers to how many data packets (which can also be understood as one data packet corresponding to each period, and the time of each period is not necessarily the same) are received by the electronic device before an ACK information is uniformly fed back.

[0077] In actual application, the determination result corresponding to a single data packet can not accurately reflect the network condition, therefore, the electronic device can predict the receiving time of a plurality of continuous data packets, and in a case that the receiving time of the plurality of continuous data packets are all successfully predicted, it is determined that the network transmission is stable, and then the Delayed-ACK feedback strategy is used for the feedback of the ACK information, so that the ACK information feedback strategy used can be consistent with the actual network condition.

[0078] Based on this, in some optional embodiments, the electronic device predicts the receiving time of N continuous data packets; in a case that the determination result indicates that the N continuous data packets are all received at the predicted receiving time, the feedback strategy of the ACK information corresponding to the data packet received after the predicted receiving time includes a first strategy, i.e., the feedback strategy includes the first strategy, N is an integer greater than 1, and in the first strategy, one ACK information is fed back for every K data packets, where K is an integer greater than or equal to 2.

[0079] Here, in actual application, the values of N and K can be set according to actual needs, which are not limited in the embodiments of the present application.

[0080] In actual application, when the electronic device has adopted the Delayed-ACK feedback strategy for the feedback of ACK information, and the determination result represents that the network transmission is stable, the electronic device can adjust the delay period number corresponding to the Delayed-ACK feedback strategy, such as increasing the delay period number, so as to further reduce the number of feedback of ACK information in the network.

[0081] Based on this, in some optional embodiments, the receiving time of N continuous data packets is predicted; in the case where the determination result represents that the N continuous data packets are all received at the predicted receiving time, the feedback strategy of ACK information corresponding to the data packet received after the predicted receiving time is updated from the first strategy to the second strategy, that is, the feedback strategy is updated from the first strategy to the second strategy, N is an integer greater than 1, in the first strategy, one ACK information is fed back for every K data packets, K is an integer greater than or equal to 2, and in the second strategy, one ACK information is fed back for every J data packets, J is an integer greater than K.

[0082] Meanwhile, in the case where the determination result represents that the data packet participating in the prediction is not received at the predicted receiving time, that is, in the case where the predicted receiving time of the electronic device does not match the arrival time of the data packet, the electronic device can consider that there may be a problem (such as data packet loss or data packet transmission delay) in the network transmission. At this time, in step 403, the electronic device can feed back ACK information for each data packet, so as to ensure that the sending end can know the receiving condition corresponding to each data packet, discover the data packet that is not successfully received in time, and perform retransmission, thereby ensuring the transmission reliability and transmission efficiency.

[0083] Based on this, in some optional embodiments, in the case where the determination result represents that one data packet participating in the prediction is not received at the predicted receiving time, the feedback strategy of ACK information corresponding to the data packet received after the predicted receiving time includes a third strategy, that is, the feedback strategy includes the third strategy, and in the third strategy, one ACK information is fed back for each received data packet.

[0084] In actual application, when the electronic device has adopted the Delayed-ACK feedback strategy for the feedback of ACK information, and the determination result represents that there may be a problem in the network transmission, the electronic device can exit the Delayed-ACK feedback strategy, so as to ensure that the sending end device can receive the ACK information corresponding to each data packet in time, and perform retransmission for the data packet that is not successfully received.

[0085] Based on this, in some optional embodiments, the feedback strategy of the ACK information corresponding to the data packet received after the predicted receiving time is updated from the first strategy to the third strategy, that is, the feedback strategy is updated from the first strategy to the third strategy, in the first strategy, one ACK information is fed back for every K data packets, and K is an integer greater than or equal to 2.

[0086] In actual application, in the case that the judgment result represents that one data packet participating in prediction is not received at the predicted receiving time, the data packet participating in prediction can be lost in the transmission process, or the data packet participating in prediction can be received by the electronic device later than the predicted receiving time. At this time, the electronic device can feed back the ACK information to the sending end device to ensure that the sending end device can learn the transmission situation of the data packet in time. The function of feeding back the ACK information can be realized by the CPU or the smart network card in the electronic device, and the embodiments of the present application are not limited in this regard.

[0087] Based on this, in some optional embodiments, in the case that the judgment result represents that one data packet participating in prediction is not received at the predicted receiving time, the method can further include:

[0088] Feeding back the first ACK information.

[0089] The first ACK information represents that all the previous data packets except the data packet participating in prediction are successfully received by the electronic device.

[0090] In the case that the new data packet is received after the last ACK information feedback of the electronic device and the first ACK information needs to be fed back, there is delayed (or understood as suppressed) ACK information in the electronic device, that is, the ACK information corresponding to the new data packet is not fed back. At this time, the electronic device can feed back the ACK information corresponding to the new data packet to the sending end device, so that the sending end device can determine that the new data packet and all the previous data packets are successfully received.

[0091] Based on this, in some optional embodiments, in the case that the new data packet is received after the last feedback of the second ACK information, the first ACK information is associated with the new data packet.

[0092] Exemplarily, it is assumed that the sending end device sends data packet 1, data packet 2, …, data packet 4 to the electronic device in sequence, wherein data packet 1, data packet 2 and data packet 3 are all received within the predicted receiving time, data packet 4 is not received within the predicted receiving time, and the ACK information feedback strategy of the electronic device is to feed back one ACK information for every two received data packets. After receiving data packet 1, the electronic device can delay feeding back the ACK information corresponding to data packet 1, and after receiving data packet 2, feed back the ACK information (i.e., the second ACK information) corresponding to data packet 2 to the sending end device to inform the sending end device that data packet 2 and the data packets before data packet 2 (such as data packet 1) are all successfully received. Meanwhile, after receiving data packet 3 (i.e., the new data packet), the electronic device can delay feeding back the ACK information corresponding to data packet 3, and predict the receiving time of data packet 4. Since data packet 4 is not received within the predicted receiving time, the electronic device can feed back the ACK information corresponding to data packet 3 as the first ACK information to the sending end to inform the sending end that data packet 3 and the data packets before data packet 3 are all successfully received.

[0093] In the case that no new data packet is received after the electronic device performs ACK information feedback once and the first ACK information needs to be fed back, that is, the ACK information corresponding to the data packets already received by the electronic device have all been fed back, at this time, the electronic device can copy the ACK information fed back last time as the first ACK information and feed it back.

[0094] Based on this, in some optional embodiments, in the case that no new data packet is received after the second ACK information is fed back last time, the first ACK information is the same as the second ACK information fed back last time.

[0095] Exemplarily, based on the above example, it is assumed that data packet 1 and data packet 2 are both received within the predicted receiving time, and data packet 3 is not received within the predicted receiving time. After receiving data packet 2, the electronic device can feed back the ACK information corresponding to data packet 2 to the sending end device, and predict the receiving time of data packet 3. Since data packet 3 is not received within the predicted receiving time, no new data packet is received after the ACK information corresponding to data packet 2 is fed back, at this time, the electronic device can feed back the ACK information corresponding to data packet 2 as the first ACK information to the sending end.

[0096] In actual application, the electronic device can feed back the first ACK information when the next data packet is received after the predicted receiving time arrives, that is, when the first data packet is received after the predicted receiving time arrives.

[0097] Based on this, in some optional embodiments, the feedback first ACK information includes:

[0098] When a new data packet is received, the first ACK information is fed back.

[0099] Here, in actual application, in the case that the next data packet is not the data packet participating in prediction, that is, the data packet participating in prediction is possibly lost, at this time, the electronic device can determine and feed back the first ACK information according to the case that the data packet is received after the second ACK information is fed back. The specific corresponding relationship between the case that the data packet is received after the second ACK information is fed back and the first ACK information has been described in detail above.

[0100] In the case that the next data packet is the data packet participating in prediction, that is, the data packet participating in prediction is received by the electronic device later than the predicted receiving time, at this time, the electronic device can feed back the ACK information corresponding to the data packet participating in prediction as the first ACK information to inform the sending end that the data packet participating in prediction and all previous data packets are successfully received.

[0101] In actual application, the sending end device can be configured to retransmit a data packet after the data packet when the sending end device continuously receives a plurality of ACK information corresponding to the same data packet, that is, the sending end device determines that the next data packet after the data packet corresponding to the ACK information is lost and retransmits the lost data packet when a preset number of same ACK information (which can also be understood as ACK information corresponding to the same data packet, or ACK information with the same acknowledgement number (which can specifically include TCP acknowledgement number, etc.)) is continuously received. The preset number can be set according to actual needs; correspondingly, the electronic device can be configured to, for each data packet received after the predicted receiving time, if the data packet is not the data packet participating in prediction, feed back the ACK information corresponding to the last data packet received before the data packet not received to the sending end device until the data packet participating in prediction retransmitted by the sending end device is received. Here, the ACK information corresponding to a data packet means that the acknowledgement number (which can be specifically set in the data packet header corresponding to the ACK information) corresponding to the ACK information corresponds to the data packet; at the same time, at least two ACK information being same means that the acknowledgement numbers corresponding to the at least two ACK information are same, while other fields (such as option field, sequence number field, etc.) of the at least two ACK information can be different.

[0102] To enable the sending end device to discover the data packet that is not successfully received in time and perform retransmission, thereby improving transmission efficiency, the electronic device can feed back the first ACK information when the predicted receiving time arrives. In this way, compared with the electronic device feeding back the first ACK information only when a new data packet is received, the sending end device can perform retransmission on the lost data packet more timely, and the transmission efficiency is higher.

[0103] Based on this, in some optional embodiments, the feedback first ACK information comprises:

[0104] The first ACK information is fed back when the predicted receiving time arrives.

[0105] Here, in actual application, when the electronic device feeds back the first ACK information when the predicted receiving time arrives, and the first ACK information is associated with a new data packet received after the last feedback second ACK information, the first ACK information can be considered to be triggered based on the received new data packet; when the electronic device feeds back the first ACK information when the predicted receiving time arrives, and the first ACK information is the same as the last feedback second ACK information, the first ACK information is not triggered based on the received data packet (it can also be understood as not associated with the data packet), but is triggered due to the data participating in the prediction not arriving within the predicted receiving time, and therefore, the first ACK information can also be understood as virtual ACK (VACK, Virtual ACK) information. The electronic device can add indication information in the data packet of the first ACK information, and the indication information is used to indicate that the first ACK information comprises VACK information. In this way, the electronic device can make the sending end device more clearly know the data packet receiving condition of the electronic device by sending the VACK information.

[0106] Based on this, in some optional embodiments, when the first ACK information is the same as the last feedback second ACK information, the first information is contained in the data packet header of the first ACK information, and the first information is used to indicate that the first ACK information is not associated with the data packet.

[0107] Exemplarily, as shown in FIG. 5, for TCP type packet transmission, 1 bit information (i.e., the first information) in the reserved field of the TCP header (which can also be understood as the TCP header, or the header of the TCP packet) in the packet can be used to indicate whether the ACK information corresponding to the packet is VACK information; exemplarily, when the bit is set to 1, it indicates that the ACK information corresponding to the packet is VACK information, and when the bit is set to 0, it indicates that the ACK information corresponding to the packet is not VACK information. Of course, the bit can also be set to 1 to indicate that the ACK information corresponding to the packet is not VACK information, and the bit is set to 0 to indicate that the ACK information corresponding to the packet is VACK information.

[0108] In actual application, when the packet participating in prediction is the last packet (which can also be understood as the tail packet) of the current data transmission task, and the packet is lost, the electronic device can respectively feed back the first ACK information when the predicted receiving time arrives, and feed back the VACK information corresponding to the first ACK information when twice the predicted receiving time arrives, and when three times the predicted receiving time arrives, so that the sending end can determine in time that the packet has not been successfully received by the electronic device, and retransmit the packet, which is more efficient than waiting for the retransmission timeout time (RTO, Retransmission Time Out) to timeout before retransmitting the packet. Among them, the twice predicted receiving time refers to the time when the clock of the electronic device is reset after timing to the predicted receiving time, and then arrives at the predicted receiving time again, and the three times predicted receiving time is similar.

[0109] In actual application, when the sending end device and the electronic device establish a connection and prepare to perform data transmission, the sending end device and the electronic device can negotiate to determine whether to use the ACK information feedback strategy determination method provided in the embodiments of the present application. Exemplarily, the sending end device can send confirmation request information to the electronic device, the confirmation request information being used to confirm whether the electronic device agrees to use the ACK information feedback strategy determination method provided in the embodiments of the present application for data transmission, and the electronic device can feed back confirmation request reply information according to actual conditions to inform the sending end device whether to agree to use the ACK information feedback strategy determination method provided in the embodiments of the present application for data transmission; the sending end device can use the corresponding method for data transmission based on the received confirmation request reply information. The specific names of the confirmation request information and the confirmation request reply information are not limited in the embodiments of the present application.

[0110] The ACK information feedback strategy determination method provided in the embodiments of the present application predicts the receiving time of a data packet, judges whether the data packet participating in the prediction is received at the predicted receiving time, obtains a judgment result, and determines the feedback strategy of the ACK information corresponding to the data packet received after the predicted receiving time by using the judgment result. The scheme provided in the embodiments of the present application predicts the receiving time of a data packet, judges whether the predicted receiving time is successful (that is, whether the data packet is received within the predicted receiving time), evaluates the transmission of data in the network, dynamically adjusts the feedback strategy of the ACK information corresponding to the subsequent data packet according to the evaluation result, for example, when the prediction is successful, it is indicated that the network transmission is stable, and an ACK information can be fed back after receiving a plurality of data packets, thereby reducing the number of ACK information feedbacks and guaranteeing the transmission efficiency; or when the prediction fails, it is indicated that there may be a problem in the network transmission, and an ACK information can be fed back for each data packet, thereby retransmitting the data packet that is not successfully received in time and guaranteeing the transmission reliability and transmission efficiency. In this way, the scheme can be applied to scenarios such as data express service that need to continuously and quickly transmit data.

[0111] The present application will be further described in detail below in combination with application examples.

[0112] The application example provides a data transmission system applied to a data express service, including a receiving end device (that is, the electronic device) and a sending end device (that is, the sending end device). The sending end device can perform data transmission of types such as TCP and QUIC with the receiving end device. The sending end device continuously and quickly transmits a large number of data packets with the receiving end device.

[0113] Based on the above system, the application example provides a delayed ACK information feedback method based on the predicted receiving time of the receiving end device, as shown in FIG. 6, the method includes the following steps:

[0114] Step 601: When the receiving end device receives a data packet each time, the receiving time is recorded, the clock starts timing, and the arrival time of the next data packet (that is, the receiving time of the next data packet) is predicted;

[0115] Here, in actual application, the following assumptions exist between the sender device and the receiver device: before step 601, the sender device and the receiver device have performed handshake and entered a stable data sending stage, at this time, the ACK information feedback strategy of the receiver device includes: feeding back one ACK information for every 2 received data packets; wherein, the receiver device is configured with a clock (which can also be understood as a timer), and the clock can be used for timing, wherein, the timing can be started when the receiver device receives one data packet, and the timing time of the clock is taken as the receiving time of the data packet and the timing is restarted (i.e., the timing time of the clock is reset) when the receiver device receives a new data packet or the timing time reaches the predicted receiving time.

[0116] Meanwhile, in the application example, the feedback strategy that the receiver device feeds back one ACK information for every X received data packets is expressed as the Delayed-ACK(X) strategy, wherein, X is an integer greater than or equal to 2.

[0117] In actual application, the receiver device can predict the arrival time of the next data packet according to the communication rate, the size of the data packet and other information.

[0118] Step 602: the receiver device matches the actual arrival time of the data packet with the predicted arrival time to obtain a matching result.

[0119] Wherein, if the receiver device does not receive the data packet within the predicted arrival time (which can also be understood as the data packet does not arrive within the predicted arrival time), the matching result represents a prediction failure; if the receiver device receives the data packet within the predicted arrival time (which can also be understood as the data packet arrives within the predicted arrival time), the matching result represents a prediction success, and the receiver device feeds back the ACK information corresponding to the received data packet according to the Delayed-ACK(2) strategy.

[0120] In actual application, the header of each data packet sent by the sender device contains the sequence number corresponding to the data packet (which can also be understood as the sending sequence number maintained by the sender device), and when the receiver device receives the data packet, the receiver device determines the acknowledgement number corresponding to the ACK information to be fed back according to the sequence number corresponding to the received data packet, so that when the sender device receives the data packet corresponding to the ACK information, the sender device can use the acknowledgement number to determine that the receiver device has successfully received the data packet corresponding to the acknowledgement number and all previous data packets.

[0121] Step 603a: in the case that the matching results corresponding to the consecutive N data packets all represent prediction success, the period of the Delayed-ACK strategy for feeding back the ACK information is increased; wherein, N is an integer greater than or equal to 2.

[0122] The receiving device can adjust the feedback strategy of the ACK information from the Delayed-ACK(2) strategy to the Delayed-ACK(3) strategy, which can also be understood as switching the parameter of the Delayed-ACK(X) strategy from 2 to 3, or can also be understood as adjusting the number of delay periods corresponding to the Delayed-ACK(X) strategy from 2 to 3, thereby increasing the feedback period of the ACK information, reducing the number of feedback of the ACK information, and further reducing the pressure of the sending device on processing the ACK information.

[0123] Meanwhile, after the receiving device adjusts the feedback strategy of the ACK information to the Delayed-ACK(3) strategy, in the case that the matching results corresponding to the continuous M data packets all represent the prediction success, the receiving device can further adjust the feedback strategy of the ACK information from the Delayed-ACK(3) strategy to the Delayed-ACK(4) strategy, and the subsequent is similar. Meanwhile, the receiving device can also directly switch the parameter of the Delayed-ACK(X) strategy from 2 to 4, that is, directly adjust the Delayed-ACK(2) strategy to the Delayed-ACK(4) strategy. Wherein, M is an integer greater than or equal to 2, and the values of N and M can be set according to actual needs; the value range of the parameter of the Delayed-ACK(X) strategy can be set according to actual needs, and after the parameter reaches the upper limit value of the value range, the feedback period of the ACK information cannot be increased.

[0124] Step 603b: In the case that the matching result represents the prediction failure, the receiving device exits the Delayed-ACK(2) strategy, and adjusts the feedback strategy of the ACK information to feedback the ACK information corresponding to the data packet for each received data packet.

[0125] In actual application, the receiving device can feedback the ACK information to the sending device at the end of the predicted arrival time, to inform the sending device that the corresponding data packet has been received. Wherein, if there is delayed ACK information in the receiving device, the receiving device can feedback the delayed ACK information to the sending device, and if there is no delayed ACK information in the receiving device, the receiving device can feedback the VACK information corresponding to the last feedback ACK information to the sending device.

[0126] Meanwhile, the receiving device can feedback ACK information when receiving subsequent data packets. If the first data packet received by the receiving device after the predicted arrival time expires is not the data packet involved in the prediction, i.e., in the case of loss or disorder of the data packet involved in the prediction, the ACK information is associated with the last received data packet before the prediction fails; if the first data packet received by the receiving device after the predicted arrival time expires is the data packet involved in the prediction, i.e., in the case of delay of the data packet involved in the prediction, the ACK information is associated with the data packet involved in the prediction.

[0127] Exemplarily, as shown in FIG. 7, it is assumed that the feedback strategy of ACK information adopted by the receiving device is the Delayed-ACK(3) strategy, i.e., the receiving device receives three data packets after feedback of ACK 10221 (which can also be understood as ACK information with an acknowledgement number of 10221), and then feedbacks ACK 14601. Meanwhile, the receiving device receives the data packet of 14521:18980, and delays feedback of ACK 18981 (which can also be understood as ACK information with an acknowledgement number of 18981) based on the Delayed-ACK(3) strategy. The receiving device does not receive the data packet of 18981:20440 within the predicted arrival time. At this time, the receiving device exits the Delayed-ACK(3) strategy at the expiration of the predicted arrival time, changes the feedback strategy of ACK information to feedback ACK information for each received data packet, and forcibly feedbacks ACK information at the expiration of the predicted arrival time. Since the receiving device has the delayed ACK 18981 at this time, the delayed ACK 18981 is feedbacked when the ACK information is forcibly feedbacked, and the receiving device confirms loss or disorder of the data packet of 18981:20440 after receiving the data packet of 20441:21900 subsequently, and feedbacks the ACK 18981 multiple times until the receiving device receives the data packet of 18981:20440 (as shown by 18981:20400(R) in FIG. 7) retransmitted by the sending device, and then feedbacks ACK information for the received data packet, i.e., ACK 29201 (which can also be understood as ACK information with an acknowledgement number of 29201). The forced feedback of ACK information (which can also be understood as forced feedback of ACK information) means that the receiving device feedbacks the delayed ACK information if there is the delayed ACK information at the expiration of the predicted arrival time, and constructs a VACK information based on the last feedbacked ACK information and feedbacks the VACK information if there is no delayed ACK information.

[0128] If the first data packet received by the receiving device after the predicted arrival time deadline is the data packet participating in prediction, i.e. in the case that the data packet participating in prediction is received later than the predicted arrival time, the receiving device can feed back ACK information (i.e. the ACK information is associated with the data packet participating in prediction) for the data packet participating in prediction when the data packet participating in prediction is received, and adjust the predicted arrival time for the next data packet appropriately.

[0129] If the receiving device does not receive other data packets after the predicted arrival time deadline, i.e. in the case that the data packet participating in prediction is the tail data packet and the data packet participating in prediction is lost, the clock in the receiving device can restart timing after the predicted arrival time deadline, and VACK information is fed back at the time when the subsequent predicted arrival time deadlines are reached, to inform the sending device that the lost data packet needs to be retransmitted. In this way, the lost data packet can be retransmitted more quickly, and compared with the TCP type transmission, the sending device does not need to wait for the timer to time out for the RTO of the lost data packet before transmission, and the transmission efficiency is higher.

[0130] Exemplarily, as shown in FIG. 7, it is assumed that the receiving device feeds back ACK 39421 (which can also be understood as ACK information with an acknowledgement number of 39421) based on the adopted Delayed-ACK (2) strategy after receiving the data packet of the 37961:39420 data segment, and the receiving device does not receive the data packet of the 39421:40880 data segment within the predicted arrival time. At this time, the receiving device exits the Delayed-ACK (2) strategy when the predicted arrival time deadline is reached, changes the feedback strategy of the ACK information to feed back ACK information for each received data packet, and feeds back VACK corresponding to ACK 39421. The clock in the receiving device restarts timing, and VACK information is fed back at the time when the subsequent predicted arrival time deadlines are reached for three times, to inform the sending device that the data packet of the 37961:39420 data segment needs to be retransmitted. After the receiving device receives the data packet of the 37961:39420 data segment retransmitted by the sending device, ACK 40881 is fed back for the data packet.

[0131] Of course, in actual application, the receiving device can not feedback the VACK information at the predicted arrival time deadline, that is, no ACK information feedback is performed in the case that no data packet participating in prediction is received within the predicted arrival time, and no delayed ACK information exists in the receiving device; meanwhile, the receiving device performs ACK information feedback when receiving subsequent data packets, and the ACK information is associated with the last received data packet before prediction failure. Meanwhile, in the case that the data packet participating in prediction is the tail data packet and the data packet participating in prediction is lost, the receiving device can not feedback the ACK information after the predicted arrival time deadline, and waits for the RTO timeout of the timer in the sending device for the lost data packet, and then the sending device determines to perform retransmission.

[0132] Exemplarily, based on the above example, as shown in FIG. 8, the receiving device does not receive the data packet of the 18981:20440 data segment within the predicted arrival time, at this time, the receiving device exits the Delayed-ACK(3) strategy at the predicted arrival time deadline, and changes the feedback strategy of the ACK information to feedback the ACK information for each received data packet, and does not forcibly perform ACK information feedback; the receiving device receives the data packet of the 20441:21900 data segment, confirms that the data packet of the 18981:20440 data segment is lost or out of order, and feeds back ACK 18981, that is, the receiving device triggers the feedback of the ACK information based on the received data packet of the 20441:21900 data segment, and since the sequence number (which can also be understood as the received sequence number) of all the successfully received data packets at this time is 18980, and the sequence number of the next data packet to be received is 18981, the feedback ACK information is ACK 18981; meanwhile, the receiving device also feeds back ACK 18981 when receiving other data packets subsequently, until the data packet of the 18981:20440 data segment retransmitted by the sending device is received. Meanwhile, the receiving device does not receive the data packet of the 39421:40880 data segment within the predicted arrival time, and the receiving device does not forcibly perform ACK information feedback, waits for the RTO timeout of the sending device for the data packet of the 39421:40880 data segment, and then the sending device determines and retransmits the data packet of the 39421:40880 data segment, and the receiving device feeds back ACK 40881 for the data packet of the 37961:39420 data segment retransmitted by the sending device. Wherein, the non-forced ACK information feedback (which can also be understood as non-forced ACK information feedback) refers to that, if the delayed ACK information exists at the predicted arrival time deadline, the receiving device can feedback or not feedback the delayed ACK information according to actual needs; if no delayed ACK information exists, the receiving device does not feedback any ACK information.

[0133] Step 604b: After the sink device exits the Delayed-ACK(2) strategy, in the case that the matching results corresponding to the continuous N data packets all represent a predicted success, the feedback strategy of the ACK information is changed to the Delayed-ACK(2) strategy again.

[0134] The scheme provided by the application examples can be used in the service scenario of data express and the like, in which the number of data packets is large and the transmission rate is high. The sink device can perform timing by using an internal clock, and predict the arrival of data packets, so as to evaluate the network condition, and flexibly adjust the parameters of the Delayed-ACK(X) strategy according to the network condition. In the case that the network transmission is stable, the sink device can use a feedback mechanism of transmitting less ACK information, for example, increase the parameters of the Delayed-ACK(X) strategy, so as to reduce the number of data packets for transmitting ACK information in the network, and reduce the pressure of the sender device for processing ACK information. Meanwhile, in the case of network abnormal conditions such as data packet loss or out-of-order, the sink device can exit the Delayed-ACK(X) strategy, and use a feedback strategy of feeding back ACK information for each data packet, to inform the sender device to perform corresponding congestion control or retransmit the data packet, so as to guarantee the complete transmission of data.

[0135] Meanwhile, for the lost data packet, the retransmission is determined by using the predicted data packet arrival time, which can realize data retransmission more quickly compared with the retransmission scheme based on the RTO timeout of the sender device in the TCP type transmission, and improve the transmission efficiency.

[0136] It should be noted that the scheme provided by the application examples can be understood as enhancing the ACK information feedback mechanism in the data transmission of TCP, QUIC and the like in the scenario of data express service. When the TCP type transmission is used, the ACK feedback mechanism in the TCP transmission is associated with the number of transmitted bytes, and in the scenario of data express service, the number of bytes corresponding to each data packet is basically consistent, that is, the number of data packets in the scenario of data express service is associated with the number of transmitted bytes. Therefore, the number of bytes corresponding to the feedback ACK information in the TCP transmission can be adjusted by adjusting the preset number of data packets corresponding to the feedback ACK information. In this way, the scheme provided by the application examples can be applied to the TCP type transmission. When the QUIC type transmission is used, the ACK feedback mechanism in the QUIC transmission is directly associated with the number of data packets. Therefore, the scheme provided by the application examples can be applied to the QUIC type transmission.

[0137] In order to implement the method of the application embodiment, the application embodiment further provides an ACK information feedback strategy determination apparatus arranged on an electronic device, as shown in FIG. 9, which comprises:

[0138] The prediction unit 901 is configured to predict a receiving time of the data packet.

[0139] The determination unit 902 is configured to determine whether the data packet participating in the prediction is received at the predicted receiving time, to obtain a determination result, and to determine a feedback strategy of the ACK information corresponding to the data packet received after the predicted receiving time according to the determination result.

[0140] In some optional embodiments, the prediction unit 901 is further configured to:

[0141] predict receiving times of N continuous data packets.

[0142] In a case where the determination result indicates that the N continuous data packets are all received at the predicted receiving time, the determination unit 902 is configured to:

[0143] The feedback strategy of the ACK information corresponding to the data packet received after the predicted receiving time includes a first strategy, N is an integer greater than 1, and in the first strategy, one ACK information is fed back for every K data packets, K is an integer greater than or equal to 2.

[0144] In some optional embodiments, the prediction unit 901 is further configured to:

[0145] predict receiving times of N continuous data packets.

[0146] In a case where the determination result indicates that the N continuous data packets are all received at the predicted receiving time, the determination unit 902 is configured to:

[0147] The feedback strategy of the ACK information corresponding to the data packet received after the predicted receiving time is updated from a first strategy to a second strategy, N is an integer greater than 1, in the first strategy, one ACK information is fed back for every K data packets, K is an integer greater than or equal to 2, and in the second strategy, one ACK information is fed back for every J data packets, J is an integer greater than K.

[0148] In some optional embodiments, in a case where the determination result indicates that one data packet participating in the prediction is not received at the predicted receiving time, the determination unit 902 is configured to:

[0149] The feedback strategy of the ACK information corresponding to the data packet received after the predicted receiving time includes a third strategy, in which one ACK information is fed back for each received data packet.

[0150] In some optional embodiments, the determination unit 902 is further configured to:

[0151] The feedback strategy of the ACK information corresponding to the data packet received after the predicted receiving time is updated from the first strategy to the third strategy, in the first strategy, one ACK information is fed back per K data packets, K is an integer greater than or equal to 2.

[0152] In some optional embodiments, when the judgment result represents that one of the predicted data packets is not received at the predicted receiving time, the ACK information feedback strategy determination apparatus further comprises:

[0153] The feedback unit is configured to feed back the first ACK information; wherein,

[0154] When no new data packet is received after the last feedback of the second ACK information, the first ACK information is the same as the last feedback of the second ACK information;

[0155] Or,

[0156] When a new data packet is received after the last feedback of the second ACK information, the first ACK information is associated with the new data packet.

[0157] In some optional embodiments, the feedback unit is further configured to:

[0158] When the predicted receiving time arrives, feed back the first ACK information;

[0159] Or,

[0160] When a new data packet is received, feed back the first ACK information.

[0161] In some optional embodiments, the prediction unit 901 is further configured to:

[0162] According to one or more of the time of the last received data packet, the size of the last received data packet, and the last predicted receiving time, predict the receiving time of the data packet.

[0163] In some optional embodiments, the prediction unit 901 is further configured to:

[0164] According to the average data transmission rate in the first time period and the average size of the received data packet in the first time period, predict the receiving time of the data packet.

[0165] In actual application, the prediction unit 901 and the determination unit 902 can be realized by a processor in the ACK information feedback strategy determination apparatus, and the feedback unit can be realized by the processor in the ACK information feedback strategy determination apparatus in combination with a communication interface.

[0166] It should be noted that the ACK information feedback strategy determination apparatus provided in the above embodiments is only exemplified by the above division of program units when determining the ACK information feedback strategy, and in actual application, the above processing can be completed by different program units according to needs, that is, the internal structure of the apparatus is divided into different program units to complete all or part of the above-described processing. In addition, the ACK information feedback strategy determination apparatus and the ACK information feedback strategy determination method provided in the above embodiments belong to the same concept, and the specific implementation process is detailed in the method embodiments, which will not be repeated here.

[0167] Based on the hardware implementation of the above program modules, and in order to implement the method of the embodiments of the present application, the embodiments of the present application also provide an electronic device, as shown in FIG. 10, which includes:

[0168] The communication interface 1001 can interact with other devices for information exchange;

[0169] The processor 1002 is connected with the communication interface 1001 to realize information exchange with other devices, and is configured to run a computer program to execute the method provided by one or more of the above technical solutions;

[0170] The memory 1003 stores the computer program.

[0171] Specifically, the processor 1002 is configured to:

[0172] predict the receiving time of the data packet, determine whether the data packet participating in the prediction is received at the predicted receiving time to obtain a determination result, and determine the feedback strategy of the ACK information corresponding to the data packet received after the predicted receiving time by using the determination result.

[0173] In some optional embodiments, the processor 1002 is further configured to:

[0174] predict the receiving time of N continuous data packets, and in the case that the determination result represents that the N continuous data packets are all received at the predicted receiving time, the feedback strategy of the ACK information corresponding to the data packet received after the predicted receiving time includes a first strategy, N is an integer greater than 1, and in the first strategy, one ACK information is fed back for every K data packets, K is an integer greater than or equal to 2.

[0175] In some optional embodiments, the processor 1002 is further configured to:

[0176] predict a receiving time of N continuous data packets; in a case where a judgment result represents that the N continuous data packets are all received at the predicted receiving time, update a feedback strategy of ACK information corresponding to a data packet received after the predicted receiving time from a first strategy to a second strategy, N is an integer greater than 1, in the first strategy, one ACK information is fed back for every K data packets, K is an integer greater than or equal to 2, in the second strategy, one ACK information is fed back for every J data packets, J is an integer greater than K.

[0177] In some optional embodiments, in a case where the judgment result represents that one data packet participating in prediction is not received at the predicted receiving time, the processor 1002 is further configured to:

[0178] The feedback strategy of ACK information corresponding to the data packet received after the predicted receiving time comprises a third strategy, in the third strategy, one ACK information is fed back for every data packet received.

[0179] In some optional embodiments, the processor 1002 is further configured to:

[0180] update the feedback strategy of ACK information corresponding to the data packet received after the predicted receiving time from the first strategy to the third strategy, in the first strategy, one ACK information is fed back for every K data packets, K is an integer greater than or equal to 2.

[0181] In some optional embodiments, in a case where the judgment result represents that one data packet participating in prediction is not received at the predicted receiving time, the processor 1002 is further configured to:

[0182] in combination with the communication interface 1001, feed back first ACK information; wherein,

[0183] in a case where no new data packet is received after the last feedback of the second ACK information, the first ACK information is the same as the last feedback of the second ACK information;

[0184] or,

[0185] in a case where a new data packet is received after the last feedback of the second ACK information, the first ACK information is associated with the new data packet.

[0186] In some optional embodiments, the processor 1002 is further configured to:

[0187] in combination with the communication interface 1001, feed back the first ACK information when the predicted receiving time arrives;

[0188] or,

[0189] The first ACK information is fed back when a new data packet is received.

[0190] In some optional embodiments, the processor 1002 is further configured to:

[0191] The time of receiving the data packet is predicted according to one or more of the following: the time of last receiving a data packet, the size of the last received data packet, and the last predicted time of receiving.

[0192] In some optional embodiments, the processor 1002 is further configured to:

[0193] The time of receiving the data packet is predicted according to the average data transmission rate in the first time period and the average size of the received data packet in the first time period.

[0194] It should be noted that the specific processing procedures of the processor 1002 and the communication interface 1001 can be understood with reference to the above method.

[0195] Of course, in actual application, various components in the electronic device 1000 are coupled together through the bus system 1004. It can be understood that the bus system 1004 is configured to realize the connection and communication between the components. The bus system 1004 includes not only a data bus, but also a power bus, a control bus and a status signal bus. However, for the purpose of clear illustration, various buses are marked as the bus system 1004 in FIG. 10.

[0196] The memory 1003 in the embodiment of the present application is configured to store various types of data to support the operation of the electronic device 1000. Examples of these data include: any computer programs used for operation on the electronic device 1000.

[0197] The method disclosed in the embodiments of the present application can be applied to the processor 1002 or implemented by the processor 1002. The processor 1002 can be an integrated circuit chip having a signal processing capability. In the implementation process, each step of the above method can be completed by hardware integrated logic circuits or software form instructions in the processor 1002. The processor 1002 can be a general processor, a digital signal processor (DSP), or other programmable logic device, discrete gate or transistor logic device, discrete hardware component, etc. The processor 1002 can implement or execute the methods, steps and logic block diagrams disclosed in the embodiments of the present application. The general processor can be a microprocessor or any conventional processor, etc. In combination with the steps of the method disclosed in the embodiments of the present application, the hardware decoding processor can be directly embodied to execute the steps, or the hardware and software modules in the decoding processor can be combined to execute the steps. The software module can be located in a storage medium, and the storage medium is located in the memory 1003. The processor 1002 reads the information in the memory 1003, and combines the hardware to complete the steps of the above method.

[0198] In the exemplary embodiments, the electronic device 1000 can be implemented by one or more application specific integrated circuits (ASICs), DSPs, programmable logic devices (PLDs), complex programmable logic devices (CPLDs), field programmable gate arrays (FPGAs), general-purpose processors, controllers, microcontrollers (MCUs), microprocessors, or other electronic elements, for executing the above-described methods.

[0199] It can be understood that the memory (the memory 1003) of the embodiments of the present application can be a volatile memory or a non-volatile memory, and can also include both volatile and non-volatile memories. Among them, the non-volatile memory can be a read-only memory (ROM, Read Only Memory), a programmable read-only memory (PROM, Programmable Read-Only Memory), an erasable programmable read-only memory (EPROM, Erasable Programmable Read-Only Memory), an electrically erasable programmable read-only memory (EEPROM, Electrically Erasable Programmable Read-Only Memory), a ferromagnetic random access memory (FRAM, ferromagnetic random access memory), a flash memory (Flash Memory), a magnetic surface memory, an optical disc, or a compact disc read-only memory (CD-ROM, Compact Disc Read-Only Memory); the magnetic surface memory can be a disk memory or a tape memory. The volatile memory can be a random access memory (RAM, Random Access Memory) used as an external cache. By way of example but not limitation, many forms of RAM can be used, such as static random access memory (SRAM, Static Random Access Memory), synchronous static random access memory (SSRAM, Synchronous Static Random Access Memory), dynamic random access memory (DRAM, Dynamic Random Access Memory), synchronous dynamic random access memory (SDRAM, Synchronous Dynamic Random Access Memory), double data rate synchronous dynamic random access memory (DDR SDRAM, Double Data Rate Synchronous Dynamic Random Access Memory), enhanced synchronous dynamic random access memory (ESDRAM, Enhanced Synchronous Dynamic Random Access Memory), synchronous link dynamic random access memory (SLDRAM, SyncLink Dynamic Random Access Memory), direct memory bus random access memory (DRRAM, Direct Rambus Random Access Memory).The memory described in the embodiments of the present application is intended to include, but not limited to, these and any other suitable types of memory.

[0200] In the example embodiments, the embodiments of the present application also provide a storage medium, specifically a computer readable storage medium, for example, the memory 1003 storing a computer program executable by the processor 1002 of the electronic device 1000 to complete the steps of the foregoing method. The computer readable storage medium can be FRAM, ROM, PROM, EPROM, EEPROM, Flash Memory, magnetic surface memory, optical disc, or CD-ROM, etc.

[0201] In the example embodiments, the embodiments of the present application also provide a computer program product including a computer program executable by the processor 1002 of the electronic device 1000 to complete the steps of the foregoing method.

[0202] It should be noted that "first", "second", etc. are used to distinguish similar objects, and do not necessarily mean a specific order or sequence.

[0203] In addition, the technical solutions described in the embodiments of the present application can be combined arbitrarily without conflict.

[0204] The above is only a preferred embodiment of the present application, and is not intended to limit the protection scope of the present application.

Claims

1. A method for determining an ACK information feedback strategy, comprising: predicting a receiving time of a data packet; determining whether the data packet involved in the prediction is received at the predicted receiving time, and obtaining a determination result; determining a feedback strategy of ACK information corresponding to a data packet received after the predicted receiving time, using the determination result.

2. The method of claim 1, wherein, predicting receiving times of N consecutive data packets, wherein the feedback strategy comprises a first strategy when the determination result indicates that the N consecutive data packets are all received at the predicted receiving times, N is an integer greater than 1, and in the first strategy, one ACK information is fed back for every K data packets, K is an integer greater than or equal to 2.

3. The method of claim 1, wherein, predicting receiving times of N consecutive data packets, wherein the feedback strategy is updated from a first strategy to a second strategy when the determination result indicates that the N consecutive data packets are all received at the predicted receiving times, N is an integer greater than 1, in the first strategy, one ACK information is fed back for every K data packets, K is an integer greater than or equal to 2, and in the second strategy, one ACK information is fed back for every J data packets, J is an integer greater than K.

4. The method of claim 1, wherein, the feedback strategy comprises a third strategy when the determination result indicates that one data packet involved in the prediction is not received at the predicted receiving time, and in the third strategy, one ACK information is fed back for every data packet received.

5. The method of claim 4, wherein, the feedback strategy is updated from a first strategy to the third strategy, and in the first strategy, one ACK information is fed back for every K data packets, K is an integer greater than or equal to 2.

6. The method of claim 1, wherein, when the determination result indicates that one data packet involved in the prediction is not received at the predicted receiving time, the method further comprises: feeding back a first ACK information, wherein when no new data packet is received after the last feeding back of a second ACK information, the first ACK information is the same as the last feeding back of the second ACK information; or when a new data packet is received after the last feeding back of the second ACK information, the first ACK information is associated with the new data packet.

7. The method of claim 6, wherein, when the first ACK information is the same as the last feeding back of the second ACK information, a first information is contained in a data packet header of the first ACK information, and the first information is used to indicate that the first ACK information is not associated with a data packet.

8. The method of claim 6, wherein, the feeding back of the first ACK information comprises: feeding back the first ACK information when the predicted receiving time arrives; or feeding back the first ACK information when a new data packet is received.

9. The method according to any one of claims 1 to 8, wherein, the prediction of the receiving time of the data packet comprises: predicting the receiving time of the data packet according to one or more of a last receiving time of a data packet, a last received data packet size, and a last predicted receiving time.

10. The method according to any one of claims 1 to 8, wherein, the prediction of the receiving time of the data packet comprises: predicting the receiving time of the data packet according to an average data transmission rate in a first time period and an average size of data packets received in the first time period.

11. An electronic device comprising: a processor and a memory for storing a computer program capable of running on the processor, The processor is configured to execute the computer program to perform the steps of the method of any one of claims 1 to 10.

12. A storage medium having stored thereon a computer program which, when executed by a processor, implements the steps of the method of any one of claims 1 to 10.

13. A computer program product comprising a computer program which, when executed by a processor, implements the steps of the method of any one of claims 1 to 10.

Citation Information

Patent Citations

  • Multi-path data scheduling method and device and electronic equipment

    CN117041153A

  • ACK information feedback strategy determination method, electronic device, storage medium and computer program product

    CN119182501A

  • Adaptive acknowledgment delay

    US20050204247A1

  • Communication feedback method, user device, and storage medium

    US20220078778A1

  • Data transmission method and apparatus

    US20230188578A1