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

By predicting the data packet reception time and dynamically adjusting the ACK information feedback strategy, the efficiency and reliability of the ACK information feedback strategy in the data express service are solved, and efficient and reliable data transmission is achieved in the data express service scenario.

CN119182501AActive Publication Date: 2024-12-24CHINA MOBILE COMM LTD RES INST +1

Patent Information

Application Number
CN202411081877.8
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-08-07
Publication Date
2024-12-24
Estimated Expiration
2044-08-07

AI Technical Summary

Technical Problem

In the data express service scenario, how to determine an efficient ACK information feedback strategy to ensure the efficiency and reliability of data transmission, especially in the case of uncertainty and high packet loss rate in network transmission, the existing technology has not yet been achieved Effective solution.

Method used

By predicting the reception time of the data packet, we judge whether the reception time is successful, and dynamically adjust the feedback strategy of ACK information based on the evaluation results, including reducing the number of feedback of ACK information when the transmission is stable, or increasing the feedback frequency of ACK information when the transmission is unstable. , discover packet loss or delay in time and perform retransmission.

Benefits of technology

It improves the efficiency and reliability of network transmission, is suitable for scenarios where a large amount of data is transmitted continuously and quickly, reduces the pressure on the sending side to process ACK information, improves resource utilization efficiency, and promptly detects and handles transmission errors.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119182501A_ABST
    Figure CN119182501A_ABST
Patent Text Reader

Abstract

The invention discloses an acknowledgement (ACK) information feedback strategy determination method and device, electronic equipment, a storage medium and a computer program product. The method comprises the following steps: predicting the receiving time of a data packet; judging whether a data packet participating in prediction is received at the predicted receiving time or not, and obtaining a judgment result; and determining a feedback strategy of the ACK information corresponding to the data packet received after the predicted receiving time by using the judgment result.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

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

[0002] In the related art, during data transmission, after receiving a data packet sent by a sending device, a receiving device may feed back ACK information to the sending device to inform the sending device that the data packet has been successfully received.

[0003] With the development of technology, the demand for data transmission is getting higher and higher. Data express services are proposed in related technologies to achieve fast, reliable and secure transmission of large amounts of data.

[0004] However, in the scenario of data express service, data needs to be transmitted continuously and quickly. At this time, there is currently no effective solution for how to determine the ACK information feedback strategy to ensure efficient transmission. Summary of the invention

[0005] To solve related technical problems, embodiments of the present application provide a method for determining an ACK information feedback strategy, an electronic device, a storage medium, and a computer program product.

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

[0007] The present application provides a method for determining an ACK information feedback strategy, including:

[0008] Predict the reception time of data packets;

[0009] Determine whether the data packet involved in the prediction is received at the predicted receiving time, and obtain a determination result;

[0010] The judgment result is used to determine a feedback strategy for ACK information corresponding to a data packet received after the predicted receiving time.

[0011] In the above scheme, the reception time of N consecutive data packets is predicted; when the judgment result indicates that the N consecutive data packets are all received at the predicted reception time, the feedback strategy includes a first strategy, N is an integer greater than 1, and in the first strategy, for each K data packets received, an ACK information is fed back, and K is an integer greater than or equal to 2.

[0012] In the above scheme, the receiving time of N consecutive data packets is predicted; when the judgment result indicates that the N consecutive data packets are all received at the predicted receiving time, the feedback strategy is updated from the first strategy to the second strategy, N is an integer greater than 1, and in the first strategy, an ACK information is fed back for each K data packets received, K is an integer greater than or equal to 2, and in the second strategy, an ACK information is fed back for each J data packets received, and J is an integer greater than K.

[0013] In the above scheme, when the judgment result indicates that a data packet participating in the prediction is not received at the predicted receiving time, the feedback strategy includes a third strategy, in which an ACK information is fed back for each received data packet.

[0014] In the above scheme, the feedback strategy is updated from the first strategy to the third strategy. In the first strategy, an ACK message is fed back every time K data packets are received, where K is an integer greater than or equal to 2.

[0015] In the above solution, when the judgment result indicates that a data packet participating in the prediction is not received at the predicted receiving time, the method further includes:

[0016] Feedback the first ACK information; wherein,

[0017] 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;

[0018] or,

[0019] In the case where a new data packet is received after the second ACK information is fed back last time, the first ACK information is associated with the new data packet.

[0020] In the above solution, when the first ACK information is the same as the second ACK information fed back last time, the data packet header of the first ACK information includes first information, and the first information is used to indicate that the first ACK information is not associated with the data packet.

[0021] In the above solution, the feeding back of the first ACK information includes:

[0022] When the predicted receiving time arrives, feeding back the first ACK information;

[0023] or,

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

[0025] In the above solution, the predicted receiving time of the data packet includes:

[0026] The reception time of the data packet is predicted according to one or more of the time when the data packet was received last time, the size of the data packet received last time, and the reception time predicted last time.

[0027] In the above solution, the predicted receiving time of the data packet includes:

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

[0029] The present application also provides an electronic device, including: a processor and a memory for storing a computer program that can be run on the processor.

[0030] Wherein, the processor is used to execute the steps of any of the above methods when running the computer program.

[0031] An embodiment of the present application further provides a storage medium having a computer program stored thereon, wherein the computer program implements the steps of any of the above methods when executed by a processor.

[0032] An embodiment of the present application also provides a computer program product, including a computer program, which implements the steps of any of the above methods when executed by a processor.

[0033] The ACK information feedback strategy determination method, electronic device, storage medium and computer program product provided in the embodiment of the present application predict the receiving time of the data packet; determine whether the data packet participating in the prediction is received at the predicted receiving time, and obtain the judgment result; use the judgment result to determine the feedback strategy of the ACK information corresponding to the data packet received after the predicted receiving time. The scheme provided in the embodiment of the present application predicts the receiving time of the data packet and determines 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, and 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 indicates that the network transmission is stable, and an ACK information can be fed back after receiving multiple data packets, thereby reducing the number of ACK information feedbacks and ensuring transmission efficiency (that is, improving the utilization efficiency of network transmission resources); or, when the prediction fails, it indicates that there may be problems with the network transmission (such as data packet loss or data packet transmission delay, etc.), and ACK information can be fed back for each data packet, so as to timely find the data packet that has not been successfully received, and retransmit it, thereby ensuring transmission reliability and transmission efficiency, so that it can be applied to scenes such as data express services that require continuous and rapid data transmission. BRIEF DESCRIPTION OF THE DRAWINGS

[0034] Figure 1 A schematic diagram of a network architecture of a data express service in the related art;

[0035] Figure 2 A schematic diagram of a network architecture of another data express service in the related art;

[0036] Figure 3 A schematic diagram of the feedback process of ACK information in data transmission based on the Transmission Control Protocol (TCP);

[0037] Figure 4 A flowchart of a method for determining an ACK information feedback strategy according to an embodiment of the present application;

[0038] Figure 5 This is a schematic diagram of the structure of the TCP header of an embodiment of the present application;

[0039] Figure 6 A flowchart of a method for delaying ACK information feedback based on a receiving device predicting a receiving time is provided as an example of the application of this application;

[0040] Figure 7 A schematic diagram of a process of delaying ACK information feedback for the application example of this application;

[0041] Figure 8 This is a flow chart of another method of delaying ACK information feedback for the application example of this application;

[0042] Fig. 9 This is a schematic diagram of the structure of the device for determining the ACK information feedback strategy according to an embodiment of the present application;

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

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

[0045] 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 large amounts of data. However, the wide area network (WAN) environment is full of uncertainties, such as microburst congestion and transmission problems caused by the operator's traffic shaping strategy, which may cause packet loss rates as high as one thousandth in long-distance data transmission.

[0046] Based on this, a solution for efficiently transmitting large amounts of data has been proposed in the related art, namely, data express service, which supports data transmission from terabyte (TB) level to petabyte (PB) level. Data express service can realize fast, reliable and secure transmission of large amounts of data.

[0047] In actual applications, in order to reduce the cost of building the network architecture of data express services, the network architecture of data express services usually does not completely rely on dedicated lines or private networks for transmission, but can be carried on existing networks, such as cloud private networks used for cloud service transmission. Figure 1 As shown in the figure, the network architecture of the data express service may include a data source, a data express station, a provider network edge (PE) responsible for cloud and data center access, a cloud private network node, a computing center (such as a general 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; wherein the SPN and / or the cloud private network controller may be mounted on an operation platform or deployed independently, and the data express station may also be a data port (DH), such as Figure 2 As shown, DH can provide data storage functions that are more powerful than those of the data express station. DH is connected to the user through the access network, and DHs are connected to each other through the core network. DH can access the cloud private network. In this way, when providing data express service, the user issues a data express task through the operation platform, and the SPN and / or cloud private network controller receives relevant information based on the data express task and automatically allocates resources. The cloud PE receives the data transmitted by the data source, or receives the aggregated data transmitted by the data express station and / or DH, and transmits the data according to the planned data transmission path, such as transmitting it to the corresponding computing center.

[0048] In the related technology, data express service can usually be used to meet the following application requirements: first, the data flow rate is large (which can also be understood as a large throughput requirement), and there is a transmission time limit, such as requiring data to arrive within an hour (that is, the transmission is completed within a few hours), the same day (that is, the transmission is completed within a day), the next day (that is, the transmission is completed within the second day after the start of transmission), etc.; second, the transmission distance is long, and the transmitted data may need to cross the WAN, but the requirement for the transmission time limit (which can also be understood as the requirement for real-time transmission) is relatively low. For example, part of the traffic can be planned for transmission during time periods such as the evening when the network load is low.

[0049] In actual applications, data transmission may experience data transmission errors such as packet loss and disorder. In order to ensure the accuracy and reliability of data transmission, in related technologies, network operators can use the corresponding ACK information feedback mechanism in the transport layer protocol (also understood as the ACK mechanism) to enable the sending end (also understood as the sending side, the sending end, etc.) to know the data reception status of the receiving end (also understood as the receiving side, the receiving end, etc.) and continue to transmit data or retransmit the lost data.

[0050] However, the feedback mechanism of ACK information usually needs to feedback more ACK information. For example, in a data transmission scenario based on TCP, the feedback mechanism of ACK information includes: the receiving end (also understood as the receiving side) feeds back an ACK information to the sending end (also understood as the sending side) for each received data packet (also understood as the data packet corresponding to each message, or the data packet corresponding to each data segment), and the ACK information carries a data packet identifier (also understood as a data packet label) to inform the sending end that all data packets sent before the data packet corresponding to the data packet identifier have been successfully received, and then drive the sending window configured by the sending end to slide forward, so as to control the flow through the sliding window mechanism. However, the above ACK mechanism will cause half of the data packets in the network to be small data packets used to transmit ACK information. A large number of small data packets will increase the pressure of router forwarding and the pressure of the central processing unit (CPU) of the sending end, resulting in large overhead and easy congestion.

[0051] In order to optimize the ACK information feedback mechanism in TCP transmission, a delayed ACK information feedback mechanism is proposed in the related art, which can be expressed as Delayed-ACK in English. Figure 3As shown, in the Delayed-ACK mechanism, one ACK message can be fed back for approximately every two data packets, so that the number of ACK messages fed back can be reduced, thereby reducing the overhead. Specifically, when implementing the Delayed-ACK mechanism, the receiving end needs to configure (specifically, it 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, and starts timing after the clock is started. When the timing reaches the timeout time, the clock is reset, and it is determined whether there is ACK information that needs to be fed back at the receiving end. If there is ACK information that needs to be fed back, the ACK information is fed back; wherein the timeout time of the clock (such as 40ms to 200ms) can be configured in advance; at the same time, the receiving end needs to configure a counter, which is used to record the number of bytes of the message corresponding to the received data packet. When the total number of bytes received exceeds a certain threshold, it is determined that ACK information needs to be fed back, and ACK information is fed back for the received data packet. Thus, by adjusting the threshold and timeout period, the receiving end can feedback ACK information to the sending end after receiving approximately two data packets (ie, the average number of data packets corresponding to the total byte number threshold) or after the clock times out.

[0052] In a non-TCP type of data transmission scenario, such as a data transmission scenario related to the Quick User Datagram Protocol (UDP) network connection (QUIC) technology, the feedback mechanism of the ACK information may include: setting a clock inside the corresponding QUIC program, starting the timing after the clock is started, resetting the timing of the clock when the timing reaches the timeout time, and determining whether there is ACK information that needs to be fed back at the receiving end, and if there is ACK information that needs to be fed back, then feeding back the ACK information; wherein the timeout time of the clock (such as 25ms) can be configured in advance; 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 ACK information is fed back for the received data packets. In this way, by adjusting the threshold and the timeout time, it can be achieved that the receiving end can feed back 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, one ACK information can be fed back for approximately every two data packets. At the same time, in QUIC technology, the sender needs to copy (expressed as copy in English) the received ACK information to the user state through the CPU, and perform context switching and other processing. The CPU has low efficiency and large occupancy, resulting in poor single-machine performance of the sender.

[0053] However, in actual applications, even if the Delayed-ACK mechanism or QUIC technology is used, a large amount of ACK information still needs to be transmitted in the network during data transmission, and ACK information can only be fed back according to a 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 requirement is large. The rate of a single data stream (also called a single stream) can reach the Gigabyte (GB) level or above. A large amount of ACK information will greatly reduce the transmission efficiency.

[0054] Therefore, for scenarios such as data express services that require continuous large-scale data transmission, 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 network transmission is stable while ensuring reliable transmission, thereby reducing the pressure on the sending end to process ACK information and improving the efficiency of network resource utilization.

[0055] Based on this, in various embodiments of the present application, the receiving end can evaluate the transmission status of data in the network by predicting the reception time of the data packet and determining whether the predicted reception time is successful (i.e., whether the data packet is received within the predicted reception time), and dynamically adjust the feedback strategy of ACK information corresponding to subsequent data packets according to the evaluation results. For example, when the prediction is successful, it indicates that the network transmission is stable, and an ACK information can be fed back after each reception of multiple data packets, thereby reducing the number of ACK information feedbacks and ensuring transmission efficiency; or, when the prediction fails, it indicates that there may be problems with the network transmission (such as data packet loss or data packet transmission delay, etc.), and ACK information can be fed back for each data packet, so as to promptly discover the data packets that have not been successfully received and retransmit them, thereby ensuring transmission reliability and transmission efficiency. In this way, it can be suitable for scenarios such as data express services that require continuous and rapid data transmission.

[0056] The present application embodiment provides a method for determining an ACK information feedback strategy, which is applied to an electronic device, such as Figure 4 As shown, the method includes:

[0057] Step 401: predicting the reception time of a data packet;

[0058] Step 402: determining whether a data packet participating in the prediction is received at the predicted receiving time, and obtaining a determination result;

[0059] Step 403: using the judgment result, determine a feedback strategy for ACK information corresponding to the data packet received after the predicted receiving time.

[0060] Here, in actual application, the electronic device may specifically include a device for receiving data packets during data transmission. For example, in a data express scenario, the electronic device may specifically include a data express station, DH, server and other devices. The embodiment of the present application does not limit the name of the electronic device as long as its function is realized.

[0061] In actual application, for services such as data express that require continuous and rapid data packet transmission, the electronic device can be expected to continuously receive a large number of data packets within a period of time. At this time, the electronic device can predict the reception time of the data packet, that is, predict the time interval between the last time the electronic device received a data packet (which can also be understood as the data packet received last time) and the time interval between the electronic device receiving the next data packet (which can also be understood as the next time the data packet is received), and determine whether the data packet involved in the prediction is received within the predicted time interval, and then determine the transmission status of the network based on the judgment result, so as to dynamically adjust the feedback strategy of the ACK information of subsequent data packets based on the transmission status of the network.

[0062] In actual application, in step 401, the electronic device can count (also can be understood as observing or measuring) the average data transmission rate of the received data packets in a time period, and the average size of the received data packets, calculate the average interval time of receiving the data packets in the time period, and predict the reception time of the data packets based on the calculated interval time.

[0063] Based on this, in one embodiment, the specific implementation of step 401 may include:

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

[0065] The first time period may be set according to actual needs, such as a round trip time (RTT), etc., and this embodiment of the present application does not limit this.

[0066] Exemplarily, assuming that the average data transmission rate in the first time period is 1G bits per second (bps), and the average size of the data packets received in the first time period is 1250 bytes, then the average time interval for receiving data packets in the first time period can be calculated to be: (1250*8) / (1*10^9)=10*10^-6, i.e., 10 microseconds (μs), where ^ represents exponentiation. Therefore, considering time redundancy (for example, 10μs), the reception time of the data packet can be predicted to be 20μ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.

[0067] Of course, in actual application, the electronic device can also optimize the last predicted reception time each time a data packet is actually received, using parameters such as the actual reception time of the data packet, the actual size of the data packet, etc., so as to predict the time of receiving the next data packet.

[0068] In order to enable the electronic device to know the actual reception time of the received data packet and determine whether the data packet involved in the prediction is received within the predicted reception 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 reception time of the data packet. Specifically, the electronic device can record the clock time of the system clock as the reception time when each data packet is received; at the same time, the electronic device can use the timer to determine whether the predicted reception time is accurate. Specifically, the electronic device can predict the reception time of the next data packet when each data packet is received, and use the timer for timing. If the electronic device receives the next data packet before the timing time of the timer reaches the predicted reception time, it can be determined that the predicted reception 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 reception time, it can be determined that the predicted reception time is inaccurate, and the timing time of the timer is reset.

[0069] Based on this, in one embodiment, the specific implementation of step 401 may include:

[0070] The reception time of the data packet is predicted based on one or more items (one or more items may also be understood as at least one item) of the time when the data packet was last received, the size of the data packet last received, and the last predicted reception time.

[0071] For example, assuming that the last predicted reception time of the data packet is 20 μs, and the actual reception time corresponding to the predicted data packet is 25 μs, the electronic device may appropriately increase the reception time of the predicted data packet, such as increasing it by 10 μs.

[0072] In actual application, the electronic device can use one or more of the time when the data packet was last received, the size of the data packet received last, and the last predicted reception time, and combine with the adjustment algorithm to predict the reception time of the data packet, that is, optimize the last predicted reception time. Among them, 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 embodiments of the present application.

[0073] After predicting the reception time of the data packet, in step 402, the electronic device can determine whether the prediction is successful; specifically, the electronic device can determine whether the data packet participating in the prediction is received at the predicted reception time based on the actual situation of receiving the data packet within the predicted reception time, obtain the judgment result, and then determine the transmission status of the network based on the judgment result.

[0074] Here, when the judgment result indicates that the data packet participating in the prediction is received at the predicted receiving time, that is, when the reception time predicted by 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 (expressed as delay in English) the feedback of the ACK information corresponding to some data packets, that is, the electronic device can feedback an ACK information for all the received data packets of the preset number after receiving the preset number of data packets, and the ACK information is used to inform the sending end device that all the preset number of data packets are successfully received. In this way, the number of feedbacks of ACK information in the network can be reduced, the transmission efficiency can be guaranteed, and the pressure on the sending end device to process the ACK information can be reduced. Among them, the feedback strategy of the above-mentioned ACK information can also be called Delayed-ACK feedback strategy, and the preset number can also be understood as the number of delay cycles corresponding to the Delayed-ACK feedback strategy. The number of delay cycles refers to how many data packets the electronic device receives (it can also be understood that each cycle corresponds to a data packet, and the time of each cycle is not necessarily the same) and then uniformly feedbacks an ACK information.

[0075] In actual application, the judgment result corresponding to a single data packet may not be able to accurately reflect the network situation. Therefore, the electronic device can predict the receiving time of multiple consecutive data packets. Only when the receiving time of the multiple consecutive data packets is predicted successfully, it is determined to adopt the Delayed-ACK feedback strategy, so as to accurately determine the stability of network transmission.

[0076] Based on this, in one embodiment, the electronic device predicts the receiving time of N consecutive data packets; when the judgment result indicates that the N consecutive data packets are all received at the predicted receiving time, it is determined that the feedback strategy of the ACK information corresponding to the data packet received after the predicted receiving time includes the first strategy, that is, 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 received, and K is an integer greater than or equal to 2.

[0077] Here, in actual application, the values ​​of N and K can be set according to actual needs, and the embodiments of the present application do not limit this.

[0078] In actual application, when the electronic device has adopted the Delayed-ACK feedback strategy to feedback ACK information and the judgment result indicates that the network transmission is stable, the electronic device can adjust the number of delay cycles corresponding to the Delayed-ACK feedback strategy, and further reduce the number of ACK information feedback in the network by increasing the number of delay cycles.

[0079] Based on this, in one embodiment, the receiving time of N consecutive data packets is predicted; when the judgment result indicates that the N consecutive data packets are all received at the predicted receiving time, it is determined that 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 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, for every K data packets received, an ACK information is fed back, K is an integer greater than or equal to 2, and in the second strategy, for every J data packets received, an ACK information is fed back, and J is an integer greater than K.

[0080] At the same time, when the judgment result indicates that the data packet involved in the prediction is not received at the predicted receiving time, that is, when the receiving time predicted by the electronic device does not match the arrival time of the data packet, the electronic device may consider that there may be a problem with the network transmission (such as data packet loss or data packet transmission delay, etc.). At this time, in step 403, the electronic device can feedback ACK information for each data packet, thereby ensuring that the sending end can know the corresponding reception status of each data packet, and timely discover the data packet that has not been successfully received, and retransmit it, thereby ensuring transmission reliability and transmission efficiency.

[0081] Based on this, in one embodiment, when the judgment result indicates that a data packet participating in the prediction is not received at the predicted receiving time, the feedback strategy for determining the 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, in which an ACK information is fed back for each data packet received.

[0082] In actual application, when the electronic device has adopted the Delayed-ACK feedback strategy to feedback ACK information, and the judgment result indicates that there may be problems with network transmission, the electronic device can exit the Delayed-ACK feedback strategy to ensure that the sending device can receive the ACK information corresponding to each data packet in time, and retransmit the data packets that have not been successfully received.

[0083] Based on this, in one embodiment, the feedback strategy for 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, for every K data packets received, one ACK information is fed back, and K is an integer greater than or equal to 2.

[0084] In actual application, when the judgment result indicates that a data packet participating in the prediction is not received at the predicted receiving time, the data packet participating in the prediction may be lost during the transmission process (which can also be understood as lost), or the data packet participating in the prediction may be received by the electronic device later than the predicted receiving time. At this time, the electronic device can feedback ACK information to the sending end device to ensure that the sending end device can be informed of the transmission status of the data packet in a timely manner. Among them, the function of feeding back ACK information can be specifically implemented by the CPU or smart network card in the electronic device, and the embodiment of the present application is not limited to this.

[0085] Based on this, in one embodiment, when the judgment result indicates that a data packet participating in the prediction is not received at the predicted receiving time, the method may further include:

[0086] Feedback the first ACK information.

[0087] The first ACK information indicates that the electronic device has successfully received all previous data packets except the data packet involved in the prediction.

[0088] Specifically, after the electronic device last fed back ACK information, a new data packet was received, and the first ACK information needs to be fed back, and there is delayed (also understood as suppressed) ACK information in the electronic device, that is, the ACK information corresponding to the new data packet has not been 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 previous data packets have been successfully received.

[0089] Based on this, in one embodiment, when a new data packet is received after the second ACK information is fed back last time, the first ACK information is associated with the new data packet.

[0090] Exemplarily, it is assumed that the transmitting 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, and data packet 4 is not received within the predicted receiving time, and the ACK information feedback strategy of the electronic device is to feedback 1 ACK information for every 2 data packets received. The electronic device can delay the feedback of the ACK information corresponding to data packet 1 after receiving data packet 1, and after receiving data packet 2, feedback the ACK information corresponding to data packet 2 (i.e., the second ACK information) to the transmitting end device to inform the transmitting end device that data packet 2 and the data packets before data packet 2 (such as data packet 1) are all successfully received; at the same time, the electronic device can delay the feedback of the ACK information corresponding to data packet 3 after receiving data packet 3 (i.e., the new data packet), 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 use the ACK information corresponding to data packet 3 as the first ACK information, and feedback to the transmitting end to inform the transmitting end that data packet 3 and the data packets before data packet 3 are all successfully received.

[0091] After the electronic device last fed back ACK information, no new data packet was received 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 has 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.

[0092] Based on this, in one embodiment, when 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.

[0093] Exemplarily, based on the above example, it is assumed that both data packet 1 and data packet 2 are 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 feedback the ACK information corresponding to data packet 2 to the transmitting end device, and predict the receiving time of data packet 3. Since data packet 3 is not received within the predicted receiving time, the electronic device does not receive a new data packet after feedback of the ACK information corresponding to data packet 2. At this time, the electronic device can use the ACK information corresponding to data packet 2 as the first ACK information and feedback it to the transmitting end.

[0094] In actual application, the electronic device may 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.

[0095] Based on this, in one embodiment, the feeding back of the first ACK information includes:

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

[0097] Here, in actual application, when the next data packet is not the data packet participating in the prediction, that is, the data packet participating in the prediction may be lost, at this time, the electronic device can determine and feedback the first ACK information according to the situation of receiving the data packet after feeding back the second ACK information. The specific correspondence between the situation of receiving the data packet after feeding back the second ACK information and the first ACK information has been described in detail above.

[0098] In the case that the next data packet is the data packet participating in the prediction, that is, the data packet participating in the 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 the prediction as the first ACK information to inform the sending end that the data packet participating in the prediction and all previous data packets have been successfully received.

[0099] In actual application, the transmitting end device can be configured to retransmit a data packet after the data packet when receiving multiple ACK information corresponding to the same data packet with a confirmation number continuously. That is to say, the transmitting end device determines that the next data packet after the data packet corresponding to the ACK information is lost when receiving a preset number of identical ACK information (which can also be understood as ACK information corresponding to the same data packet, or ACK information with the same confirmation number (specifically, TCP confirmation number, etc.)) continuously, and retransmits the lost data packet. Wherein, the preset number can be set according to actual needs; accordingly, the electronic device can be configured to, for each data packet received after the predicted receiving time, if the data packet is not a data packet participating in the prediction, feedback the ACK information corresponding to the last data packet received before the unreceived data packet to the transmitting end device, until the data packet participating in the prediction retransmitted by the transmitting end device is received. Here, the ACK information corresponding to a data packet means that the confirmation number corresponding to the ACK information (specifically, it can be set in the data packet header corresponding to the ACK information) corresponds to the data packet; at the same time, at least two ACK information being the same means that the confirmation numbers corresponding to at least two ACK information are the same, and other fields (such as option fields, sequence number fields, etc.) of at least two ACK information may be different.

[0100] In order to enable the sending device to promptly discover data packets that have not been successfully received and retransmit them, thereby improving transmission efficiency, the electronic device can feedback the first ACK information when the predicted receiving time arrives. In this way, compared with the electronic device feedbacking the first ACK information when receiving a new data packet, the sending device can retransmit the lost data packet more promptly, and the transmission efficiency is higher.

[0101] Based on this, in one embodiment, the feeding back of the first ACK information includes:

[0102] When the predicted receiving time arrives, the first ACK information is fed back.

[0103] 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 the new data packet received after the second ACK information was fed back last time, 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 second ACK information fed back last time, 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 because the data participating in the prediction does not arrive within the predicted receiving time, so 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 includes VACK information. In this way, the electronic device can send VACK information to enable the sending end device to more clearly know the data packet reception status of the electronic device.

[0104] Based on this, in one embodiment, when the first ACK information is the same as the second ACK information fed back last time, the data packet header of the first ACK information includes first information, and the first information is used to indicate that the first ACK information is not associated with the data packet.

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

[0106] In actual application, when the data packet involved in the prediction is the last data packet of this data transmission task (it can also be understood as the tail data packet), and the data packet is lost, the electronic device can feedback the first ACK information when the predicted receiving time arrives, and feedback 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 promptly determine that the data packet has not been successfully received by the electronic device, and retransmit the data packet, compared with the sending end device waiting for the retransmission timeout (RTO, Retransmission Time Out) to time out before retransmitting the data packet, the transmission efficiency is higher. Among them, the twice predicted receiving time refers to the moment when the clock of the electronic device is reset after the timing reaches the predicted receiving time, and reaches the predicted receiving time again, and the three times predicted receiving time is deduced by analogy.

[0107] In actual application, when the sending end device establishes a connection with the electronic device and is ready to transmit data, the sending end device and the electronic device may negotiate to determine whether to adopt the ACK information feedback strategy determination method provided in the embodiment of the present application. Exemplarily, the sending end device may send a confirmation request message to the electronic device, and the confirmation request message is used to confirm whether the electronic device agrees to adopt the ACK information feedback strategy determination method provided in the embodiment of the present application for data transmission. The electronic device may feedback confirmation request reply information based on actual conditions to inform the sending end device whether it agrees to adopt the ACK information feedback strategy determination method provided in the embodiment of the present application for data transmission; the sending end device may adopt the corresponding method for data transmission based on the received confirmation request reply information. Among them, the embodiment of the present application does not limit the specific names of the confirmation request information and the confirmation request reply information.

[0108] The ACK information feedback strategy determination method provided by the embodiment of the present application predicts the receiving time of a data packet; determines whether the data packet participating in the prediction is received at the predicted receiving time, and obtains a judgment result; and uses the judgment result to determine the feedback strategy of the ACK information corresponding to the data packet received after the predicted receiving time. The scheme provided by the embodiment of the present application predicts the receiving time of the data packet and determines 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, and 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 indicates that the network transmission is stable, and an ACK information can be fed back after receiving multiple data packets, thereby reducing the number of ACK information feedbacks and ensuring transmission efficiency; or, when the prediction fails, it indicates that there may be problems with the network transmission, and ACK information can be fed back for each data packet, so that the data packets that have not been successfully received can be retransmitted in time to ensure transmission reliability and transmission efficiency. In this way, it can be applied to scenarios such as data express services that require continuous and rapid data transmission.

[0109] The present application is described in further detail below in conjunction with application examples.

[0110] This application example provides a data transmission system applied to data express service business, including a receiving device (i.e., the above-mentioned electronic device) and a sending device (i.e., the above-mentioned sending device). The sending device can perform TCP, QUIC and other types of data transmission with the receiving device. The sending device will continuously and quickly transmit a large number of data packets with the receiving device.

[0111] Based on the above system, this application example provides a delayed ACK information feedback method based on the predicted reception time of the receiving device, such as Figure 6 As shown, the method comprises the following steps:

[0112] Step 601: Each time the receiving device receives a data packet, it records the receiving time, starts counting, and predicts the arrival time of the next data packet (that is, predicts the receiving time of the next data packet);

[0113] Here, in actual application, the following assumptions exist between the transmitting device and the receiving device: before step 601, a handshake has been performed between the transmitting device and the receiving device, and a stable data transmission phase has been entered. At this time, the ACK information feedback strategy of the receiving device includes: feeding back an ACK information for every 2 data packets received; wherein, the receiving device is configured with a clock (which can also be understood as a timer, or a timer), and the clock can be used for timing. Specifically, the timing can be started when the receiving device receives a data packet, and when the receiving device receives a new data packet, or the timing time reaches the predicted receiving time, the timing time of the clock is used as the receiving time of the data packet, and the timing is restarted (that is, the timing time of the clock is reset).

[0114] At the same time, in this application example, the feedback strategy corresponding to the receiving device feeding back an ACK message every time it receives X data packets is expressed as a Delayed-ACK(X) strategy, where X is an integer greater than or equal to 2.

[0115] In actual application, the receiving device can predict the arrival time of the next data packet based on information such as the communication rate and the size of the data packet.

[0116] Step 602: The receiving device matches the actual arrival time of the data packet with the predicted arrival time to obtain a matching result;

[0117] Among them, if the receiving device does not receive the data packet within the predicted arrival time (it can also be understood that the data packet does not arrive within the predicted arrival time), the matching result indicates that the prediction failed; if the receiving device receives the data packet within the predicted arrival time (it can also be understood that the data packet arrives within the predicted arrival time), the matching result indicates that the prediction is successful, and the receiving device feeds back the ACK information corresponding to the received data packet according to the Delayed-ACK (2) strategy.

[0118] In actual application, the header of each data packet sent by the sending device contains the serial number corresponding to the data packet (which can also be understood as the sending serial number maintained by the sending device). When the receiving device receives the data packet, it determines that it is necessary to feedback ACK information based on the serial number corresponding to the received data packet, and the confirmation number corresponding to the ACK information, so that when the sending device receives the data packet corresponding to the ACK information, it can use the confirmation number to determine that the receiving device has successfully received the data packet corresponding to the confirmation number and all previous data packets.

[0119] Step 603a: when the matching results corresponding to N consecutive data packets all indicate successful prediction, increase the period of feedback of ACK information by the Delayed-ACK strategy; wherein N is an integer greater than or equal to 2.

[0120] Specifically, 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, it can also be understood as adjusting the number of delay cycles corresponding to the Delayed-ACK (X) strategy from 2 to 3, thereby increasing the feedback cycle of the ACK information, reducing the number of feedbacks of the ACK information, and thus reducing the pressure on the transmitting device to process the ACK information.

[0121] At the same time, after the receiving device adjusts the feedback strategy of the ACK information to the Delayed-ACK (3) strategy, when the matching results corresponding to M consecutive data packets all indicate successful prediction, 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 so on. At the same time, the receiving device can also directly switch the parameters 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. Among them, 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 parameters of the Delayed-ACK (X) strategy can be set according to actual needs. After the parameter reaches the upper limit of the value range, the feedback cycle of the ACK information cannot be increased.

[0122] Step 603b: When the matching result indicates that the prediction fails, the receiving device exits the Delayed-ACK (2) strategy and adjusts the ACK information feedback strategy to feedback the ACK information corresponding to each data packet received;

[0123] In actual application, the receiving device can feedback ACK information to the transmitting device when the predicted arrival time expires to inform the transmitting device that the corresponding data packet has been received. Specifically, if there is delayed ACK information in the receiving device, the receiving device can feedback the delayed ACK information to the transmitting device. If there is no delayed ACK information in the receiving device, the receiving device can feedback VACK information corresponding to the last feedback ACK information to the transmitting device.

[0124] At the same time, the receiving device can feedback ACK information when receiving subsequent data packets. At this time, if the first data packet received by the receiving device after the predicted arrival time is not the data packet participating in the prediction, that is, when the data packets participating in the prediction are lost or out of order, the ACK information is associated with the data packet last received by the receiving device before the prediction fails; if the first data packet received by the receiving device after the predicted arrival time is the data packet participating in the prediction, that is, when the data packet participating in the prediction arrives late, the ACK information is associated with the data packet participating in the prediction.

[0125] For example, Figure 7 As shown in the figure, it is assumed that the feedback strategy of the ACK information adopted by the receiving device is the Delayed-ACK (3) strategy, that is, after the receiving device feeds back ACK10221 (which can also be understood as the ACK information with the confirmation number of 10221), it receives three data packets and then feeds back ACK14601. At the same time, after receiving the data packet of the data segment 14521:18980, the receiving device delays the feedback of ACK18981 (which can also be understood as the ACK information with the confirmation number of 18981) based on the Delayed-ACK (3) strategy, and the receiving device does not receive the data packet of the data segment 18981:20440 within the predicted arrival time. At this time, the receiving device cuts off the predicted arrival time. When the arrival time is over, the Delayed-ACK (3) strategy is exited, and the feedback strategy of the ACK information is changed to feedback the ACK information for each received data packet. At the same time, the receiving device is forced to feedback the ACK information when the predicted arrival time expires. Since the receiving device has the delayed ACK18981 at this time, when the ACK information is forced to be fed back, the delayed ACK18981 is fed back, and after subsequently receiving the data packet of the data segment 20441:21900, it is confirmed that the data packet of the data segment 18981:20440 is lost or out of order, and ACK18981 is fed back multiple times until the receiving device receives the data packet of the data segment 18981:20440 retransmitted by the sending device (such as Figure 7 18981:20400(R) in the figure), the receiving device feeds back ACK information for the received data packet, that is, ACK29201 (which can also be understood as ACK information with confirmation number 29201). The forced feedback of ACK information (which can also be understood as forced ACK information feedback) means that when the predicted arrival time expires, if there is delayed ACK information, the receiving device feeds back the delayed ACK information; if there is no delayed ACK information, a VACK information is constructed based on the last fed back ACK information and the VACK information is fed back.

[0126] If the first data packet received by the receiving device after the predicted arrival time expires is the data packet participating in the prediction, that is, when the data packet participating in the prediction is received later than the predicted arrival time, the receiving device can feedback ACK information for the data packet participating in the prediction when receiving the data packet participating in the prediction (that is, the ACK information is associated with the data packet participating in the prediction), and appropriately adjust the predicted arrival time for the next data packet.

[0127] If the receiving device does not receive other data packets after the predicted arrival time expires, that is, when the data packet involved in the prediction is the tail data packet and the data packet involved in the prediction is lost, the receiving device can restart the clock in the receiving device after the predicted arrival time expires, and feedback VACK information when the subsequent predicted arrival time expires multiple times to inform the sending device that the lost data packet needs to be retransmitted. In this way, the lost data packet can be retransmitted faster. Compared with TCP type transmission, there is no need to wait for the RTO of the timer in the sending device to time out for the lost data packet before transmission, and the transmission efficiency is higher.

[0128] For example, Figure 7 As shown, it is assumed that after receiving the data packet of data segment 37961:39420, the receiving device feeds back ACK39421 (which can also be understood as ACK information with confirmation number 39421) based on the adopted Delayed-ACK(2) strategy, and the receiving device does not receive the data packet of data segment 39421:40880 within the predicted arrival time. At this time, when the predicted arrival time expires, the receiving device exits the Delayed-ACK(2) strategy and changes the ACK information feedback strategy to feed back ACK information for each received data packet and feed back VACK corresponding to ACK39421. The clock in the receiving device restarts timing and feeds back VACK information when the predicted arrival time expires three times in the subsequent period to inform the transmitting device that the data packet of data segment 37961:39420 needs to be retransmitted. After receiving the data packet of data segment 37961:39420 retransmitted by the transmitting device, the receiving device feeds back ACK40881 for the data packet.

[0129] Of course, in actual application, when the predicted arrival time expires, the receiving device may not feedback VACK information, that is, if the data packet participating in the prediction is not received within the predicted arrival time and there is no delayed ACK information in the receiving device, no ACK information feedback is performed; at the same time, when receiving subsequent data packets, the receiving device feedbacks ACK information, and the ACK information is associated with the data packet last received by the receiving device before the prediction fails. At the same time, when the data packet participating in the prediction is a tail data packet and the data packet participating in the prediction is lost, the receiving device may not feedback ACK information after the predicted arrival time expires, and wait for the timer in the transmitting device to time out the RTO of the lost data packet, and then the transmitting device determines to retransmit.

[0130] For example, based on the above example, Figure 8 As shown in the figure, the receiving device does not receive the data packet of the data segment 18981:20440 within the predicted arrival time. At this time, the receiving device exits the Delayed-ACK (3) strategy when the predicted arrival time expires, and changes the ACK information feedback strategy to feedback ACK information for each received data packet, without forcing ACK information feedback. After receiving the data packet of the data segment 20441:21900, the receiving device confirms that the data packet of the data segment 18981:20440 is lost or out of order, and feedbacks ACK18981. That is to say, the receiving device triggers the feedback of ACK information based on the data packet with data segment 20441:21900. Since the sequence number of all the data packets that have been successfully received at this time (which can also be understood as the sequence number that has been received) is 18980, the sequence number of the next data packet to be received is 18981. Therefore, the feedback ACK information is ACK18981; at the same time, when other data packets are received subsequently, the receiving device also feeds back ACK18981 until it receives the data packet with data segment 18981:20440 retransmitted by the sending device. At the same time, the receiving device does not receive the data packet of data segment 39421:40880 within the predicted arrival time, and the receiving device does not force ACK information feedback, and waits for the RTO of the transmitting device for the data packet of data segment 39421:40880 to time out, and then the transmitting device determines and retransmits the data packet of data segment 39421:40880. After receiving the data packet of data segment 37961:39420 retransmitted by the transmitting device, the receiving device feeds back ACK40881 for the data packet. The not forcing ACK information feedback (which can also be understood as not forcing ACK information feedback) means that: when the predicted arrival time expires, if there is delayed ACK information, the receiving device can feedback according to actual needs, or not feedback the delayed ACK information; if there is no delayed ACK information, the receiving device does not feedback any ACK information.

[0131] Step 604b: After the receiving device exits the Delayed-ACK (2) strategy, if the matching results corresponding to N consecutive data packets all indicate successful prediction, the feedback strategy of the ACK information is changed back to the Delayed-ACK (2) strategy.

[0132] The solution provided by the application example of this application is aimed at business scenarios with a large number of data packets and a fast transmission rate, such as data express. The receiving device can use an internal clock to time and predict the arrival of data packets, thereby evaluating the network situation and flexibly adjusting the parameters of the Delayed-ACK(X) strategy according to the network situation. Specifically, the receiving device can adopt a feedback mechanism that transmits less ACK information when the network transmission is stable, such as increasing the parameters of the Delayed-ACK(X) strategy, thereby reducing the number of data packets used to transmit ACK information in the network and reducing the pressure on the transmitting device to process ACK information; at the same time, the receiving device can exit the Delayed-ACK(X) strategy in the event of network anomalies such as data packet loss or disorder, and adopt a feedback strategy that feeds back ACK information for each data packet, notifying the transmitting device to perform corresponding congestion control or retransmit the data packet, thereby ensuring the complete transmission of the data.

[0133] At the same time, for lost data packets, retransmission decisions are made based on the predicted arrival time of the data packets. Compared with the TCP type transmission retransmission scheme based on the RTO timeout of the sending device, data retransmission can be achieved more quickly and transmission efficiency can be improved.

[0134] It should be noted that the solution provided by the application example of the present application can be understood as an enhancement of the feedback mechanism of ACK information in data transmission of types such as TCP and QUIC for the scenario of data express service. Among them, when TCP type transmission is adopted, the ACK feedback mechanism in TCP transmission is associated with the number of bytes transmitted. At the same time, the number of bytes corresponding to each data packet in the scenario of data express service is basically the same, that is, the number of data packets in the data express service scenario is associated with the number of bytes transmitted. Therefore, the number of bytes corresponding to the feedback ACK information in TCP transmission can be adjusted by adjusting the preset number of data packets corresponding to the feedback ACK information. In this way, the solution provided by the application example of the present application can be applicable to TCP type transmission; when QUIC type transmission is adopted, since the ACK feedback mechanism in QUIC transmission is directly associated with the number of data packets, the solution provided by the application example of the present application can be applicable to QUIC type transmission.

[0135] In order to implement the method of the embodiment of the present application, the embodiment of the present application also provides an ACK information feedback strategy determination device, which is set on an electronic device, such as Fig. 9 As shown, the device comprises:

[0136] Prediction unit 901, used to predict the reception time of the data packet;

[0137] The determination unit 902 is used to determine whether the predicted data packet is received at the predicted receiving time, and obtain a determination result; and use the determination result to determine a feedback strategy for ACK information corresponding to the data packet received after the predicted receiving time.

[0138] In one embodiment, the prediction unit 901 is specifically used for:

[0139] Predict the reception time of N consecutive data packets;

[0140] When the judgment result indicates that the N consecutive data packets are all received at the predicted receiving time, the determining unit 902 is configured to:

[0141] The feedback strategy for determining 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 received, and K is an integer greater than or equal to 2.

[0142] In one embodiment, the prediction unit 901 is specifically configured to:

[0143] Predict the reception time of N consecutive data packets;

[0144] When the judgment result indicates that the N consecutive data packets are all received at the predicted receiving time, the determining unit 902 is configured to:

[0145] Determine that the feedback strategy for the ACK information corresponding to the data packet received after the predicted receiving time is updated from the first strategy to the second strategy, where N is an integer greater than 1. In the first strategy, for every K data packets received, an ACK information is fed back, and K is an integer greater than or equal to 2. In the second strategy, for every J data packets received, an ACK information is fed back, and J is an integer greater than K.

[0146] In one embodiment, when the judgment result indicates that a data packet participating in the prediction is not received at the predicted receiving time, the determining unit 902 is configured to:

[0147] The feedback strategy for determining ACK information corresponding to a 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.

[0148] In one embodiment, the determining unit 902 is specifically configured to:

[0149] The feedback strategy for 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 for every K data packets received, where K is an integer greater than or equal to 2.

[0150] In one embodiment, when the judgment result indicates that a data packet participating in the prediction is not received at the predicted receiving time, the ACK information feedback strategy determination device further includes:

[0151] A feedback unit is used to feed back the first ACK information; wherein,

[0152] 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;

[0153] or,

[0154] In the case where a new data packet is received after the second ACK information is fed back last time, the first ACK information is associated with the new data packet.

[0155] In one embodiment, the feedback unit is specifically used to:

[0156] When the predicted receiving time arrives, feeding back the first ACK information;

[0157] or,

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

[0159] In one embodiment, the prediction unit 901 is specifically configured to:

[0160] The reception time of the data packet is predicted according to one or more of the time when the data packet was received last time, the size of the data packet received last time, and the reception time predicted last time.

[0161] In one embodiment, the prediction unit 901 is specifically configured to:

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

[0163] In actual application, the prediction unit 901 and the determination unit 902 may be implemented by a processor in the ACK information feedback strategy determination device, and the feedback unit may be implemented by a processor in the ACK information feedback strategy determination device in combination with a communication interface.

[0164] It should be noted that: the ACK information feedback strategy determination device provided in the above embodiment only uses the division of the above program units as an example when determining the ACK information feedback strategy. In practical applications, the above processing can be assigned to different program units as needed, that is, the internal structure of the device is divided into different program units to complete all or part of the processing described above. In addition, the ACK information feedback strategy determination device provided in the above embodiment and the ACK information feedback strategy determination method embodiment belong to the same concept. The specific implementation process is detailed in the method embodiment and will not be repeated here.

[0165] Based on the hardware implementation of the above program modules, and in order to implement the method of the embodiment of the present application, the embodiment of the present application also provides an electronic device, such as Fig.10 As shown, the electronic device 1000 includes:

[0166] Communication interface 1001, capable of exchanging information with other devices;

[0167] The processor 1002 is connected to the communication interface 1001 to implement information interaction with other devices, and is used to execute the method provided by one or more of the above technical solutions when running the computer program;

[0168] The computer program is stored in the memory 1003 .

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

[0170] Predicting a reception time of a data packet; determining whether a data packet participating in the prediction is received at the predicted reception time to obtain a determination result; and using the determination result to determine a feedback strategy for ACK information corresponding to a data packet received after the predicted reception time.

[0171] In one embodiment, the processor 1002 is specifically configured to:

[0172] Predicting the receiving time of N consecutive data packets; when the judgment result indicates that the N consecutive data packets are all received at the predicted receiving time, determining the feedback strategy of 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, for each K data packets received, one ACK information is fed back, and K is an integer greater than or equal to 2.

[0173] In one embodiment, the processor 1002 is specifically configured to:

[0174] Predicting the receiving time of N consecutive data packets; when the judgment result indicates that the N consecutive data packets are all received at the predicted receiving time, determining that 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 second strategy, N is an integer greater than 1, in the first strategy, every time K data packets are received, an ACK information is fed back, K is an integer greater than or equal to 2, and in the second strategy, every time J data packets are received, an ACK information is fed back, and J is an integer greater than K.

[0175] In one embodiment, when the judgment result indicates that a data packet participating in the prediction is not received at the predicted receiving time, the processor 1002 is specifically configured to:

[0176] The feedback strategy for determining ACK information corresponding to a 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.

[0177] In one embodiment, the processor 1002 is specifically configured to:

[0178] The feedback strategy for 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 for every K data packets received, where K is an integer greater than or equal to 2.

[0179] In one embodiment, when the judgment result indicates that a data packet participating in the prediction is not received at the predicted receiving time, the processor 1002 is further configured to:

[0180] In combination with the communication interface 1001, the first ACK information is fed back; wherein,

[0181] 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;

[0182] or,

[0183] In the case where a new data packet is received after the second ACK information is fed back last time, the first ACK information is associated with the new data packet.

[0184] In one embodiment, the processor 1002 is specifically configured to:

[0185] In conjunction with the communication interface 1001, when the predicted receiving time arrives, feeding back the first ACK information;

[0186] or,

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

[0188] In one embodiment, the processor 1002 is specifically configured to:

[0189] The reception time of the data packet is predicted according to one or more of the time when the data packet was received last time, the size of the data packet received last time, and the reception time predicted last time.

[0190] In one embodiment, the processor 1002 is specifically configured to:

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

[0192] It should be noted that the specific processing process of the processor 1002 and the communication interface 1001 can be understood by referring to the above method.

[0193] Of course, in actual application, the 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 used to realize the connection and communication between these components. In addition to the data bus, the bus system 1004 also includes a power bus, a control bus, and a status signal bus. However, for the sake of clarity, Fig.10 Various buses are labeled as bus system 1004 .

[0194] The memory 1003 in the embodiment of the present application is used to store various types of data to support the operation of the electronic device 1000. Examples of such data include: any computer program used to operate on the electronic device 1000.

[0195] The method disclosed in the above embodiment of the present application can be applied to the processor 1002, or implemented by the processor 1002. The processor 1002 may be an integrated circuit chip with signal processing capabilities. In the implementation process, each step of the above method can be completed by an integrated logic circuit of the hardware in the processor 1002 or an instruction in the form of software. The above-mentioned processor 1002 may be a general-purpose processor, a digital signal processor (DSP, DigitalSignal Processor), or other programmable logic devices, discrete gates or transistor logic devices, discrete hardware components, etc. The processor 1002 can implement or execute the methods, steps and logic block diagrams disclosed in the embodiments of the present application. A general-purpose processor may be a microprocessor or any conventional processor, etc. In combination with the steps of the method disclosed in the embodiment of the present application, it can be directly embodied as a hardware decoding processor to execute, or it can be executed by a combination of hardware and software modules in the decoding processor. The software module may be located in a storage medium, which is located in the memory 1003, and the processor 1002 reads the information in the memory 1003 and completes the steps of the above method in combination with its hardware.

[0196] In an exemplary embodiment, the electronic device 1000 can be implemented by one or more application specific integrated circuits (ASIC), DSP, programmable logic device (PLD), complex programmable logic device (CPLD), field programmable gate array (FPGA), general processor, controller, microcontroller (MCU), microprocessor, or other electronic components to execute the aforementioned method.

[0197] It can be understood that the memory (memory 1003) of the embodiment 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), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), a magnetic random access memory (FRAM), a ferromagnetic random access memory, a flash memory, a magnetic surface memory, an optical disc, or a compact disc read-only memory (CD-ROM); the magnetic surface memory can be a disk memory or a tape memory. The volatile memory can be a random access memory (RAM), which is used as an external cache. By way of example and not limitation, many forms of RAM are available, such as static random access memory (SRAM), synchronous static random access memory (SSRAM), dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), double data rate synchronous dynamic random access memory (DDRSDRAM), enhanced synchronous dynamic random access memory (ESDRAM), synchronous link dynamic random access memory (SLDRAM, SyncLink Dynamic Random Access Memory), and direct RAMbus random access memory (DRRAM, Direct Rambus Random Access Memory).The memories described in the embodiments of the present application are intended to include, but are not limited to, these and any other suitable types of memories.

[0198] In an exemplary embodiment, the present application also provides a storage medium, namely a computer storage medium, specifically a computer-readable storage medium, for example, including a memory 1003 storing a computer program, and the computer program can be executed by a processor 1002 of an electronic device 1000 to complete the steps of the aforementioned method. The computer-readable storage medium can be a memory such as FRAM, ROM, PROM, EPROM, EEPROM, Flash Memory, magnetic surface storage, optical disk, or CD-ROM.

[0199] In an exemplary embodiment, the embodiment of the present application further provides a computer program product, including a computer program, and the above-mentioned computer program can be executed by the processor 1002 of the electronic device 1000 to complete the steps of the above-mentioned method.

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

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

[0202] The above description 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, characterized in that: include: Predict the reception time of data packets; Determine whether the data packet involved in the prediction is received at the predicted receiving time, and obtain a determination result; The judgment result is used to determine a feedback strategy for ACK information corresponding to a data packet received after the predicted receiving time.

2. The method according to claim 1, characterized in that: Predicting the receiving time of N consecutive data packets; when the judgment result indicates that the N consecutive data packets are received at the predicted receiving time, the feedback strategy includes a first strategy, N is an integer greater than 1, and in the first strategy, for each K data packets received, an ACK information is fed back, and K is an integer greater than or equal to 2.

3. The method according to claim 1, characterized in that Predicting the receiving time of N consecutive data packets; when the judgment result indicates that the N consecutive data packets are all received at the predicted receiving time, the feedback strategy is updated from the first strategy to the second strategy, N is an integer greater than 1, and in the first strategy, an ACK message is fed back for every K data packets received, K is an integer greater than or equal to 2, and in the second strategy, an ACK message is fed back for every J data packets received, and J is an integer greater than K.

4. The method according to claim 1, characterized in that: In the case where the judgment result indicates that a data packet participating in the prediction is not received at the predicted receiving time, the feedback strategy includes a third strategy, in which an ACK information is fed back for each received data packet.

5. The method according to claim 4, characterized in that The feedback strategy is updated from the first strategy to the third strategy. In the first strategy, an ACK message is fed back every time K data packets are received, where K is an integer greater than or equal to 2.

6. The method according to claim 1, characterized in that In the case where the judgment result indicates that a data packet involved in the prediction is not received at the predicted reception time, the method further includes: Feedback the first ACK information; wherein, 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; or, In the case where a new data packet is received after the second ACK information is fed back last time, the first ACK information is associated with the new data packet.

7. The method according to claim 6, characterized in that In the case that the first ACK information is the same as the second ACK information fed back last time, the data packet header of the first ACK information includes first information, where the first information is used to indicate that the first ACK information is not associated with the data packet.

8. The method according to claim 6, characterized in that The feeding back first ACK information includes: When the predicted receiving time arrives, feeding back the first ACK information; or, When a new data packet is received, the first ACK information is fed back.

9. The method according to any one of claims 1 to 8, characterized in that: The predicted receiving time of the data packet includes: The reception time of the data packet is predicted according to one or more of the time when the data packet was received last time, the size of the data packet received last time, and the reception time predicted last time.

10. The method according to any one of claims 1 to 8, characterized in that: The predicted receiving time of the data packet includes: The reception time of the data packet is predicted according to the average data transmission rate in the first time period and the average size of the data packets received in the first time period.

11. An electronic device, characterized in that: include: a processor and a memory for storing a computer program capable of being executed on the processor, Wherein, when the processor is used to run the computer program, it executes the steps of the method described in any one of claims 1 to 10.

12. A storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 10 are implemented.

13. A computer program product, comprising a computer program, characterized in that When the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 10 are implemented.

Citation Information

Patent Citations

  • Method and equipment for transmitting data resource

    CN102685204A

  • Method and apparatus for transmitting acknowledgements in response to received frames

    CN112291045A

  • Data transmission method, device and system, terminal equipment and storage medium

    CN112771821A

  • Information processing method and device, electronic equipment and computer readable medium

    CN115934375A

  • Communication instruction sending method, electronic equipment, medical system and related products

    CN116781229A

Cited By

  • Dynamic optimization equipment response method based on local area network in network distribution process

    CN119946663A

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

    WO2026032342A1