WO2019210509A1 - Acknowledgment message sending method and apparatus - Google Patents

Acknowledgment message sending method and apparatus Download PDF

Info

Publication number
WO2019210509A1
WO2019210509A1 PCT/CN2018/085610 CN2018085610W WO2019210509A1 WO 2019210509 A1 WO2019210509 A1 WO 2019210509A1 CN 2018085610 W CN2018085610 W CN 2018085610W WO 2019210509 A1 WO2019210509 A1 WO 2019210509A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
amount
server
message
value
Prior art date
Application number
PCT/CN2018/085610
Other languages
French (fr)
Chinese (zh)
Inventor
杨力
蒋成龙
郑小金
林捷
Original Assignee
华为技术有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 华为技术有限公司 filed Critical 华为技术有限公司
Priority to PCT/CN2018/085610 priority Critical patent/WO2019210509A1/en
Publication of WO2019210509A1 publication Critical patent/WO2019210509A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 

Definitions

  • the present application relates to the field of wireless communications, and in particular, to a method and an apparatus for transmitting a confirmation message.
  • the server may send a data packet to the terminal.
  • the terminal may generate an acknowledgement packet corresponding to the data packet and return it to the server.
  • the server receives the acknowledgement packet.
  • the number of subsequent data packets can be controlled according to the value of the advertised receive window (AWND) in the acknowledgment message.
  • AWND advertised receive window
  • the wireless communication between the server and the terminal is implemented by the proxy device.
  • the proxy device After receiving the acknowledgement packet sent by the terminal, the proxy device first determines that the cache is currently unoccupied. The amount of data that can be stored, and then determining the smaller one of the AWND value in the acknowledgement message and the maximum amount of data that can be stored in the currently unoccupied space in the cache as a new AWND value, and then reporting the acknowledgement The AWND value in the text is replaced with the new AWND value, and the confirmation message is finally sent to the server.
  • the unoccupied space in the cache of the proxy device changes in real time. Therefore, the above determines the new AWND value based only on the amount of data that can be stored in the cache space of the proxy device that is currently unoccupied, which may result in the determination.
  • the new AWND value is inaccurate, which may cause the data packets sent by the server to be congested in the proxy device's cache, causing buffer overflow packet loss and throughput suppression.
  • the application provides a method and a device for sending a confirmation message, which can solve the problem of buffer overflow packet loss and throughput suppression of the proxy device in the related art.
  • the technical solution is as follows:
  • a method for sending a confirmation message which is applied to a proxy device, and the method includes:
  • the first data quantity is a congestion window (CWND) value updated by the server after receiving the confirmation message
  • the second data quantity Is the amount of data that the server has sent but has not been acknowledged by the terminal
  • the target data amount is the amount of data that can be stored in the cache of the proxy device during the target period of the acknowledgement message
  • the target data amount is the amount of data that the proxy device can store in the cache of the proxy device in the target period of the acknowledgement message
  • the AWND in the first data amount and the acknowledgement packet When the minimum value of the value is greater than the sum of the target data amount and the second data amount, the AWND value in the confirmation message is replaced with the sum of the target data amount and the second data amount, which can control the amount of data subsequently sent by the server, and ensure The amount of data sent by the server is not congested in the cache of the proxy device, and the stability of the cache queue is maintained, thereby effectively preventing packet loss and improving data throughput.
  • the proxy device can not only forward data between one server and one terminal, but also perform data forwarding between multiple servers and multiple terminals.
  • the data forwarding used in the proxy device is the same cache, and the server is the server cluster composed of the plurality of servers, and the terminal is the terminal cluster composed of the plurality of terminals, and then the acknowledge packet is passed.
  • the sending method can ensure that data forwarding between the multiple servers and the multiple terminals does not cause congestion and packet loss, so that the data throughput rate between the multiple servers and the multiple terminals can be effectively maintained.
  • the obtaining the first amount of data includes:
  • the proxy device may firstly use the server according to the server.
  • the type of the congestion control algorithm is configured to determine the congestion control state of the server when the history message confirmation information and the message confirmation information carried in the acknowledgement message are received, and then the current CWND value of the server is performed according to the congestion control state of the server. Update to get the first amount of data.
  • the process of the first data volume is obtained by the proxy device, that is, the proxy device simulates the process of performing congestion control by the server according to the congestion control algorithm type configured by the server and the received packet confirmation information, so that the proxy device can accurately The CWND value updated by the server after receiving the acknowledgement message is predicted.
  • the obtaining the second amount of data includes:
  • the sending window value of the server is the total data amount of all data packets that the server has sent and the server has not received the corresponding acknowledgement message.
  • the current CWND value of the server and the AWND value of the last acknowledgment message sent by the proxy device to the server may be obtained, and the current CWND value of the server and the AWND value of the previous acknowledgment message are obtained.
  • the smaller of the values is determined as the current send window value of the server.
  • the obtaining the target data amount includes:
  • the third data amount is an amount of data that can be stored in a space that is not occupied in the cache
  • the fourth data amount is the proxy device
  • the amount of data that can be sent to the terminal during the target period of the acknowledgement message, the fifth amount of data being the amount of data that the server has currently sent but not yet received by the proxy device;
  • An amount of data less than or equal to the first value is determined as the target amount of data.
  • the first value when the amount of data less than or equal to the first value is determined as the target data amount, the first value may be determined as the target data amount, or any value smaller than the first value may be determined as the target data amount. This embodiment of the present application does not limit this.
  • the process of determining, by the proxy device, the target data amount that is, the amount of data that the proxy device refers to the proxy device currently buffering the available space, leaving the proxy device within the target period of the acknowledgement packet, and the amount of data reaching the proxy device.
  • the target data amount that is, the amount of data that the proxy device refers to the proxy device currently buffering the available space, leaving the proxy device within the target period of the acknowledgement packet, and the amount of data reaching the proxy device.
  • the obtaining the third amount of data includes:
  • the third value is subtracted from the amount of data currently stored in the cache of the proxy device to obtain the third amount of data.
  • the loopback delay between the server and the terminal is the length of time between when the server sends a certain data packet to the terminal and the time when the server receives the acknowledgement packet corresponding to the data packet sent by the terminal. .
  • the obtaining the fourth data amount includes:
  • the fourth data amount is obtained by multiplying the air interface rate by the duration of the target period of the acknowledgement message.
  • the air interface rate of the proxy device is the amount of data that the downlink air interface of the proxy device can transmit in a unit time.
  • the target period of the acknowledgement message is a period of time between when the proxy device sends the acknowledgement packet to the server and when the first data packet sent by the server after receiving the acknowledgement packet is received by the proxy device.
  • the duration of the target period for obtaining the acknowledgement packet includes:
  • the duration of the historical target period is a duration between the first time and the second time of the historical confirmation message, where the first time is that the proxy device sends the history confirmation to the server The time of the message, the second time is a time when the first data message sent by the server after receiving the history confirmation message is received by the proxy device;
  • the weighted average of the history target period duration may be determined as the duration of the target period of the acknowledgement message.
  • the obtaining the fifth data amount includes:
  • the second data packet is a data packet sent by the server that is confirmed by the last acknowledgement message sent by the proxy device to the server;
  • the server can actively inform the proxy device of the amount of data that the server has currently sent, or the proxy device can start tracking and estimating the amount of data that the server has sent when the server establishes a wireless connection with the terminal.
  • the proxy device when the proxy device acquires the fifth data volume, it may first obtain the amount of data that the server has currently sent, determine the amount of data sent by the server that the proxy device has received, and then the amount of data that the server has currently sent. The amount of data sent by the server that the proxy device has received has been subtracted to obtain a fifth amount of data.
  • a acknowledgment message transmitting apparatus having a function of implementing the behavior of the acknowledgment message transmitting method in the first aspect.
  • the acknowledgment message sending device includes at least one module, and the at least one module is configured to implement the acknowledgment message sending method provided by the foregoing first aspect.
  • a acknowledgment message transmitting apparatus comprising a processor and a memory, wherein the memory is used for storing a support acknowledgment message transmitting apparatus to perform the foregoing first aspect A program for confirming a message transmission method, and storing data related to the method for transmitting the confirmation message described in the first aspect above.
  • the processor is configured to execute a program stored in the memory.
  • the acknowledgment message transmitting apparatus may further include a communication bus for establishing a connection between the processor and the memory.
  • a computer readable storage medium is provided, the instructions being stored in the computer readable storage medium, when executed on a computer, causing the computer to perform the method of transmitting the confirmation message described in the first aspect above.
  • a computer program product comprising instructions for causing a computer to perform the method of transmitting a confirmation message as described in the first aspect above when provided on a computer.
  • the first data volume is a CWND value updated by the server after receiving the acknowledgement packet, where the second data volume is the current server.
  • the amount of data that has been transmitted but not yet acknowledged by the terminal the amount of data being the amount of data that can be stored in the cache of the proxy device during the target period of the acknowledgement message.
  • the AWND value in the confirmation message is determined. If the first data amount and the minimum value of the AWND value in the acknowledgement message are greater than the sum of the target data amount and the second data amount, first replacing the AWND value in the acknowledgement message with the target data amount and the second data. The sum of the quantities is sent to the server.
  • the target data amount is the amount of data that the proxy device can store in the buffer of the proxy device during the target period of the acknowledgement message
  • the minimum value in the first data amount and the AWND value in the acknowledgement packet is greater than the target.
  • the AWND value in the confirmation message is replaced by the sum of the target data amount and the second data amount, which can control the amount of data sent by the server and ensure that the amount of data sent by the server is Congestion does not occur in the cache of the proxy device, and the stability of the cache queue is maintained, thereby effectively preventing packet loss and improving data throughput.
  • FIG. 1 is a schematic structural diagram of an implementation environment provided by an embodiment of the present application.
  • FIG. 2 is a schematic structural diagram of a computer device according to an embodiment of the present application.
  • FIG. 3 is a flowchart of a method for sending a confirmation message according to an embodiment of the present application
  • FIG. 4 is a schematic structural diagram of an apparatus for sending a confirmation message according to an embodiment of the present application.
  • FIG. 1 is a schematic structural diagram of an implementation environment provided by an embodiment of the present application.
  • the implementation environment may include a terminal 101, a proxy device 102, and a server 103.
  • the terminal 101 and the proxy device 102 can be wirelessly connected, and the proxy device 102 and the server 103 can also be wirelessly connected.
  • the wireless connection can be a Transmission Control Protocol (TCP) connection or the like.
  • TCP Transmission Control Protocol
  • the server 103 can send the data message to the proxy device 102.
  • the proxy device 102 can send the data packet to the terminal 101.
  • the terminal 101 may generate an acknowledgement packet corresponding to the data packet, and send the acknowledgement packet to the proxy device 102.
  • the proxy device 102 may send the acknowledgement packet to the server 103.
  • the proxy device 102 can be a TCP transparent proxy, etc., and the proxy device 102 can be set in a base station (such as an eNodeB, etc.), a core network gateway (such as a packet gateway UGW, etc.), a fixed network gateway, and the like, in a radio access network (Radio). In the Access Network, RAN), the proxy device 102 can also be placed in a centralized unit (CU) of the RAN.
  • the proxy device 102 can implement the acknowledgement packet sending method provided in the embodiment of FIG. 3 below through the board of the Packet Data Convergence Protocol (PDCP) layer.
  • PDCP Packet Data Convergence Protocol
  • FIG. 2 is a schematic structural diagram of a computer device according to an embodiment of the present application.
  • the computer device may be the proxy device 102 shown in FIG. 1.
  • the computer device includes at least one processor 201, a communication bus 202, a memory 203, and at least one communication interface 204.
  • the processor 201 can be a general purpose central processing unit (CPU), a microprocessor, an application-specific integrated circuit (ASIC), or one or more for controlling the execution of the program of the present application. integrated circuit.
  • CPU general purpose central processing unit
  • ASIC application-specific integrated circuit
  • Communication bus 202 can include a path for communicating information between the components described above.
  • the memory 203 can be a read-only memory (ROM) or other type of static storage device that can store static information and instructions, a random access memory (RAM) or other type that can store information and instructions.
  • the dynamic storage device can also be an Electrically Erasable Programmable Read-Only Memory (EEPROM), a Compact Disc Read-Only Memory (CD-ROM) or other optical disc storage, and a disc storage device. (including compact discs, laser discs, optical discs, digital versatile discs, Blu-ray discs, etc.), magnetic disk storage media or other magnetic storage devices, or can be used to carry or store desired program code in the form of instructions or data structures and can be Any other medium accessed, but is not limited to this.
  • Memory 203 may be present independently and coupled to processor 201 via communication bus 202.
  • the memory 203 can also be integrated with the processor 201.
  • the communication interface 204 uses a device such as any transceiver for communicating with other devices or communication networks, such as Ethernet, Radio Access Network (RAN), Wireless Local Area Networks (WLAN), etc. .
  • a device such as any transceiver for communicating with other devices or communication networks, such as Ethernet, Radio Access Network (RAN), Wireless Local Area Networks (WLAN), etc. .
  • RAN Radio Access Network
  • WLAN Wireless Local Area Networks
  • processor 201 may include one or more CPUs, such as CPU0 and CPU1 shown in FIG.
  • a computer device can include multiple processors, such as processor 201 and processor 205 shown in FIG. Each of these processors can be a single core processor (CPU) or a multi-core processor (multi-CPU).
  • processors herein may refer to one or more devices, circuits, and/or processing cores for processing data, such as computer program instructions.
  • the memory 203 is configured to store the program code 210 for executing the solution of the present application, and the processor 201 is configured to execute the program code 210 stored in the memory 203.
  • the computer device can implement the acknowledgement message sending method provided in the embodiment of FIG. 3 below by using the processor 201 and the program code 210 in the memory 203.
  • FIG. 3 is a flowchart of a method for sending a confirmation message according to an embodiment of the present application, where the method is applied to a proxy device.
  • the method includes:
  • Step 301 Receive an acknowledgement message sent by the terminal.
  • the acknowledgement message may be an acknowledgement (ACK) message or the like.
  • the acknowledgement message is used to confirm that the first data packet sent by the server has been received, that is, the first data packet is the data packet sent by the server that is confirmed by the acknowledgement packet, in other words, the terminal receives the server.
  • the acknowledgement packet corresponding to the first data packet may be generated and sent to the proxy device.
  • the acknowledgment message may carry the message acknowledgment information, and the message acknowledgment information carried in the acknowledgment message is used to indicate the last data packets received by the terminal in sequence when the acknowledgment message is sent, and the last few The data packet is the first data packet acknowledged by the acknowledgement message.
  • Step 302 Acquire a first data amount, a second data amount, and a target data amount.
  • the first data amount is a CWND value updated by the server after receiving the acknowledgement message
  • the second data volume is the amount of data that the server has sent but has not been acknowledged by the terminal
  • the target data volume is in the The amount of data that can be stored in the cache of the proxy device during the target period of the acknowledgement message.
  • the operation of obtaining the first data amount may be: obtaining the history message confirmation information and the message confirmation information carried in the confirmation message; obtaining the congestion control algorithm type configured by the server and the current CWND value of the server; and confirming according to the historical message
  • the information, the message confirmation information carried in the confirmation message, the congestion control algorithm type configured by the server, and the current CWND value of the server acquire the first data amount.
  • the historical message confirmation information is the message confirmation information carried in the confirmation message that the proxy device has sent to the server, and the historical message confirmation information may be stored in a confirmation information list.
  • the proxy device may update the historical message confirmation information. If the proxy device sends an acknowledgement packet to the server, the packet acknowledgement information carried in the acknowledgement packet may be added to the history packet acknowledgement information, and the proxy After receiving the first data packet sent by the server after receiving the acknowledgement packet, the device may delete the packet acknowledgement information carried in the acknowledgement packet from the history packet acknowledgement information.
  • the type of congestion control algorithm configured by the server may indicate the principle of the congestion control algorithm of the server.
  • the type of congestion control algorithm configured by the server may be TCP-Tahoe, TCP-Reno, TCP-Cubic, Compoud-TCP, and the like.
  • the CWND value of the server is a manually introduced variable, used for congestion control, and can be updated according to the status of sending and receiving data packets.
  • the server may actively notify the proxy device, or the proxy device may establish a wireless connection between the server and the terminal (such as performing TCP networking).
  • the tracking and estimation are started, and the embodiment of the present application does not limit this.
  • the agent device may first perform congestion according to the server configuration according to the historical message confirmation information, the message confirmation information carried in the confirmation message, the type of the congestion control algorithm configured by the server, and the current CWND value of the server. Controlling the type of the algorithm, determining the congestion control state of the server when the historical message confirmation information and the message confirmation information carried by the confirmation message are received, and then updating the current CWND value of the server according to the congestion control state of the server, The first amount of data.
  • the process of the first data volume is obtained by the proxy device, that is, the proxy device simulates the process of the server performing congestion control according to the type of the congestion control algorithm configured by the server and the received packet acknowledgement information, so that the proxy device can accurately predict the process.
  • the CWND value that the server updates after receiving the confirmation message.
  • the operation of obtaining the second data amount may be: obtaining the current sending window value of the server; and subtracting the data amount of the first data packet from the current sending window value of the server to obtain the second data amount.
  • the sending window value of the server is the total data amount of all data packets that the server has sent and the server has not received the corresponding acknowledgement message.
  • the server may actively notify the proxy device when obtaining the current sending window value of the server; or, the proxy device may obtain the current CWND value of the server and the AWND value in the last acknowledgement packet sent by the proxy device to the server, according to The current CWND value of the server and the AWND value in the last acknowledgement message sent by the proxy device to the server determine the current send window value of the server.
  • the AWND value in an acknowledgement packet is the amount of data that the terminal can store in the available space when the acknowledgement packet is sent.
  • the AWND value in the last acknowledgement packet sent by the proxy device to the server is The amount of data that the terminal can store when the last acknowledgment message is sent.
  • the last acknowledgement message is used to confirm that the second data packet sent by the server has been received, that is, the second data packet is the data packet sent by the server that is confirmed by the previous acknowledgement message, and the sentence is replaced.
  • the terminal may generate the previous acknowledgement packet corresponding to the second data packet to send to the proxy device.
  • the current CWND value of the server and the AWND value in the last acknowledgement message sent by the proxy device to the server when determining the current sending window value of the server, the current CWND value of the server and the previous acknowledgement message may be used.
  • the smaller of the AWND values is determined to be the server's current send window value.
  • the operation of obtaining the target data amount may be: acquiring the third data amount, the fourth data amount, and the fifth data amount; adding the third data amount to the fourth data amount and subtracting the fifth data amount to obtain the first value.
  • the amount of data less than or equal to the first value is determined as the target amount of data.
  • the third data amount is the amount of data that can be stored in the current unoccupied space in the cache of the proxy device
  • the fourth data amount is the amount of data that the proxy device can send to the terminal in the target period of the acknowledgement packet.
  • the fifth data amount is the amount of data that the server has currently sent but the proxy device has not received.
  • the first value when the amount of data less than or equal to the first value is determined as the target data amount, the first value may be determined as the target data amount, or any value smaller than the first value may be determined as the target data amount, which is implemented by the present application. This example does not limit this.
  • the process of determining the target data amount by the proxy device is that the proxy device refers to the current cache space of the proxy device, the amount of data leaving the proxy device within the target period of the acknowledgement message, and the amount of data reaching the proxy device.
  • the amount of data that can be stored in the cache that is not occupied in the cache of the proxy device can be determined as the third data amount.
  • the loopback delay between the server and the terminal may be obtained; when the loopback delay is less than or equal to the preset delay, the maximum amount of data that can be stored in the cached space of the proxy device is determined as The third data amount; when the loopback delay is greater than the preset delay, the preset delay is divided by the loopback delay to obtain a second value, and the maximum amount of data that can be stored in the proxy device's cache is multiplied by The second value obtains the third value, obtains the amount of data currently stored in the cache of the proxy device, and subtracts the amount of data currently stored in the cache of the proxy device from the third value to obtain a third amount of data.
  • the loopback delay between the server and the terminal is the length of time between when the server sends a certain data packet to the terminal and the time when the server receives the acknowledgement packet corresponding to the data packet sent by the terminal. .
  • the preset delay may be set in advance, for example, the preset delay may be set according to the service requirement, which is not limited by the embodiment of the present application.
  • the air interface rate of the proxy device is the amount of data that the downlink air interface of the proxy device can transmit in a unit time.
  • the target period of the acknowledgement message is a period of time between when the proxy device sends the acknowledgement packet to the server and when the first data packet sent by the server after receiving the acknowledgement packet is received by the proxy device.
  • the duration of the target period of the acknowledgement packet When the duration of the target period of the acknowledgement packet is obtained, the duration of the history target period may be acquired first, and then the duration of the target period of the acknowledgement packet is determined according to the duration of the historical target period.
  • the duration of the historical target period is the length of time between the first time and the second time of the historical confirmation message
  • the historical confirmation message is the confirmation message that the proxy device has sent to the server
  • the history confirmation message is the first.
  • the time when the proxy device sends the history confirmation packet to the server, and the second time of the history confirmation packet is the time when the first data packet sent by the server after receiving the history confirmation packet is received by the proxy device.
  • the server may update the historical target period duration. If the proxy device sends an acknowledgement packet to the server, the time for sending the acknowledgement packet may be recorded as the first time, and then, when the receiving server receives the acknowledgement, When the first data message sent after the message is confirmed, the time when the first data message is received is recorded as the second time, and the length of time between the recorded first time and the second time is determined as this. The duration of the target period of the acknowledgement message is added to the duration of the historical target period.
  • the weighted average of the history target period duration may be determined as the duration of the target period of the acknowledgement message.
  • the current sending window value and the sixth data amount of the server may be obtained, and the current data sending window value of the server is subtracted from the sixth data amount to obtain a fifth data amount.
  • the sixth data amount is the amount of data sent by the server that is received by the proxy device after receiving the second data packet sent by the server.
  • the server can actively inform the proxy device of the amount of data that the server has currently sent, or the proxy device can start tracking and estimating the amount of data that the server has sent when the server establishes a wireless connection with the terminal.
  • the proxy device when the proxy device acquires the fifth data volume, it may first obtain the amount of data that the server has currently sent, determine the amount of data sent by the server that the proxy device has received, and then the amount of data that the server has currently sent. The amount of data sent by the server that the proxy device has received has been subtracted to obtain a fifth amount of data.
  • Step 303 Determine an AWND value in the confirmation message.
  • Step 304 If the first data amount and the minimum value of the AWND values in the acknowledgement message are greater than the sum of the target data amount and the second data amount, the AWND value in the acknowledgement message is replaced with the target data amount.
  • the target data amount is the amount of data that the proxy device can store in the cache of the proxy device during the target period of the acknowledgement message
  • the AWND value in the acknowledgement message may be replaced with the sum of the target data amount and the second data amount to control the amount of data subsequently sent by the server.
  • the AWND value in the acknowledgement message is not modified.
  • Step 305 Send the confirmation message to the server.
  • the server may first update the CWND value, and then determine the sending window value according to the updated CWND value and the AWND value in the acknowledgement packet, specifically, the updated CWND value and the acknowledgement report.
  • the smaller one of the AWND values in the text is used as the sending window value.
  • the sending window value does not exceed the sum of the target data amount and the second data amount, thereby ensuring the amount of data sent by the server according to the sending window value. Congestion and packet loss do not occur in the cache of the proxy device, so that the data throughput rate can be effectively maintained.
  • the proxy device can not only forward data between one server and one terminal, but also perform data forwarding between multiple servers and multiple terminals.
  • the server used in the proxy device is the same cache, and the server described in the foregoing steps 301-305 is a server cluster composed of the plurality of servers, and the terminal is composed of the multiple terminals.
  • the terminal cluster, and then the operations of the steps 301-305 can ensure that the data forwarding between the multiple servers and the multiple terminals does not cause congestion and packet loss, thereby effectively maintaining the multiple servers and the multiple terminals.
  • the data throughput rate is stable.
  • the first data volume, the second data volume, and the target data volume are obtained, where the first data volume is a CWND value updated by the server after receiving the acknowledgement packet.
  • the second amount of data is the amount of data that the server has currently sent but has not yet received confirmation by the terminal
  • the target amount of data is the amount of data that can be stored in the cache of the proxy device during the target period of the acknowledgement message.
  • the AWND value in the confirmation message is determined. If the first data amount and the minimum value of the AWND value in the acknowledgement message are greater than the sum of the target data amount and the second data amount, first replacing the AWND value in the acknowledgement message with the target data amount and the second data.
  • the sum of the quantities is sent to the server. Since the target data amount is the amount of data that the proxy device can store in the buffer of the proxy device during the target period of the acknowledgement message, the minimum value in the first data amount and the AWND value in the acknowledgement packet is greater than the target.
  • the AWND value in the confirmation message is replaced by the sum of the target data amount and the second data amount, which can control the amount of data sent by the server and ensure that the amount of data sent by the server is Congestion does not occur in the cache of the proxy device, and the stability of the cache queue is maintained, thereby effectively preventing packet loss and improving data throughput.
  • the apparatus for transmitting an acknowledgement message may be implemented as part or all of a computer device by software, hardware, or a combination of the two.
  • the computer device may be The computer device shown in Figure 2. Referring to FIG. 4, the apparatus includes a receiving module 401, an obtaining module 402, a determining module 403, a replacing module 404, and a transmitting module 405.
  • the receiving module 401 is configured to perform step 301 in the embodiment of FIG. 3;
  • the obtaining module 402 is configured to perform step 302 in the embodiment of FIG. 3;
  • a determining module 403, configured to perform step 303 in the embodiment of FIG. 3;
  • a replacement module 404 configured to perform step 304 in the embodiment of FIG. 3;
  • the sending module 405 is configured to perform step 305 in the embodiment of FIG. 3.
  • the obtaining module 402 includes:
  • the first obtaining unit is configured to obtain the historical message confirmation information and the acknowledgement information carried in the confirmation message;
  • a second acquiring unit configured to acquire a congestion control algorithm type configured by the server and a current CWND value of the server
  • the third obtaining unit is configured to obtain the first data amount according to the historical message confirmation information, the acknowledgement message information carried in the confirmation packet, the type of the congestion control algorithm configured by the server, and the current CWND value of the server.
  • the obtaining module 402 includes:
  • a fourth obtaining unit configured to acquire a current sending window value of the server
  • the first calculating unit is configured to subtract the data amount of the first data packet from the current sending window value of the server to obtain a second data quantity, where the first data packet is a datagram sent by the server confirmed by the confirmation message. Text.
  • the obtaining module 402 includes:
  • a fifth acquiring unit configured to acquire a third data quantity, a fourth data quantity, and a fifth data quantity, where the third data quantity is a data quantity that can be stored in a space that is not occupied in the cache, and the fourth data quantity is that the proxy device is The amount of data that can be sent to the terminal within the target period of the message, and the fifth amount of data is the amount of data that the server has currently sent but that has not been received by the proxy device;
  • a second calculating unit configured to add a third data amount to the fourth data amount and subtract the fifth data amount to obtain a first value
  • a determining unit configured to determine an amount of data less than or equal to the first value as the target amount of data.
  • the fifth obtaining unit is configured to:
  • the preset delay is divided by the loopback delay to obtain the second value.
  • the third value is subtracted from the amount of data currently stored in the cache of the proxy device to obtain a third amount of data.
  • the fifth obtaining unit is configured to:
  • the fourth data amount is obtained by multiplying the air interface rate by the duration of the target period of the acknowledgement message.
  • the fifth obtaining unit is configured to:
  • the duration of the historical target period is obtained.
  • the duration of the historical target period is the length of time between the first time and the second time of the historical confirmation packet.
  • the first time is the time when the proxy device sends the history confirmation packet to the server, and the second time is the server. The time when the first data packet sent after receiving the history confirmation message is received by the proxy device;
  • the fifth obtaining unit is configured to:
  • the sixth data amount is subtracted from the current transmission window value of the server to obtain a fifth data amount.
  • the first data volume, the second data volume, and the target data volume are obtained, where the first data volume is a CWND value updated by the server after receiving the acknowledgement packet.
  • the second amount of data is the amount of data that the server has currently sent but has not yet received confirmation by the terminal
  • the target amount of data is the amount of data that can be stored in the cache of the proxy device during the target period of the acknowledgement message.
  • the AWND value in the confirmation message is determined. If the first data amount and the minimum value of the AWND value in the acknowledgement message are greater than the sum of the target data amount and the second data amount, first replacing the AWND value in the acknowledgement message with the target data amount and the second data.
  • the sum of the quantities is sent to the server. Since the target data amount is the amount of data that the proxy device can store in the buffer of the proxy device during the target period of the acknowledgement message, the minimum value in the first data amount and the AWND value in the acknowledgement packet is greater than the target.
  • the AWND value in the confirmation message is replaced by the sum of the target data amount and the second data amount, which can control the amount of data sent by the server and ensure that the amount of data sent by the server is Congestion does not occur in the cache of the proxy device, and the stability of the cache queue is maintained, thereby effectively preventing packet loss and improving data throughput.
  • the acknowledgment message sending apparatus provided by the foregoing embodiment only exemplifies the division of the foregoing functional modules when acknowledging the message transmission.
  • the functions may be assigned different functions as needed.
  • the module is completed, dividing the internal structure of the device into different functional modules to perform all or part of the functions described above.
  • the acknowledgment message sending apparatus and the acknowledgment message sending method embodiment provided by the foregoing embodiments are in the same concept, and the specific implementation process is described in detail in the method embodiment, and details are not described herein again.
  • the computer program product includes one or more computer instructions.
  • the computer can be a general purpose computer, a special purpose computer, a computer network, or other programmable device.
  • the computer instructions can be stored in a computer readable storage medium or transferred from one computer readable storage medium to another computer readable storage medium, for example, the computer instructions can be from a website site, computer, server or data center Transfer to another website site, computer, server, or data center by wire (eg, coaxial cable, fiber optic, Digital Subscriber Line (DSL)) or wireless (eg, infrared, wireless, microwave, etc.).
  • the computer readable storage medium can be any available media that can be accessed by a computer or a data storage device such as a server, data center, or the like that includes one or more available media.
  • the usable medium may be a magnetic medium (for example, a floppy disk, a hard disk, a magnetic tape), an optical medium (for example, a digital versatile disc (DVD)), or a semiconductor medium (for example, a solid state disk (SSD)). )Wait.
  • a magnetic medium for example, a floppy disk, a hard disk, a magnetic tape
  • an optical medium for example, a digital versatile disc (DVD)
  • DVD digital versatile disc
  • SSD solid state disk

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

Disclosed in the present application are an acknowledgment message sending method and apparatus, belonging to the field of wireless communications. The method is applied to a proxy device, and comprises: receiving an acknowledgment message sent by a terminal; acquiring a first amount of data, a second amount of data and a target amount of data, the first amount of data being a CWND value updated by a server after receiving the acknowledgment message, the second amount of data being the amount of data which has been currently sent by the server but the receipt of which has not been acknowledged by the terminal, the target amount of data being the amount of data that can be stored in a buffer of the proxy device within a target period of the acknowledgment message; if the smallest value of the first amount of data and the AWND value in the acknowledgment message is greater than the sum of the target amount of data and the second amount of data, replacing the AWND value in the acknowledgment message with the sum of the target amount of data and the second amount of data; and sending the acknowledgment message to the server. The present application ensures that data sent by a server would not congest in the buffer of a proxy device, thereby effectively avoiding packet loss, and improving data throughput.

Description

确认报文发送方法及装置Confirmation message sending method and device 技术领域Technical field
本申请涉及无线通信领域,特别涉及一种确认报文发送方法及装置。The present application relates to the field of wireless communications, and in particular, to a method and an apparatus for transmitting a confirmation message.
背景技术Background technique
服务器与终端在进行无线通信时,服务器可以向终端发送数据报文,终端接收到该数据报文后,可以生成该数据报文对应的确认报文返回给服务器,服务器接收到该确认报文后,可以根据该确认报文中的接收通告窗口(advertised receive window,AWND)值来控制后续数据报文的发送数量。When the server and the terminal are in wireless communication, the server may send a data packet to the terminal. After receiving the data packet, the terminal may generate an acknowledgement packet corresponding to the data packet and return it to the server. After receiving the acknowledgement packet, the server receives the acknowledgement packet. The number of subsequent data packets can be controlled according to the value of the advertised receive window (AWND) in the acknowledgment message.
目前,服务器与终端之间的无线通信通过代理设备实现,为了避免代理设备侧的拥塞丢包,代理设备接收到终端发送的确认报文后,会先确定其缓存中当前未被占用的空间最多能够存储的数据量,再将该确认报文中的AWND值和该缓存中当前未被占用的空间最多能够存储的数据量中较小的一个值确定为新的AWND值,然后将该确认报文中的AWND值替换为新的AWND值,最后将该确认报文发送给服务器。At present, the wireless communication between the server and the terminal is implemented by the proxy device. In order to avoid congestion and packet loss on the proxy device side, after receiving the acknowledgement packet sent by the terminal, the proxy device first determines that the cache is currently unoccupied. The amount of data that can be stored, and then determining the smaller one of the AWND value in the acknowledgement message and the maximum amount of data that can be stored in the currently unoccupied space in the cache as a new AWND value, and then reporting the acknowledgement The AWND value in the text is replaced with the new AWND value, and the confirmation message is finally sent to the server.
然而,代理设备的缓存中未被占用的空间会实时发生变化,因而,上述仅根据代理设备的缓存中当前未被占用的空间最多能够存储的数据量来确定新的AWND值,会导致所确定的新的AWND值不准确,从而很有可能导致服务器后续发送的数据报文在代理设备的缓存中发生拥塞,造成缓存溢出丢包和吞吐率抑制。However, the unoccupied space in the cache of the proxy device changes in real time. Therefore, the above determines the new AWND value based only on the amount of data that can be stored in the cache space of the proxy device that is currently unoccupied, which may result in the determination. The new AWND value is inaccurate, which may cause the data packets sent by the server to be congested in the proxy device's cache, causing buffer overflow packet loss and throughput suppression.
发明内容Summary of the invention
本申请提供了一种确认报文发送方法及装置,可以解决相关技术中代理设备的缓存溢出丢包和吞吐率抑制的问题。所述技术方案如下:The application provides a method and a device for sending a confirmation message, which can solve the problem of buffer overflow packet loss and throughput suppression of the proxy device in the related art. The technical solution is as follows:
第一方面,提供了一种确认报文发送方法,应用于代理设备,所述方法包括:In a first aspect, a method for sending a confirmation message is provided, which is applied to a proxy device, and the method includes:
接收终端发送的确认报文;Receiving an acknowledgement message sent by the terminal;
获取第一数据量、第二数据量和目标数据量,所述第一数据量是服务器在接收到所述确认报文后更新的拥塞窗口(congestion window,CWND)值,所述第二数据量是所述服务器当前已经发送但尚未被所述终端确认接收到的数据量,所述目标数据量是在所述确认报文的目标周期内能够存储到所述代理设备的缓存中的数据量;Obtaining a first data quantity, a second data quantity, and a target data quantity, where the first data quantity is a congestion window (CWND) value updated by the server after receiving the confirmation message, and the second data quantity Is the amount of data that the server has sent but has not been acknowledged by the terminal, and the target data amount is the amount of data that can be stored in the cache of the proxy device during the target period of the acknowledgement message;
确定所述确认报文中的AWND值;Determining an AWND value in the confirmation message;
如果所述第一数据量和所述确认报文中的AWND值中的最小值大于所述目标数据量与所述第二数据量之和,则将所述确认报文中的AWND值替换为所述目标数据量与所述第二数据量之和;If the minimum value of the first data amount and the AWND value in the acknowledgement message is greater than the sum of the target data amount and the second data amount, replacing the AWND value in the acknowledgement message with a sum of the target data amount and the second data amount;
将所述确认报文发送给所述服务器。Sending the confirmation message to the server.
在本申请实施例中,由于目标数据量是代理设备在该确认报文的目标周期内能够存储到代理设备的缓存中的数据量,因此,在第一数据量和该确认报文中的AWND值中的最小值大于目标数据量与第二数据量之和时,将该确认报文中的AWND值替换为目标数据量与第二数据量之和,可以控制服务器后续发送的数据量,保证服务器后续发送的数据量在代 理设备的缓存中不会发生拥塞,维护了缓存队列的稳定,从而可以有效避免丢包,提高数据吞吐率。In the embodiment of the present application, since the target data amount is the amount of data that the proxy device can store in the cache of the proxy device in the target period of the acknowledgement message, the AWND in the first data amount and the acknowledgement packet When the minimum value of the value is greater than the sum of the target data amount and the second data amount, the AWND value in the confirmation message is replaced with the sum of the target data amount and the second data amount, which can control the amount of data subsequently sent by the server, and ensure The amount of data sent by the server is not congested in the cache of the proxy device, and the stability of the cache queue is maintained, thereby effectively preventing packet loss and improving data throughput.
值得注意的是,代理设备不仅可以在一个服务器与一个终端之间进行数据转发,还可以在多个服务器与多个终端之间进行数据转发,此时,如果该多个服务器与该多个终端的数据转发在代理设备中所使用的缓存为同一缓存,则上述的服务器即为该多个服务器组成的服务器集群,上述的终端即为该多个终端组成的终端集群,继而通过上述确认报文发送方法可以保证该多个服务器与该多个终端之间的数据转发也不会发生拥塞丢包,从而可以有效维护该多个服务器与该多个终端之间的数据吞吐率的稳定。It is worth noting that the proxy device can not only forward data between one server and one terminal, but also perform data forwarding between multiple servers and multiple terminals. At this time, if the multiple servers and the multiple terminals The data forwarding used in the proxy device is the same cache, and the server is the server cluster composed of the plurality of servers, and the terminal is the terminal cluster composed of the plurality of terminals, and then the acknowledge packet is passed. The sending method can ensure that data forwarding between the multiple servers and the multiple terminals does not cause congestion and packet loss, so that the data throughput rate between the multiple servers and the multiple terminals can be effectively maintained.
其中,所述获取第一数据量,包括:The obtaining the first amount of data includes:
获取历史报文确认信息和所述确认报文携带的报文确认信息;Obtaining the history message confirmation information and the message confirmation information carried in the confirmation message;
获取所述服务器配置的拥塞控制算法类型和所述服务器当前的CWND值;Obtaining a congestion control algorithm type configured by the server and a current CWND value of the server;
根据历史报文确认信息、所述确认报文携带的报文确认信息、所述服务器配置的拥塞控制算法类型和所述服务器当前的CWND值,获取所述第一数据量。Obtaining the first data amount according to the historical message confirmation information, the message confirmation information carried in the confirmation message, the type of the congestion control algorithm configured by the server, and the current CWND value of the server.
需要说明的是,根据历史报文确认信息、该确认报文携带的报文确认信息、服务器配置的拥塞控制算法类型和服务器当前的CWND值,获取第一数据量时,代理设备可以先根据服务器配置的拥塞控制算法类型,确定在接收到历史报文确认信息和该确认报文携带的报文确认信息的情况下服务器的拥塞控制状态,再根据服务器的拥塞控制状态对服务器当前的CWND值进行更新,得到第一数据量。It should be noted that, according to the historical message confirmation information, the message confirmation information carried in the confirmation message, the type of the congestion control algorithm configured by the server, and the current CWND value of the server, when the first data amount is obtained, the proxy device may firstly use the server according to the server. The type of the congestion control algorithm is configured to determine the congestion control state of the server when the history message confirmation information and the message confirmation information carried in the acknowledgement message are received, and then the current CWND value of the server is performed according to the congestion control state of the server. Update to get the first amount of data.
在本申请实施例中,代理设备获取第一数据量的过程,即是代理设备根据服务器配置的拥塞控制算法类型和接收到的报文确认信息,来模拟服务器执行拥塞控制的过程,从而可以准确预测出服务器在接收到该确认报文后更新的CWND值。In the embodiment of the present application, the process of the first data volume is obtained by the proxy device, that is, the proxy device simulates the process of performing congestion control by the server according to the congestion control algorithm type configured by the server and the received packet confirmation information, so that the proxy device can accurately The CWND value updated by the server after receiving the acknowledgement message is predicted.
其中,所述获取第二数据量,包括:The obtaining the second amount of data includes:
获取所述服务器当前的发送窗口值;Obtaining a current send window value of the server;
将所述服务器当前的发送窗口值减去第一数据报文的数据量,得到所述第二数据量,所述第一数据报文为所述确认报文所确认接收到的所述服务器发送的数据报文。And subtracting the data volume of the first data packet from the current sending window value of the server, to obtain the second data volume, where the first data packet is sent by the server that is confirmed by the acknowledgement message. Data message.
需要说明的是,服务器的发送窗口值为服务器已经发送且服务器尚未接收到对应的确认报文的所有数据报文的总数据量。It should be noted that the sending window value of the server is the total data amount of all data packets that the server has sent and the server has not received the corresponding acknowledgement message.
另外,获取服务器当前的发送窗口值时,可以获取服务器当前的CWND值和代理设备发送给服务器的上一个确认报文的AWND值,将服务器当前的CWND值和该上一个确认报文的AWND值中较小的一个值确定为服务器当前的发送窗口值。In addition, when obtaining the current sending window value of the server, the current CWND value of the server and the AWND value of the last acknowledgment message sent by the proxy device to the server may be obtained, and the current CWND value of the server and the AWND value of the previous acknowledgment message are obtained. The smaller of the values is determined as the current send window value of the server.
其中,所述获取目标数据量,包括:The obtaining the target data amount includes:
获取第三数据量、第四数据量和第五数据量,所述第三数据量是所述缓存中当前未被占用的空间能够存储的数据量,所述第四数据量是所述代理设备在所述确认报文的目标周期内能够发送给所述终端的数据量,所述第五数据量是所述服务器当前已经发送但所述代理设备尚未接收到的数据量;Obtaining a third data amount, a fourth data amount, and a fifth data amount, wherein the third data amount is an amount of data that can be stored in a space that is not occupied in the cache, and the fourth data amount is the proxy device The amount of data that can be sent to the terminal during the target period of the acknowledgement message, the fifth amount of data being the amount of data that the server has currently sent but not yet received by the proxy device;
将所述第三数据量加上所述第四数据量并减去所述第五数据量,得到第一数值;Adding the third amount of data to the fourth amount of data and subtracting the fifth amount of data to obtain a first value;
将小于或等于所述第一数值的数据量确定为所述目标数据量。An amount of data less than or equal to the first value is determined as the target amount of data.
需要说明的是,将小于或等于第一数值的数据量确定为目标数据量时,可以将第一数值确定为目标数据量,或者可以将小于第一数值的任一数值确定为目标数据量,本申请实 施例对此不作限定。It should be noted that, when the amount of data less than or equal to the first value is determined as the target data amount, the first value may be determined as the target data amount, or any value smaller than the first value may be determined as the target data amount. This embodiment of the present application does not limit this.
在本申请实施例中,代理设备确定目标数据量的过程,即是代理设备参考代理设备当前缓存可用空间、在该确认报文的目标周期内离开代理设备的数据量和到达代理设备的数据量,来确定代理设备的缓存在该确认报文的目标周期内还能存储的数据量的过程,从而可以准确预测出在该确认报文的目标周期内能够存储到代理设备的缓存中的数据量。In the embodiment of the present application, the process of determining, by the proxy device, the target data amount, that is, the amount of data that the proxy device refers to the proxy device currently buffering the available space, leaving the proxy device within the target period of the acknowledgement packet, and the amount of data reaching the proxy device. To determine the amount of data that the proxy device can store in the target period of the acknowledgment message, thereby accurately predicting the amount of data that can be stored in the cache of the proxy device during the target period of the acknowledgment message. .
其中,所述获取第三数据量,包括:The obtaining the third amount of data includes:
获取所述服务器与所述终端之间的环回时延;Obtaining a loopback delay between the server and the terminal;
当所述环回时延大于预设时延时,将所述预设时延除以所述环回时延,得到第二数值;When the loopback delay is greater than a preset time delay, dividing the preset delay by the loopback delay to obtain a second value;
将所述代理设备的缓存中最多能够存储的数据量乘以所述第二数值,得到第三数值;Multiplying the amount of data that can be stored in the cache of the proxy device by the second value to obtain a third value;
获取所述代理设备的缓存中当前已经存储的数据量;Obtaining an amount of data currently stored in a cache of the proxy device;
将所述第三数值减去所述代理设备的缓存中当前已经存储的数据量,得到所述第三数据量。The third value is subtracted from the amount of data currently stored in the cache of the proxy device to obtain the third amount of data.
需要说明的是,服务器与终端之间的环回时延为服务器向终端发送某个数据报文的时间与服务器接收到终端发送的该数据报文对应的确认报文的时间之间相距的时长。It should be noted that the loopback delay between the server and the terminal is the length of time between when the server sends a certain data packet to the terminal and the time when the server receives the acknowledgement packet corresponding to the data packet sent by the terminal. .
其中,所述获取第四数据量,包括:The obtaining the fourth data amount includes:
获取所述代理设备的空口速率;Obtaining an air interface rate of the proxy device;
获取所述确认报文的目标周期的时长;Obtaining a duration of the target period of the acknowledgement message;
将所述空口速率乘以所述确认报文的目标周期的时长,得到所述第四数据量。The fourth data amount is obtained by multiplying the air interface rate by the duration of the target period of the acknowledgement message.
需要说明的是,代理设备的空口速率为代理设备的下行空口在单位时间内能够传输的数据量。It should be noted that the air interface rate of the proxy device is the amount of data that the downlink air interface of the proxy device can transmit in a unit time.
另外,确认报文的目标周期为代理设备将该确认报文发送给服务器的时间与服务器接收到该确认报文后发送的第一个数据报文被代理设备接收到的时间之间的时间段。In addition, the target period of the acknowledgement message is a period of time between when the proxy device sends the acknowledgement packet to the server and when the first data packet sent by the server after receiving the acknowledgement packet is received by the proxy device. .
其中,所述获取所述确认报文的目标周期的时长,包括:The duration of the target period for obtaining the acknowledgement packet includes:
获取历史目标周期时长,所述历史目标周期时长为历史确认报文的第一时间与第二时间之间相距的时长,所述第一时间为所述代理设备向所述服务器发送所述历史确认报文的时间,所述第二时间为所述服务器接收到所述历史确认报文后发送的第一个数据报文被所述代理设备接收到的时间;Obtaining a historical target period duration, where the duration of the historical target period is a duration between the first time and the second time of the historical confirmation message, where the first time is that the proxy device sends the history confirmation to the server The time of the message, the second time is a time when the first data message sent by the server after receiving the history confirmation message is received by the proxy device;
根据所述历史目标周期时长,确定所述确认报文的目标周期的时长。Determining a duration of the target period of the acknowledgement message according to the historical target period duration.
需要说明的是,根据历史目标周期时长,确定该确认报文的目标周期的时长时,可以将历史目标周期时长的加权平均值确定为该确认报文的目标周期的时长。It should be noted that, when determining the duration of the target period of the acknowledgement message according to the historical target period duration, the weighted average of the history target period duration may be determined as the duration of the target period of the acknowledgement message.
其中,所述获取第五数据量,包括:The obtaining the fifth data amount includes:
获取所述服务器当前的发送窗口值和第六数据量,所述第六数据量是所述代理设备在接收到所述服务器发送的第二数据报文后接收到的所述服务器发送的数据量,所述第二数据报文为所述代理设备向所述服务器发送的上一个确认报文所确认接收到的所述服务器发送的数据报文;Acquiring a current sending window value and a sixth data amount of the server, where the sixth data amount is the amount of data sent by the server after receiving the second data packet sent by the server by the proxy device The second data packet is a data packet sent by the server that is confirmed by the last acknowledgement message sent by the proxy device to the server;
将所述服务器当前的发送窗口值减去所述第六数据量,得到所述第五数据量。Subtracting the sixth data amount from the current transmission window value of the server to obtain the fifth data amount.
值得注意的是,服务器可以主动向代理设备通知服务器当前已经发送的数据量,或者代理设备也可以在服务器与终端建立无线连接时就开始跟踪和估计服务器已经发送的数据量。这种情况下,代理设备获取第五数据量时,还可以先获取服务器当前已经发送的数据 量,再确定代理设备当前已经接收到的服务器发送的数据量,然后将服务器当前已经发送的数据量减去代理设备当前已经接收到的服务器发送的数据量,得到第五数据量。It is worth noting that the server can actively inform the proxy device of the amount of data that the server has currently sent, or the proxy device can start tracking and estimating the amount of data that the server has sent when the server establishes a wireless connection with the terminal. In this case, when the proxy device acquires the fifth data volume, it may first obtain the amount of data that the server has currently sent, determine the amount of data sent by the server that the proxy device has received, and then the amount of data that the server has currently sent. The amount of data sent by the server that the proxy device has received has been subtracted to obtain a fifth amount of data.
第二方面,提供了一种确认报文发送装置,所述确认报文发送装置具有实现上述第一方面中确认报文发送方法行为的功能。所述确认报文发送装置包括至少一个模块,所述至少一个模块用于实现上述第一方面所提供的确认报文发送方法。In a second aspect, there is provided a acknowledgment message transmitting apparatus, the acknowledgment message transmitting apparatus having a function of implementing the behavior of the acknowledgment message transmitting method in the first aspect. The acknowledgment message sending device includes at least one module, and the at least one module is configured to implement the acknowledgment message sending method provided by the foregoing first aspect.
第三方面,提供了一种确认报文发送装置,所述确认报文发送装置的结构中包括处理器和存储器,所述存储器用于存储支持确认报文发送装置执行上述第一方面所提供的确认报文发送方法的程序,以及存储用于实现上述第一方面所述的确认报文发送方法所涉及的数据。所述处理器被配置为用于执行所述存储器中存储的程序。所述确认报文发送装置还可以包括通信总线,所述通信总线用于在所述处理器与所述存储器之间建立连接。According to a third aspect, there is provided a acknowledgment message transmitting apparatus, the acknowledgment message transmitting apparatus comprising a processor and a memory, wherein the memory is used for storing a support acknowledgment message transmitting apparatus to perform the foregoing first aspect A program for confirming a message transmission method, and storing data related to the method for transmitting the confirmation message described in the first aspect above. The processor is configured to execute a program stored in the memory. The acknowledgment message transmitting apparatus may further include a communication bus for establishing a connection between the processor and the memory.
第四方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述第一方面所述的确认报文发送方法。In a fourth aspect, a computer readable storage medium is provided, the instructions being stored in the computer readable storage medium, when executed on a computer, causing the computer to perform the method of transmitting the confirmation message described in the first aspect above.
第五方面,提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面所述的确认报文发送方法。In a fifth aspect, a computer program product comprising instructions for causing a computer to perform the method of transmitting a confirmation message as described in the first aspect above when provided on a computer.
上述第二方面、第三方面、第四方面和第五方面所获得的技术效果与上述第一方面中对应的技术手段获得的技术效果近似,在这里不再赘述。The technical effects obtained by the second aspect, the third aspect, the fourth aspect, and the fifth aspect are similar to those obtained by the corresponding technical means in the first aspect, and are not described herein again.
本申请提供的技术方案带来的有益效果至少包括:The beneficial effects brought by the technical solutions provided by the present application include at least:
接收终端发送的确认报文后,获取第一数据量、第二数据量和目标数据量,第一数据量是服务器在接收到该确认报文后更新的CWND值,第二数据量是服务器当前已经发送但尚未被终端确认接收到的数据量,目标数据量是在该确认报文的目标周期内能够存储到代理设备的缓存中的数据量。之后,确定该确认报文中的AWND值。如果第一数据量和该确认报文中的AWND值中的最小值大于目标数据量与第二数据量之和,则先将该确认报文中的AWND值替换为目标数据量与第二数据量之和,再将该确认报文发送给服务器。由于目标数据量是代理设备在该确认报文的目标周期内能够存储到代理设备的缓存中的数据量,因此,在第一数据量和该确认报文中的AWND值中的最小值大于目标数据量与第二数据量之和时,将该确认报文中的AWND值替换为目标数据量与第二数据量之和,可以控制服务器后续发送的数据量,保证服务器后续发送的数据量在代理设备的缓存中不会发生拥塞,维护了缓存队列的稳定,从而可以有效避免丢包,提高数据吞吐率。After receiving the acknowledgement packet sent by the terminal, the first data volume, the second data volume, and the target data volume are obtained. The first data volume is a CWND value updated by the server after receiving the acknowledgement packet, where the second data volume is the current server. The amount of data that has been transmitted but not yet acknowledged by the terminal, the amount of data being the amount of data that can be stored in the cache of the proxy device during the target period of the acknowledgement message. After that, the AWND value in the confirmation message is determined. If the first data amount and the minimum value of the AWND value in the acknowledgement message are greater than the sum of the target data amount and the second data amount, first replacing the AWND value in the acknowledgement message with the target data amount and the second data. The sum of the quantities is sent to the server. Since the target data amount is the amount of data that the proxy device can store in the buffer of the proxy device during the target period of the acknowledgement message, the minimum value in the first data amount and the AWND value in the acknowledgement packet is greater than the target. When the sum of the data amount and the second data amount, the AWND value in the confirmation message is replaced by the sum of the target data amount and the second data amount, which can control the amount of data sent by the server and ensure that the amount of data sent by the server is Congestion does not occur in the cache of the proxy device, and the stability of the cache queue is maintained, thereby effectively preventing packet loss and improving data throughput.
附图说明DRAWINGS
图1是本申请实施例提供的一种实施环境的结构示意图;1 is a schematic structural diagram of an implementation environment provided by an embodiment of the present application;
图2是本申请实施例提供的一种计算机设备的结构示意图;2 is a schematic structural diagram of a computer device according to an embodiment of the present application;
图3是本申请实施例提供的一种确认报文发送方法的流程图;3 is a flowchart of a method for sending a confirmation message according to an embodiment of the present application;
图4是本申请实施例提供的一种确认报文发送装置的结构示意图。FIG. 4 is a schematic structural diagram of an apparatus for sending a confirmation message according to an embodiment of the present application.
具体实施方式detailed description
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请的实施方式作进一步地详细描述。In order to make the objects, technical solutions and advantages of the present application more clear, the embodiments of the present application will be further described in detail below with reference to the accompanying drawings.
在对本申请实施例进行详细地解释说明之前,先对本申请实施例涉及的实施环境予以说明。Before explaining the embodiments of the present application in detail, the implementation environment involved in the embodiments of the present application will be described.
图1是本申请实施例提供的一种实施环境的结构示意图。参见图1,该实施环境可以包括:终端101、代理设备102和服务器103。FIG. 1 is a schematic structural diagram of an implementation environment provided by an embodiment of the present application. Referring to FIG. 1, the implementation environment may include a terminal 101, a proxy device 102, and a server 103.
终端101与代理设备102可以进行无线连接,代理设备102和服务器103也可以进行无线连接,该无线连接可以为传输控制协议(Transmission Control Protocol,TCP)连接等。The terminal 101 and the proxy device 102 can be wirelessly connected, and the proxy device 102 and the server 103 can also be wirelessly connected. The wireless connection can be a Transmission Control Protocol (TCP) connection or the like.
其中,服务器103可以将数据报文发送给代理设备102。代理设备102接收到该数据报文后,可以将该数据报文发送给终端101。终端101接收到该数据报文后,可以生成该数据报文对应的确认报文,并将该确认报文发送给代理设备102。代理设备102接收到该确认报文后,可以将该确认报文发送给服务器103。The server 103 can send the data message to the proxy device 102. After receiving the data packet, the proxy device 102 can send the data packet to the terminal 101. After receiving the data packet, the terminal 101 may generate an acknowledgement packet corresponding to the data packet, and send the acknowledgement packet to the proxy device 102. After receiving the acknowledgement packet, the proxy device 102 may send the acknowledgement packet to the server 103.
其中,代理设备102可以为TCP透明代理等,代理设备102可以设置于基站(如eNodeB等)、核心网网关(如分组网关UGW等)、固网网关等设备中,在无线接入网(Radio Access Network,RAN)中,代理设备102还可以设置于RAN的集中单元(CU)中。代理设备102可以通过其分组数据汇聚协议(Packet Data Convergence Protocol,PDCP)层的单板来实现下文图3实施例提供的确认报文发送方法。The proxy device 102 can be a TCP transparent proxy, etc., and the proxy device 102 can be set in a base station (such as an eNodeB, etc.), a core network gateway (such as a packet gateway UGW, etc.), a fixed network gateway, and the like, in a radio access network (Radio). In the Access Network, RAN), the proxy device 102 can also be placed in a centralized unit (CU) of the RAN. The proxy device 102 can implement the acknowledgement packet sending method provided in the embodiment of FIG. 3 below through the board of the Packet Data Convergence Protocol (PDCP) layer.
图2是本申请实施例提供的一种计算机设备的结构示意图,该计算机设备可以是图1中所示的代理设备102。参见图2,该计算机设备包括至少一个处理器201,通信总线202,存储器203以及至少一个通信接口204。FIG. 2 is a schematic structural diagram of a computer device according to an embodiment of the present application. The computer device may be the proxy device 102 shown in FIG. 1. Referring to FIG. 2, the computer device includes at least one processor 201, a communication bus 202, a memory 203, and at least one communication interface 204.
处理器201可以是一个通用中央处理器(Central Processing Unit,CPU),微处理器,特定应用集成电路(application-specific integrated circuit,ASIC),或一个或多个用于控制本申请方案程序执行的集成电路。The processor 201 can be a general purpose central processing unit (CPU), a microprocessor, an application-specific integrated circuit (ASIC), or one or more for controlling the execution of the program of the present application. integrated circuit.
通信总线202可包括一通路,在上述组件之间传送信息。 Communication bus 202 can include a path for communicating information between the components described above.
存储器203可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其它类型的静态存储设备,随机存取存储器(random access memory,RAM)或者可存储信息和指令的其它类型的动态存储设备,也可以是电可擦可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)、只读光盘(Compact Disc Read-Only Memory,CD-ROM)或其它光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其它磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其它介质,但不限于此。存储器203可以是独立存在,通过通信总线202与处理器201相连接。存储器203也可以和处理器201集成在一起。The memory 203 can be a read-only memory (ROM) or other type of static storage device that can store static information and instructions, a random access memory (RAM) or other type that can store information and instructions. The dynamic storage device can also be an Electrically Erasable Programmable Read-Only Memory (EEPROM), a Compact Disc Read-Only Memory (CD-ROM) or other optical disc storage, and a disc storage device. (including compact discs, laser discs, optical discs, digital versatile discs, Blu-ray discs, etc.), magnetic disk storage media or other magnetic storage devices, or can be used to carry or store desired program code in the form of instructions or data structures and can be Any other medium accessed, but is not limited to this. Memory 203 may be present independently and coupled to processor 201 via communication bus 202. The memory 203 can also be integrated with the processor 201.
通信接口204,使用任何收发器一类的装置,用于与其它设备或通信网络通信,如以太网,无线接入网(Radio Access Network,RAN),无线局域网(Wireless Local Area Networks,WLAN)等。The communication interface 204 uses a device such as any transceiver for communicating with other devices or communication networks, such as Ethernet, Radio Access Network (RAN), Wireless Local Area Networks (WLAN), etc. .
在具体实现中,作为一种实施例,处理器201可以包括一个或多个CPU,例如图2中所示的CPU0和CPU1。In a particular implementation, as an embodiment, processor 201 may include one or more CPUs, such as CPU0 and CPU1 shown in FIG.
在具体实现中,作为一种实施例,计算机设备可以包括多个处理器,例如图2中所示的处理器201和处理器205。这些处理器中的每一个可以是一个单核处理器(single-CPU),也可以是一个多核处理器(multi-CPU)。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。In a particular implementation, as an embodiment, a computer device can include multiple processors, such as processor 201 and processor 205 shown in FIG. Each of these processors can be a single core processor (CPU) or a multi-core processor (multi-CPU). A processor herein may refer to one or more devices, circuits, and/or processing cores for processing data, such as computer program instructions.
其中,存储器203用于存储执行本申请方案的程序代码210,处理器201用于执行存储器203中存储的程序代码210。该计算机设备可以通过处理器201以及存储器203中的程序代码210,来实现下文图3实施例提供的确认报文发送方法。The memory 203 is configured to store the program code 210 for executing the solution of the present application, and the processor 201 is configured to execute the program code 210 stored in the memory 203. The computer device can implement the acknowledgement message sending method provided in the embodiment of FIG. 3 below by using the processor 201 and the program code 210 in the memory 203.
图3是本申请实施例提供的一种确认报文发送方法的流程图,该方法应用于代理设备。参见图3,该方法包括:FIG. 3 is a flowchart of a method for sending a confirmation message according to an embodiment of the present application, where the method is applied to a proxy device. Referring to Figure 3, the method includes:
步骤301:接收终端发送的确认报文。Step 301: Receive an acknowledgement message sent by the terminal.
需要说明的是,确认报文可以为确认字符(Acknowledgement,ACK)报文等。该确认报文用于确认已经接收到服务器发送的第一数据报文,即第一数据报文为该确认报文所确认接收到的服务器发送的数据报文,换句话说,终端接收到服务器通过代理设备发送的第一数据报文后,可以生成第一数据报文对应的该确认报文来发送给代理设备。It should be noted that the acknowledgement message may be an acknowledgement (ACK) message or the like. The acknowledgement message is used to confirm that the first data packet sent by the server has been received, that is, the first data packet is the data packet sent by the server that is confirmed by the acknowledgement packet, in other words, the terminal receives the server. After the first data packet sent by the proxy device, the acknowledgement packet corresponding to the first data packet may be generated and sent to the proxy device.
另外,确认报文中可以携带报文确认信息,该确认报文中携带的报文确认信息用于指示终端在发送该确认报文时顺序接收到的最后几个数据报文,该最后几个数据报文即为该确认报文所确认接收到的第一数据报文。In addition, the acknowledgment message may carry the message acknowledgment information, and the message acknowledgment information carried in the acknowledgment message is used to indicate the last data packets received by the terminal in sequence when the acknowledgment message is sent, and the last few The data packet is the first data packet acknowledged by the acknowledgement message.
步骤302:获取第一数据量、第二数据量和目标数据量。Step 302: Acquire a first data amount, a second data amount, and a target data amount.
需要说明的是,第一数据量是服务器在接收到该确认报文后更新的CWND值,第二数据量是服务器当前已经发送但尚未被终端确认接收到的数据量,目标数据量是在该确认报文的目标周期内能够存储到代理设备的缓存中的数据量。It should be noted that the first data amount is a CWND value updated by the server after receiving the acknowledgement message, and the second data volume is the amount of data that the server has sent but has not been acknowledged by the terminal, and the target data volume is in the The amount of data that can be stored in the cache of the proxy device during the target period of the acknowledgement message.
其中,获取第一数据量的操作可以为:获取历史报文确认信息和该确认报文携带的报文确认信息;获取服务器配置的拥塞控制算法类型和服务器当前的CWND值;根据历史报文确认信息、该确认报文携带的报文确认信息、服务器配置的拥塞控制算法类型和服务器当前的CWND值,获取第一数据量。The operation of obtaining the first data amount may be: obtaining the history message confirmation information and the message confirmation information carried in the confirmation message; obtaining the congestion control algorithm type configured by the server and the current CWND value of the server; and confirming according to the historical message The information, the message confirmation information carried in the confirmation message, the congestion control algorithm type configured by the server, and the current CWND value of the server acquire the first data amount.
需要说明的是,历史报文确认信息为代理设备已经向服务器发送的确认报文中携带的报文确认信息,历史报文确认信息可以存储于一个确认信息列表中。代理设备可以对历史报文确认信息进行更新,如代理设备向服务器发送了某个确认报文后,可以将这个确认报文携带的报文确认信息添加到历史报文确认信息中,并且,代理设备接收到服务器在接收到这个确认报文后发送的第一个数据报文时,可以将这个确认报文携带的报文确认信息从历史报文确认信息中删除。It should be noted that the historical message confirmation information is the message confirmation information carried in the confirmation message that the proxy device has sent to the server, and the historical message confirmation information may be stored in a confirmation information list. The proxy device may update the historical message confirmation information. If the proxy device sends an acknowledgement packet to the server, the packet acknowledgement information carried in the acknowledgement packet may be added to the history packet acknowledgement information, and the proxy After receiving the first data packet sent by the server after receiving the acknowledgement packet, the device may delete the packet acknowledgement information carried in the acknowledgement packet from the history packet acknowledgement information.
另外,服务器配置的拥塞控制算法类型可以指示服务器的拥塞控制算法原理,如服务器配置的拥塞控制算法类型可以为TCP-Tahoe、TCP-Reno、TCP-Cubic、Compoud-TCP等。服务器的CWND值为人为引入的变量,用于拥塞控制,可以根据数据报文的发送和接收确认状况进行更新。In addition, the type of congestion control algorithm configured by the server may indicate the principle of the congestion control algorithm of the server. For example, the type of congestion control algorithm configured by the server may be TCP-Tahoe, TCP-Reno, TCP-Cubic, Compoud-TCP, and the like. The CWND value of the server is a manually introduced variable, used for congestion control, and can be updated according to the status of sending and receiving data packets.
再者,获取服务器配置的拥塞控制算法类型和服务器当前的CWND值时,可以是服务 器向代理设备主动通知得到,也可以是代理设备在服务器与终端建立无线连接(如进行TCP建链)时就开始跟踪和估计得到,本申请实施例对此不作限定。Moreover, when obtaining the congestion control algorithm type configured by the server and the current CWND value of the server, the server may actively notify the proxy device, or the proxy device may establish a wireless connection between the server and the terminal (such as performing TCP networking). The tracking and estimation are started, and the embodiment of the present application does not limit this.
其中,根据历史报文确认信息、该确认报文携带的报文确认信息、服务器配置的拥塞控制算法类型和服务器当前的CWND值,获取第一数据量时,代理设备可以先根据服务器配置的拥塞控制算法类型,确定在接收到历史报文确认信息和该确认报文携带的报文确认信息的情况下服务器的拥塞控制状态,再根据服务器的拥塞控制状态对服务器当前的CWND值进行更新,得到第一数据量。The agent device may first perform congestion according to the server configuration according to the historical message confirmation information, the message confirmation information carried in the confirmation message, the type of the congestion control algorithm configured by the server, and the current CWND value of the server. Controlling the type of the algorithm, determining the congestion control state of the server when the historical message confirmation information and the message confirmation information carried by the confirmation message are received, and then updating the current CWND value of the server according to the congestion control state of the server, The first amount of data.
值得注意的是,代理设备获取第一数据量的过程,即是代理设备根据服务器配置的拥塞控制算法类型和接收到的报文确认信息,来模拟服务器执行拥塞控制的过程,从而可以准确预测出服务器在接收到该确认报文后更新的CWND值。It is worth noting that the process of the first data volume is obtained by the proxy device, that is, the proxy device simulates the process of the server performing congestion control according to the type of the congestion control algorithm configured by the server and the received packet acknowledgement information, so that the proxy device can accurately predict the process. The CWND value that the server updates after receiving the confirmation message.
其中,获取第二数据量的操作可以为:获取服务器当前的发送窗口值;将服务器当前的发送窗口值减去第一数据报文的数据量,得到第二数据量。The operation of obtaining the second data amount may be: obtaining the current sending window value of the server; and subtracting the data amount of the first data packet from the current sending window value of the server to obtain the second data amount.
需要说明的是,服务器的发送窗口值为服务器已经发送且服务器尚未接收到对应的确认报文的所有数据报文的总数据量。It should be noted that the sending window value of the server is the total data amount of all data packets that the server has sent and the server has not received the corresponding acknowledgement message.
其中,获取服务器当前的发送窗口值时,可以是服务器主动向代理设备通知得到;或者,代理设备可以获取服务器当前的CWND值和代理设备发送给服务器的上一个确认报文中的AWND值,根据服务器当前的CWND值和代理设备发送给服务器的上一个确认报文中的AWND值,确定服务器当前的发送窗口值。The server may actively notify the proxy device when obtaining the current sending window value of the server; or, the proxy device may obtain the current CWND value of the server and the AWND value in the last acknowledgement packet sent by the proxy device to the server, according to The current CWND value of the server and the AWND value in the last acknowledgement message sent by the proxy device to the server determine the current send window value of the server.
需要说明的是,某个确认报文中的AWND值为终端在发送这个确认报文时的可用空间能够存储的数据量,如代理设备发送给服务器的上一个确认报文中的AWND值即为终端在发送该上一个确认报文时的可用空间能够存储的数据量。It should be noted that the AWND value in an acknowledgement packet is the amount of data that the terminal can store in the available space when the acknowledgement packet is sent. For example, the AWND value in the last acknowledgement packet sent by the proxy device to the server is The amount of data that the terminal can store when the last acknowledgment message is sent.
另外,该上一个确认报文用于确认已经接收到服务器发送的第二数据报文,即第二数据报文为该上一个确认报文所确认接收到的服务器发送的数据报文,换句话说,终端接收到服务器通过代理设备发送的第二数据报文后,可以生成第二数据报文对应的该上一个确认报文来发送给代理设备。In addition, the last acknowledgement message is used to confirm that the second data packet sent by the server has been received, that is, the second data packet is the data packet sent by the server that is confirmed by the previous acknowledgement message, and the sentence is replaced. In other words, after receiving the second data packet sent by the server through the proxy device, the terminal may generate the previous acknowledgement packet corresponding to the second data packet to send to the proxy device.
再者,根据服务器当前的CWND值和代理设备发送给服务器的上一个确认报文中的AWND值,确定服务器当前的发送窗口值时,可以将服务器当前的CWND值和该上一个确认报文中的AWND值中较小的一个值确定为服务器当前的发送窗口值。Furthermore, according to the current CWND value of the server and the AWND value in the last acknowledgement message sent by the proxy device to the server, when determining the current sending window value of the server, the current CWND value of the server and the previous acknowledgement message may be used. The smaller of the AWND values is determined to be the server's current send window value.
其中,获取目标数据量的操作可以为:获取第三数据量、第四数据量和第五数据量;将第三数据量加上第四数据量并减去第五数据量,得到第一数值;将小于或等于第一数值的数据量确定为目标数据量。The operation of obtaining the target data amount may be: acquiring the third data amount, the fourth data amount, and the fifth data amount; adding the third data amount to the fourth data amount and subtracting the fifth data amount to obtain the first value. The amount of data less than or equal to the first value is determined as the target amount of data.
需要说明的是,第三数据量是代理设备的缓存中当前未被占用的空间能够存储的数据量,第四数据量是代理设备在该确认报文的目标周期内能够发送给终端的数据量,第五数据量是服务器当前已经发送但代理设备尚未接收到的数据量。It should be noted that the third data amount is the amount of data that can be stored in the current unoccupied space in the cache of the proxy device, and the fourth data amount is the amount of data that the proxy device can send to the terminal in the target period of the acknowledgement packet. The fifth data amount is the amount of data that the server has currently sent but the proxy device has not received.
另外,将小于或等于第一数值的数据量确定为目标数据量时,可以将第一数值确定为目标数据量,或者可以将小于第一数值的任一数值确定为目标数据量,本申请实施例对此不作限定。In addition, when the amount of data less than or equal to the first value is determined as the target data amount, the first value may be determined as the target data amount, or any value smaller than the first value may be determined as the target data amount, which is implemented by the present application. This example does not limit this.
值得注意的是,代理设备确定目标数据量的过程,即是代理设备参考代理设备当前缓存可用空间、在该确认报文的目标周期内离开代理设备的数据量和到达代理设备的数据量, 来确定代理设备的缓存在该确认报文的目标周期内还能存储的数据量的过程,从而可以准确预测出在该确认报文的目标周期内能够存储到代理设备的缓存中的数据量。It is worth noting that the process of determining the target data amount by the proxy device is that the proxy device refers to the current cache space of the proxy device, the amount of data leaving the proxy device within the target period of the acknowledgement message, and the amount of data reaching the proxy device. The process of determining the amount of data that the proxy device can store in the target period of the acknowledgment message, thereby accurately predicting the amount of data that can be stored in the cache of the proxy device during the target period of the acknowledgment message.
其中,获取第三数据量时,可以将代理设备的缓存中当前未被占用的空间最多能够存储的数据量确定为第三数据量。或者,可以获取服务器与终端之间的环回时延;当该环回时延小于或等于预设时延时,将代理设备的缓存中当前未被占用的空间最多能够存储的数据量确定为第三数据量;当该环回时延大于预设时延时,将预设时延除以该环回时延,得到第二数值,将代理设备的缓存中最多能够存储的数据量乘以第二数值,得到第三数值,获取代理设备的缓存中当前已经存储的数据量,将第三数值减去代理设备的缓存中当前已经存储的数据量,得到第三数据量。Wherein, when the third data amount is acquired, the amount of data that can be stored in the cache that is not occupied in the cache of the proxy device can be determined as the third data amount. Alternatively, the loopback delay between the server and the terminal may be obtained; when the loopback delay is less than or equal to the preset delay, the maximum amount of data that can be stored in the cached space of the proxy device is determined as The third data amount; when the loopback delay is greater than the preset delay, the preset delay is divided by the loopback delay to obtain a second value, and the maximum amount of data that can be stored in the proxy device's cache is multiplied by The second value obtains the third value, obtains the amount of data currently stored in the cache of the proxy device, and subtracts the amount of data currently stored in the cache of the proxy device from the third value to obtain a third amount of data.
需要说明的是,服务器与终端之间的环回时延为服务器向终端发送某个数据报文的时间与服务器接收到终端发送的该数据报文对应的确认报文的时间之间相距的时长。It should be noted that the loopback delay between the server and the terminal is the length of time between when the server sends a certain data packet to the terminal and the time when the server receives the acknowledgement packet corresponding to the data packet sent by the terminal. .
另外,预设时延可以预先进行设置,如预设时延可以根据业务需求来进行设置,本申请实施例对此不作限定。In addition, the preset delay may be set in advance, for example, the preset delay may be set according to the service requirement, which is not limited by the embodiment of the present application.
其中,获取第四数据量时,可以获取代理设备的空口速率,获取该确认报文的目标周期的时长,将代理设备的空口速率乘以该确认报文的目标周期的时长,得到第四数据量。The time of obtaining the fourth data volume, the air interface rate of the proxy device is obtained, the duration of the target period of the acknowledgement packet is obtained, and the air interface rate of the proxy device is multiplied by the duration of the target period of the acknowledgement packet to obtain the fourth data. the amount.
需要说明的是,代理设备的空口速率为代理设备的下行空口在单位时间内能够传输的数据量。It should be noted that the air interface rate of the proxy device is the amount of data that the downlink air interface of the proxy device can transmit in a unit time.
另外,确认报文的目标周期为代理设备将该确认报文发送给服务器的时间与服务器接收到该确认报文后发送的第一个数据报文被代理设备接收到的时间之间的时间段。In addition, the target period of the acknowledgement message is a period of time between when the proxy device sends the acknowledgement packet to the server and when the first data packet sent by the server after receiving the acknowledgement packet is received by the proxy device. .
其中,获取该确认报文的目标周期的时长时,可以先获取历史目标周期时长,再根据历史目标周期时长,确定该确认报文的目标周期的时长。When the duration of the target period of the acknowledgement packet is obtained, the duration of the history target period may be acquired first, and then the duration of the target period of the acknowledgement packet is determined according to the duration of the historical target period.
需要说明的是,历史目标周期时长为历史确认报文的第一时间与第二时间之间相距的时长,历史确认报文为代理设备已经向服务器发送的确认报文,历史确认报文的第一时间为代理设备向服务器发送历史确认报文的时间,历史确认报文的第二时间为服务器接收到历史确认报文后发送的第一个数据报文被代理设备接收到的时间。It should be noted that the duration of the historical target period is the length of time between the first time and the second time of the historical confirmation message, and the historical confirmation message is the confirmation message that the proxy device has sent to the server, and the history confirmation message is the first. The time when the proxy device sends the history confirmation packet to the server, and the second time of the history confirmation packet is the time when the first data packet sent by the server after receiving the history confirmation packet is received by the proxy device.
另外,服务器可以对历史目标周期时长进行更新,如代理设备向服务器发送了某个确认报文后,可以记录发送这个确认报文的时间作为第一时间,之后,当接收到服务器在接收到这个确认报文后发送的第一个数据报文时,记录接收到该第一个数据报文的时间作为第二时间,将所记录的第一时间与第二时间之间相距的时长确定为这个确认报文的目标周期的时长添加到历史目标周期时长中。In addition, the server may update the historical target period duration. If the proxy device sends an acknowledgement packet to the server, the time for sending the acknowledgement packet may be recorded as the first time, and then, when the receiving server receives the acknowledgement, When the first data message sent after the message is confirmed, the time when the first data message is received is recorded as the second time, and the length of time between the recorded first time and the second time is determined as this. The duration of the target period of the acknowledgement message is added to the duration of the historical target period.
再者,根据历史目标周期时长,确定该确认报文的目标周期的时长时,可以将历史目标周期时长的加权平均值确定为该确认报文的目标周期的时长。Furthermore, when determining the duration of the target period of the acknowledgement message according to the historical target period duration, the weighted average of the history target period duration may be determined as the duration of the target period of the acknowledgement message.
其中,获取第五数据量时,可以获取服务器当前的发送窗口值和第六数据量,将服务器当前的发送窗口值减去第六数据量,得到第五数据量。When the fifth data amount is acquired, the current sending window value and the sixth data amount of the server may be obtained, and the current data sending window value of the server is subtracted from the sixth data amount to obtain a fifth data amount.
需要说明的是,获取服务器当前的发送窗口值的操作与上述获取服务器当前的发送窗口值的操作相同,本申请实施例对此不再赘述。It should be noted that the operation of obtaining the current sending window value of the server is the same as the operation of obtaining the current sending window value of the server.
另外,第六数据量是代理设备在接收到服务器发送的第二数据报文后接收到的服务器发送的数据量。In addition, the sixth data amount is the amount of data sent by the server that is received by the proxy device after receiving the second data packet sent by the server.
值得注意的是,服务器可以主动向代理设备通知服务器当前已经发送的数据量,或者 代理设备也可以在服务器与终端建立无线连接时就开始跟踪和估计服务器已经发送的数据量。这种情况下,代理设备获取第五数据量时,还可以先获取服务器当前已经发送的数据量,再确定代理设备当前已经接收到的服务器发送的数据量,然后将服务器当前已经发送的数据量减去代理设备当前已经接收到的服务器发送的数据量,得到第五数据量。It is worth noting that the server can actively inform the proxy device of the amount of data that the server has currently sent, or the proxy device can start tracking and estimating the amount of data that the server has sent when the server establishes a wireless connection with the terminal. In this case, when the proxy device acquires the fifth data volume, it may first obtain the amount of data that the server has currently sent, determine the amount of data sent by the server that the proxy device has received, and then the amount of data that the server has currently sent. The amount of data sent by the server that the proxy device has received has been subtracted to obtain a fifth amount of data.
步骤303:确定该确认报文中的AWND值。Step 303: Determine an AWND value in the confirmation message.
步骤304:如果第一数据量和该确认报文中的AWND值中的最小值大于目标数据量与第二数据量之和,则将该确认报文中的AWND值替换为目标数据量。Step 304: If the first data amount and the minimum value of the AWND values in the acknowledgement message are greater than the sum of the target data amount and the second data amount, the AWND value in the acknowledgement message is replaced with the target data amount.
由于目标数据量是代理设备在该确认报文的目标周期内能够存储到代理设备的缓存中的数据量,因此,当第一数据量和该确认报文中的AWND值中的最小值大于目标数据量与第二数据量之和时,为了避免代理设备的缓存溢出,可以将该确认报文中的AWND值替换为目标数据量与第二数据量之和,以控制服务器后续发送的数据量,保证服务器后续发送的数据量在代理设备的缓存中不会发生拥塞,维护了缓存队列的稳定,从而可以有效避免丢包,提高数据吞吐率。Since the target data amount is the amount of data that the proxy device can store in the cache of the proxy device during the target period of the acknowledgement message, when the first data amount and the minimum value of the AWND value in the acknowledgement packet are larger than the target When the sum of the data amount and the second data amount, in order to avoid buffer overflow of the proxy device, the AWND value in the acknowledgement message may be replaced with the sum of the target data amount and the second data amount to control the amount of data subsequently sent by the server. To ensure that the amount of data sent by the server is not congested in the cache of the proxy device, and the stability of the cache queue is maintained, thereby effectively avoiding packet loss and improving data throughput.
进一步地,如果第一数据量和该确认报文中的AWND值中的最小值小于或等于目标数据量与第二数据量之和,则不对该确认报文中的AWND值进行修改。Further, if the first data amount and the minimum value of the AWND values in the acknowledgement message are less than or equal to the sum of the target data amount and the second data amount, the AWND value in the acknowledgement message is not modified.
步骤305:将该确认报文发送给服务器。Step 305: Send the confirmation message to the server.
服务器接收到该确认报文后,可以先更新CWND值,继而根据更新后的CWND值和该确认报文中的AWND值,来确定发送窗口值,具体可以将更新后的CWND值和该确认报文中的AWND值中较小的一个值作为发送窗口值,此时该发送窗口值不会超过目标数据量与第二数据量之和,从而可以保证服务器后续根据该发送窗口值发送的数据量在代理设备的缓存中不会发生拥塞丢包,从而可以有效维护数据吞吐率的稳定。After receiving the acknowledgement packet, the server may first update the CWND value, and then determine the sending window value according to the updated CWND value and the AWND value in the acknowledgement packet, specifically, the updated CWND value and the acknowledgement report. The smaller one of the AWND values in the text is used as the sending window value. At this time, the sending window value does not exceed the sum of the target data amount and the second data amount, thereby ensuring the amount of data sent by the server according to the sending window value. Congestion and packet loss do not occur in the cache of the proxy device, so that the data throughput rate can be effectively maintained.
值得注意的是,代理设备不仅可以在一个服务器与一个终端之间进行数据转发,还可以在多个服务器与多个终端之间进行数据转发,此时,如果该多个服务器与该多个终端的数据转发在代理设备中所使用的缓存为同一缓存,则上述步骤301-步骤305中所述的服务器即为该多个服务器组成的服务器集群,所述的终端即为该多个终端组成的终端集群,继而通过步骤301-步骤305的操作,可以保证该多个服务器与该多个终端之间的数据转发也不会发生拥塞丢包,从而可以有效维护该多个服务器与该多个终端之间的数据吞吐率的稳定。It is worth noting that the proxy device can not only forward data between one server and one terminal, but also perform data forwarding between multiple servers and multiple terminals. At this time, if the multiple servers and the multiple terminals The server used in the proxy device is the same cache, and the server described in the foregoing steps 301-305 is a server cluster composed of the plurality of servers, and the terminal is composed of the multiple terminals. The terminal cluster, and then the operations of the steps 301-305, can ensure that the data forwarding between the multiple servers and the multiple terminals does not cause congestion and packet loss, thereby effectively maintaining the multiple servers and the multiple terminals. The data throughput rate is stable.
在本申请实施例中,接收终端发送的确认报文后,获取第一数据量、第二数据量和目标数据量,第一数据量是服务器在接收到该确认报文后更新的CWND值,第二数据量是服务器当前已经发送但尚未被终端确认接收到的数据量,目标数据量是在该确认报文的目标周期内能够存储到代理设备的缓存中的数据量。之后,确定该确认报文中的AWND值。如果第一数据量和该确认报文中的AWND值中的最小值大于目标数据量与第二数据量之和,则先将该确认报文中的AWND值替换为目标数据量与第二数据量之和,再将该确认报文发送给服务器。由于目标数据量是代理设备在该确认报文的目标周期内能够存储到代理设备的缓存中的数据量,因此,在第一数据量和该确认报文中的AWND值中的最小值大于目标数据量与第二数据量之和时,将该确认报文中的AWND值替换为目标数据量与第二数据量之和,可以控制服务器后续发送的数据量,保证服务器后续发送的数据量在代理设备的缓存中不会发生拥塞,维护了缓存队列的稳定,从而可以有效避免丢包,提高数据吞吐率。In the embodiment of the present application, after receiving the acknowledgement packet sent by the terminal, the first data volume, the second data volume, and the target data volume are obtained, where the first data volume is a CWND value updated by the server after receiving the acknowledgement packet. The second amount of data is the amount of data that the server has currently sent but has not yet received confirmation by the terminal, and the target amount of data is the amount of data that can be stored in the cache of the proxy device during the target period of the acknowledgement message. After that, the AWND value in the confirmation message is determined. If the first data amount and the minimum value of the AWND value in the acknowledgement message are greater than the sum of the target data amount and the second data amount, first replacing the AWND value in the acknowledgement message with the target data amount and the second data. The sum of the quantities is sent to the server. Since the target data amount is the amount of data that the proxy device can store in the buffer of the proxy device during the target period of the acknowledgement message, the minimum value in the first data amount and the AWND value in the acknowledgement packet is greater than the target. When the sum of the data amount and the second data amount, the AWND value in the confirmation message is replaced by the sum of the target data amount and the second data amount, which can control the amount of data sent by the server and ensure that the amount of data sent by the server is Congestion does not occur in the cache of the proxy device, and the stability of the cache queue is maintained, thereby effectively preventing packet loss and improving data throughput.
图4是本申请实施例提供的一种确认报文发送装置的结构示意图,该确认报文发送装置可以由软件、硬件或者两者的结合实现成为计算机设备的部分或者全部,该计算机设备可以为图2所示的计算机设备。参见图4,该装置包括接收模块401,获取模块402,确定模块403、替换模块404和发送模块405。4 is a schematic structural diagram of an apparatus for transmitting a confirmation message according to an embodiment of the present application. The apparatus for transmitting an acknowledgement message may be implemented as part or all of a computer device by software, hardware, or a combination of the two. The computer device may be The computer device shown in Figure 2. Referring to FIG. 4, the apparatus includes a receiving module 401, an obtaining module 402, a determining module 403, a replacing module 404, and a transmitting module 405.
接收模块401,用于执行图3实施例中的步骤301;The receiving module 401 is configured to perform step 301 in the embodiment of FIG. 3;
获取模块402,用于执行图3实施例中的步骤302;The obtaining module 402 is configured to perform step 302 in the embodiment of FIG. 3;
确定模块403,用于执行图3实施例中的步骤303;a determining module 403, configured to perform step 303 in the embodiment of FIG. 3;
替换模块404,用于执行图3实施例中的步骤304;a replacement module 404, configured to perform step 304 in the embodiment of FIG. 3;
发送模块405,用于执行图3实施例中的步骤305。The sending module 405 is configured to perform step 305 in the embodiment of FIG. 3.
可选地,获取模块402包括:Optionally, the obtaining module 402 includes:
第一获取单元,用于获取历史报文确认信息和确认报文携带的报文确认信息;The first obtaining unit is configured to obtain the historical message confirmation information and the acknowledgement information carried in the confirmation message;
第二获取单元,用于获取服务器配置的拥塞控制算法类型和服务器当前的CWND值;a second acquiring unit, configured to acquire a congestion control algorithm type configured by the server and a current CWND value of the server;
第三获取单元,用于根据历史报文确认信息、确认报文携带的报文确认信息、服务器配置的拥塞控制算法类型和服务器当前的CWND值,获取第一数据量。The third obtaining unit is configured to obtain the first data amount according to the historical message confirmation information, the acknowledgement message information carried in the confirmation packet, the type of the congestion control algorithm configured by the server, and the current CWND value of the server.
可选地,获取模块402包括:Optionally, the obtaining module 402 includes:
第四获取单元,用于获取服务器当前的发送窗口值;a fourth obtaining unit, configured to acquire a current sending window value of the server;
第一计算单元,用于将服务器当前的发送窗口值减去第一数据报文的数据量,得到第二数据量,第一数据报文为确认报文所确认接收到的服务器发送的数据报文。The first calculating unit is configured to subtract the data amount of the first data packet from the current sending window value of the server to obtain a second data quantity, where the first data packet is a datagram sent by the server confirmed by the confirmation message. Text.
可选地,获取模块402包括:Optionally, the obtaining module 402 includes:
第五获取单元,用于获取第三数据量、第四数据量和第五数据量,第三数据量是缓存中当前未被占用的空间能够存储的数据量,第四数据量是代理设备在确认报文的目标周期内能够发送给终端的数据量,第五数据量是服务器当前已经发送但代理设备尚未接收到的数据量;a fifth acquiring unit, configured to acquire a third data quantity, a fourth data quantity, and a fifth data quantity, where the third data quantity is a data quantity that can be stored in a space that is not occupied in the cache, and the fourth data quantity is that the proxy device is The amount of data that can be sent to the terminal within the target period of the message, and the fifth amount of data is the amount of data that the server has currently sent but that has not been received by the proxy device;
第二计算单元,用于将第三数据量加上第四数据量并减去第五数据量,得到第一数值;a second calculating unit, configured to add a third data amount to the fourth data amount and subtract the fifth data amount to obtain a first value;
确定单元,用于将小于或等于第一数值的数据量确定为目标数据量。a determining unit configured to determine an amount of data less than or equal to the first value as the target amount of data.
可选地,第五获取单元用于:Optionally, the fifth obtaining unit is configured to:
获取服务器与终端之间的环回时延;Obtain the loopback delay between the server and the terminal;
当环回时延大于预设时延时,将预设时延除以环回时延,得到第二数值;When the loopback delay is greater than the preset delay, the preset delay is divided by the loopback delay to obtain the second value.
将代理设备的缓存中最多能够存储的数据量乘以第二数值,得到第三数值;Multiplying the maximum amount of data that can be stored in the cache of the proxy device by the second value to obtain a third value;
获取代理设备的缓存中当前已经存储的数据量;Obtaining the amount of data currently stored in the cache of the proxy device;
将第三数值减去代理设备的缓存中当前已经存储的数据量,得到第三数据量。The third value is subtracted from the amount of data currently stored in the cache of the proxy device to obtain a third amount of data.
可选地,第五获取单元用于:Optionally, the fifth obtaining unit is configured to:
获取代理设备的空口速率;Obtain the air interface rate of the proxy device;
获取确认报文的目标周期的时长;The length of time to obtain the target period of the acknowledgement message;
将空口速率乘以确认报文的目标周期的时长,得到第四数据量。The fourth data amount is obtained by multiplying the air interface rate by the duration of the target period of the acknowledgement message.
可选地,第五获取单元用于:Optionally, the fifth obtaining unit is configured to:
获取历史目标周期时长,历史目标周期时长为历史确认报文的第一时间与第二时间之间相距的时长,第一时间为代理设备向服务器发送历史确认报文的时间,第二时间为服务 器接收到历史确认报文后发送的第一个数据报文被代理设备接收到的时间;The duration of the historical target period is obtained. The duration of the historical target period is the length of time between the first time and the second time of the historical confirmation packet. The first time is the time when the proxy device sends the history confirmation packet to the server, and the second time is the server. The time when the first data packet sent after receiving the history confirmation message is received by the proxy device;
根据历史目标周期时长,确定确认报文的目标周期的时长。Determine the duration of the target period of the acknowledgement message based on the historical target period duration.
可选地,第五获取单元用于:Optionally, the fifth obtaining unit is configured to:
获取服务器当前的发送窗口值和第六数据量,第六数据量是代理设备在接收到服务器发送的第二数据报文后接收到的服务器发送的数据量,第二数据报文为代理设备向服务器发送的上一个确认报文所确认接收到的服务器发送的数据报文;Obtaining a current sending window value and a sixth data amount of the server, where the sixth data volume is the amount of data sent by the server received by the proxy device after receiving the second data packet sent by the server, and the second data packet is the proxy device direction The last acknowledgement message sent by the server confirms the received data packet sent by the server;
将服务器当前的发送窗口值减去第六数据量,得到第五数据量。The sixth data amount is subtracted from the current transmission window value of the server to obtain a fifth data amount.
在本申请实施例中,接收终端发送的确认报文后,获取第一数据量、第二数据量和目标数据量,第一数据量是服务器在接收到该确认报文后更新的CWND值,第二数据量是服务器当前已经发送但尚未被终端确认接收到的数据量,目标数据量是在该确认报文的目标周期内能够存储到代理设备的缓存中的数据量。之后,确定该确认报文中的AWND值。如果第一数据量和该确认报文中的AWND值中的最小值大于目标数据量与第二数据量之和,则先将该确认报文中的AWND值替换为目标数据量与第二数据量之和,再将该确认报文发送给服务器。由于目标数据量是代理设备在该确认报文的目标周期内能够存储到代理设备的缓存中的数据量,因此,在第一数据量和该确认报文中的AWND值中的最小值大于目标数据量与第二数据量之和时,将该确认报文中的AWND值替换为目标数据量与第二数据量之和,可以控制服务器后续发送的数据量,保证服务器后续发送的数据量在代理设备的缓存中不会发生拥塞,维护了缓存队列的稳定,从而可以有效避免丢包,提高数据吞吐率。In the embodiment of the present application, after receiving the acknowledgement packet sent by the terminal, the first data volume, the second data volume, and the target data volume are obtained, where the first data volume is a CWND value updated by the server after receiving the acknowledgement packet. The second amount of data is the amount of data that the server has currently sent but has not yet received confirmation by the terminal, and the target amount of data is the amount of data that can be stored in the cache of the proxy device during the target period of the acknowledgement message. After that, the AWND value in the confirmation message is determined. If the first data amount and the minimum value of the AWND value in the acknowledgement message are greater than the sum of the target data amount and the second data amount, first replacing the AWND value in the acknowledgement message with the target data amount and the second data. The sum of the quantities is sent to the server. Since the target data amount is the amount of data that the proxy device can store in the buffer of the proxy device during the target period of the acknowledgement message, the minimum value in the first data amount and the AWND value in the acknowledgement packet is greater than the target. When the sum of the data amount and the second data amount, the AWND value in the confirmation message is replaced by the sum of the target data amount and the second data amount, which can control the amount of data sent by the server and ensure that the amount of data sent by the server is Congestion does not occur in the cache of the proxy device, and the stability of the cache queue is maintained, thereby effectively preventing packet loss and improving data throughput.
需要说明的是:上述实施例提供的确认报文发送装置在确认报文发送时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的确认报文发送装置与确认报文发送方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。It should be noted that the acknowledgment message sending apparatus provided by the foregoing embodiment only exemplifies the division of the foregoing functional modules when acknowledging the message transmission. In actual applications, the functions may be assigned different functions as needed. The module is completed, dividing the internal structure of the device into different functional modules to perform all or part of the functions described above. In addition, the acknowledgment message sending apparatus and the acknowledgment message sending method embodiment provided by the foregoing embodiments are in the same concept, and the specific implementation process is described in detail in the method embodiment, and details are not described herein again.
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意结合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如:同轴电缆、光纤、数据用户线(Digital Subscriber Line,DSL))或无线(例如:红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如:软盘、硬盘、磁带)、光介质(例如:数字通用光盘(Digital Versatile Disc,DVD))、或者半导体介质(例如:固态硬盘(Solid State Disk,SSD))等。In the above embodiments, it may be implemented in whole or in part by software, hardware, firmware, or any combination thereof. When implemented in software, it may be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer instructions are loaded and executed on a computer, the processes or functions described in accordance with embodiments of the present application are generated in whole or in part. The computer can be a general purpose computer, a special purpose computer, a computer network, or other programmable device. The computer instructions can be stored in a computer readable storage medium or transferred from one computer readable storage medium to another computer readable storage medium, for example, the computer instructions can be from a website site, computer, server or data center Transfer to another website site, computer, server, or data center by wire (eg, coaxial cable, fiber optic, Digital Subscriber Line (DSL)) or wireless (eg, infrared, wireless, microwave, etc.). The computer readable storage medium can be any available media that can be accessed by a computer or a data storage device such as a server, data center, or the like that includes one or more available media. The usable medium may be a magnetic medium (for example, a floppy disk, a hard disk, a magnetic tape), an optical medium (for example, a digital versatile disc (DVD)), or a semiconductor medium (for example, a solid state disk (SSD)). )Wait.
以上所述为本申请提供的实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。The above description of the embodiments of the present application is not intended to limit the application, and any modifications, equivalents, improvements, etc. made within the spirit and principles of the present application are included in the scope of the present application. Inside.

Claims (16)

  1. 一种确认报文发送方法,其特征在于,应用于代理设备,所述方法包括:A method for sending a confirmation message, which is characterized in that it is applied to a proxy device, and the method includes:
    接收终端发送的确认报文;Receiving an acknowledgement message sent by the terminal;
    获取第一数据量、第二数据量和目标数据量,所述第一数据量是服务器在接收到所述确认报文后更新的拥塞窗口CWND值,所述第二数据量是所述服务器当前已经发送但尚未被所述终端确认接收到的数据量,所述目标数据量是在所述确认报文的目标周期内能够存储到所述代理设备的缓存中的数据量;Obtaining a first data quantity, a second data quantity, and a target data quantity, where the first data quantity is a congestion window CWND value updated by the server after receiving the confirmation message, where the second data quantity is current by the server The amount of data that has been sent but not yet acknowledged by the terminal, the target amount of data being the amount of data that can be stored in the cache of the proxy device during the target period of the acknowledgement message;
    确定所述确认报文中的接收通告窗口AWND值;Determining a receiving notification window AWND value in the confirmation message;
    如果所述第一数据量和所述确认报文中的AWND值中的最小值大于所述目标数据量与所述第二数据量之和,则将所述确认报文中的AWND值替换为所述目标数据量与所述第二数据量之和;If the minimum value of the first data amount and the AWND value in the acknowledgement message is greater than the sum of the target data amount and the second data amount, replacing the AWND value in the acknowledgement message with a sum of the target data amount and the second data amount;
    将所述确认报文发送给所述服务器。Sending the confirmation message to the server.
  2. 如权利要求1所述的方法,其特征在于,所述获取第一数据量,包括:The method of claim 1, wherein the obtaining the first amount of data comprises:
    获取历史报文确认信息和所述确认报文携带的报文确认信息;Obtaining the history message confirmation information and the message confirmation information carried in the confirmation message;
    获取所述服务器配置的拥塞控制算法类型和所述服务器当前的CWND值;Obtaining a congestion control algorithm type configured by the server and a current CWND value of the server;
    根据历史报文确认信息、所述确认报文携带的报文确认信息、所述服务器配置的拥塞控制算法类型和所述服务器当前的CWND值,获取所述第一数据量。Obtaining the first data amount according to the historical message confirmation information, the message confirmation information carried in the confirmation message, the type of the congestion control algorithm configured by the server, and the current CWND value of the server.
  3. 如权利要求1所述的方法,其特征在于,所述获取第二数据量,包括:The method of claim 1, wherein the obtaining the second amount of data comprises:
    获取所述服务器当前的发送窗口值;Obtaining a current send window value of the server;
    将所述服务器当前的发送窗口值减去第一数据报文的数据量,得到所述第二数据量,所述第一数据报文为所述确认报文所确认接收到的所述服务器发送的数据报文。And subtracting the data volume of the first data packet from the current sending window value of the server, to obtain the second data volume, where the first data packet is sent by the server that is confirmed by the acknowledgement message. Data message.
  4. 如权利要求1-3任一所述的方法,其特征在于,所述获取目标数据量,包括:The method of any of claims 1-3, wherein the obtaining the target data amount comprises:
    获取第三数据量、第四数据量和第五数据量,所述第三数据量是所述缓存中当前未被占用的空间能够存储的数据量,所述第四数据量是所述代理设备在所述确认报文的目标周期内能够发送给所述终端的数据量,所述第五数据量是所述服务器当前已经发送但所述代理设备尚未接收到的数据量;Obtaining a third data amount, a fourth data amount, and a fifth data amount, wherein the third data amount is an amount of data that can be stored in a space that is not occupied in the cache, and the fourth data amount is the proxy device The amount of data that can be sent to the terminal during the target period of the acknowledgement message, the fifth amount of data being the amount of data that the server has currently sent but not yet received by the proxy device;
    将所述第三数据量加上所述第四数据量并减去所述第五数据量,得到第一数值;Adding the third amount of data to the fourth amount of data and subtracting the fifth amount of data to obtain a first value;
    将小于或等于所述第一数值的数据量确定为所述目标数据量。An amount of data less than or equal to the first value is determined as the target amount of data.
  5. 如权利要求4所述的方法,其特征在于,所述获取第三数据量,包括:The method of claim 4, wherein the obtaining the third amount of data comprises:
    获取所述服务器与所述终端之间的环回时延;Obtaining a loopback delay between the server and the terminal;
    当所述环回时延大于预设时延时,将所述预设时延除以所述环回时延,得到第二数值;When the loopback delay is greater than a preset time delay, dividing the preset delay by the loopback delay to obtain a second value;
    将所述代理设备的缓存中最多能够存储的数据量乘以所述第二数值,得到第三数值;Multiplying the amount of data that can be stored in the cache of the proxy device by the second value to obtain a third value;
    获取所述代理设备的缓存中当前已经存储的数据量;Obtaining an amount of data currently stored in a cache of the proxy device;
    将所述第三数值减去所述代理设备的缓存中当前已经存储的数据量,得到所述第三数据 量。The third value is subtracted from the amount of data currently stored in the cache of the proxy device to obtain the third amount of data.
  6. 如权利要求4所述的方法,其特征在于,所述获取第四数据量,包括:The method of claim 4, wherein the obtaining the fourth amount of data comprises:
    获取所述代理设备的空口速率;Obtaining an air interface rate of the proxy device;
    获取所述确认报文的目标周期的时长;Obtaining a duration of the target period of the acknowledgement message;
    将所述空口速率乘以所述确认报文的目标周期的时长,得到所述第四数据量。The fourth data amount is obtained by multiplying the air interface rate by the duration of the target period of the acknowledgement message.
  7. 如权利要求6所述的方法,其特征在于,所述获取所述确认报文的目标周期的时长,包括:The method according to claim 6, wherein the obtaining the duration of the target period of the acknowledgement message comprises:
    获取历史目标周期时长,所述历史目标周期时长为历史确认报文的第一时间与第二时间之间相距的时长,所述第一时间为所述代理设备向所述服务器发送所述历史确认报文的时间,所述第二时间为所述服务器接收到所述历史确认报文后发送的第一个数据报文被所述代理设备接收到的时间;Obtaining a historical target period duration, where the duration of the historical target period is a duration between the first time and the second time of the historical confirmation message, where the first time is that the proxy device sends the history confirmation to the server The time of the message, the second time is a time when the first data message sent by the server after receiving the history confirmation message is received by the proxy device;
    根据所述历史目标周期时长,确定所述确认报文的目标周期的时长。Determining a duration of the target period of the acknowledgement message according to the historical target period duration.
  8. 如权利要求4所述的方法,其特征在于,所述获取第五数据量,包括:The method of claim 4, wherein the obtaining the fifth amount of data comprises:
    获取所述服务器当前的发送窗口值和第六数据量,所述第六数据量是所述代理设备在接收到所述服务器发送的第二数据报文后接收到的所述服务器发送的数据量,所述第二数据报文为所述代理设备向所述服务器发送的上一个确认报文所确认接收到的所述服务器发送的数据报文;Acquiring a current sending window value and a sixth data amount of the server, where the sixth data amount is the amount of data sent by the server after receiving the second data packet sent by the server by the proxy device The second data packet is a data packet sent by the server that is confirmed by the last acknowledgement message sent by the proxy device to the server;
    将所述服务器当前的发送窗口值减去所述第六数据量,得到所述第五数据量。Subtracting the sixth data amount from the current transmission window value of the server to obtain the fifth data amount.
  9. 一种确认报文发送装置,其特征在于,应用于代理设备,所述装置包括:An acknowledgement message sending device is characterized in that it is applied to a proxy device, and the device includes:
    接收模块,用于接收终端发送的确认报文;a receiving module, configured to receive an acknowledgement packet sent by the terminal;
    获取模块,用于获取第一数据量、第二数据量和目标数据量,所述第一数据量是服务器在接收到所述确认报文后更新的拥塞窗口CWND值,所述第二数据量是所述服务器当前已经发送但尚未被所述终端确认接收到的数据量,所述目标数据量是在所述确认报文的目标周期内能够存储到所述代理设备的缓存中的数据量;An acquiring module, configured to acquire a first data amount, a second data amount, and a target data amount, where the first data quantity is a congestion window CWND value updated by the server after receiving the confirmation message, and the second data quantity Is the amount of data that the server has sent but has not been acknowledged by the terminal, and the target data amount is the amount of data that can be stored in the cache of the proxy device during the target period of the acknowledgement message;
    确定模块,用于确定所述确认报文中的接收通告窗口AWND值;a determining module, configured to determine a receiving notification window AWND value in the confirmation message;
    替换模块,用于如果所述第一数据量和所述确认报文中的AWND值中的最小值大于所述目标数据量与所述第二数据量之和,则将所述确认报文中的AWND值替换为所述目标数据量与所述第二数据量之和;a replacement module, configured to: if the minimum value of the first data amount and the AWND value in the acknowledgement message is greater than a sum of the target data amount and the second data amount, The AWND value is replaced by the sum of the target data amount and the second data amount;
    发送模块,用于将所述确认报文发送给所述服务器。And a sending module, configured to send the acknowledgement message to the server.
  10. 如权利要求9所述的装置,其特征在于,所述获取模块包括:The device of claim 9, wherein the obtaining module comprises:
    第一获取单元,用于获取历史报文确认信息和所述确认报文携带的报文确认信息;a first obtaining unit, configured to obtain historical message confirmation information and message acknowledgement information carried in the acknowledgement message;
    第二获取单元,用于获取所述服务器配置的拥塞控制算法类型和所述服务器当前的CWND值;a second acquiring unit, configured to acquire a congestion control algorithm type configured by the server and a current CWND value of the server;
    第三获取单元,用于根据历史报文确认信息、所述确认报文携带的报文确认信息、所述 服务器配置的拥塞控制算法类型和所述服务器当前的CWND值,获取所述第一数据量。a third acquiring unit, configured to acquire the first data according to the historical message confirmation information, the message confirmation information carried in the confirmation message, the type of the congestion control algorithm configured by the server, and the current CWND value of the server. the amount.
  11. 如权利要求9所述的装置,其特征在于,所述获取模块包括:The device of claim 9, wherein the obtaining module comprises:
    第四获取单元,用于获取所述服务器当前的发送窗口值;a fourth obtaining unit, configured to acquire a current sending window value of the server;
    第一计算单元,用于将所述服务器当前的发送窗口值减去第一数据报文的数据量,得到所述第二数据量,所述第一数据报文为所述确认报文所确认接收到的所述服务器发送的数据报文。a first calculating unit, configured to subtract a data amount of the first data packet from a current sending window value of the server, to obtain the second data amount, where the first data packet is confirmed by the acknowledgement message The received data message sent by the server.
  12. 如权利要求9-11任一所述的装置,其特征在于,所述获取模块包括:The device according to any one of claims 9-11, wherein the obtaining module comprises:
    第五获取单元,用于获取第三数据量、第四数据量和第五数据量,所述第三数据量是所述缓存中当前未被占用的空间能够存储的数据量,所述第四数据量是所述代理设备在所述确认报文的目标周期内能够发送给所述终端的数据量,所述第五数据量是所述服务器当前已经发送但所述代理设备尚未接收到的数据量;a fifth acquiring unit, configured to acquire a third data amount, a fourth data amount, and a fifth data amount, where the third data amount is an amount of data that can be stored in a space that is not occupied in the cache, the fourth The amount of data is the amount of data that the proxy device can send to the terminal during the target period of the acknowledgement message, and the fifth amount of data is data that the server has currently sent but the proxy device has not received yet. the amount;
    第二计算单元,用于将所述第三数据量加上所述第四数据量并减去所述第五数据量,得到第一数值;a second calculating unit, configured to add the third data amount to the fourth data amount and subtract the fifth data amount to obtain a first value;
    确定单元,用于将小于或等于所述第一数值的数据量确定为所述目标数据量。a determining unit configured to determine an amount of data less than or equal to the first value as the target amount of data.
  13. 如权利要求12所述的装置,其特征在于,所述第五获取单元用于:The apparatus according to claim 12, wherein said fifth obtaining unit is configured to:
    获取所述服务器与所述终端之间的环回时延;Obtaining a loopback delay between the server and the terminal;
    当所述环回时延大于预设时延时,将所述预设时延除以所述环回时延,得到第二数值;When the loopback delay is greater than a preset time delay, dividing the preset delay by the loopback delay to obtain a second value;
    将所述代理设备的缓存中最多能够存储的数据量乘以所述第二数值,得到第三数值;Multiplying the amount of data that can be stored in the cache of the proxy device by the second value to obtain a third value;
    获取所述代理设备的缓存中当前已经存储的数据量;Obtaining an amount of data currently stored in a cache of the proxy device;
    将所述第三数值减去所述代理设备的缓存中当前已经存储的数据量,得到所述第三数据量。The third value is subtracted from the amount of data currently stored in the cache of the proxy device to obtain the third amount of data.
  14. 如权利要求12所述的装置,其特征在于,所述第五获取单元用于:The apparatus according to claim 12, wherein said fifth obtaining unit is configured to:
    获取所述代理设备的空口速率;Obtaining an air interface rate of the proxy device;
    获取所述确认报文的目标周期的时长;Obtaining a duration of the target period of the acknowledgement message;
    将所述空口速率乘以所述确认报文的目标周期的时长,得到所述第四数据量。The fourth data amount is obtained by multiplying the air interface rate by the duration of the target period of the acknowledgement message.
  15. 如权利要求14所述的装置,其特征在于,所述第五获取单元用于:The apparatus according to claim 14, wherein said fifth obtaining unit is configured to:
    获取历史目标周期时长,所述历史目标周期时长为历史确认报文的第一时间与第二时间之间相距的时长,所述第一时间为所述代理设备向所述服务器发送所述历史确认报文的时间,所述第二时间为所述服务器接收到所述历史确认报文后发送的第一个数据报文被所述代理设备接收到的时间;Obtaining a historical target period duration, where the duration of the historical target period is a duration between the first time and the second time of the historical confirmation message, where the first time is that the proxy device sends the history confirmation to the server The time of the message, the second time is a time when the first data message sent by the server after receiving the history confirmation message is received by the proxy device;
    根据所述历史目标周期时长,确定所述确认报文的目标周期的时长。Determining a duration of the target period of the acknowledgement message according to the historical target period duration.
  16. 如权利要求12所述的方法,其特征在于,所述第五获取单元用于:The method of claim 12, wherein the fifth obtaining unit is configured to:
    获取所述服务器当前的发送窗口值和第六数据量,所述第六数据量是所述代理设备在接 收到所述服务器发送的第二数据报文后接收到的所述服务器发送的数据量,所述第二数据报文为所述代理设备向所述服务器发送的上一个确认报文所确认接收到的所述服务器发送的数据报文;Acquiring a current sending window value and a sixth data amount of the server, where the sixth data amount is the amount of data sent by the server after receiving the second data packet sent by the server by the proxy device The second data packet is a data packet sent by the server that is confirmed by the last acknowledgement message sent by the proxy device to the server;
    将所述服务器当前的发送窗口值减去所述第六数据量,得到所述第五数据量。Subtracting the sixth data amount from the current transmission window value of the server to obtain the fifth data amount.
PCT/CN2018/085610 2018-05-04 2018-05-04 Acknowledgment message sending method and apparatus WO2019210509A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/CN2018/085610 WO2019210509A1 (en) 2018-05-04 2018-05-04 Acknowledgment message sending method and apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2018/085610 WO2019210509A1 (en) 2018-05-04 2018-05-04 Acknowledgment message sending method and apparatus

Publications (1)

Publication Number Publication Date
WO2019210509A1 true WO2019210509A1 (en) 2019-11-07

Family

ID=68386217

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2018/085610 WO2019210509A1 (en) 2018-05-04 2018-05-04 Acknowledgment message sending method and apparatus

Country Status (1)

Country Link
WO (1) WO2019210509A1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101867512A (en) * 2010-04-15 2010-10-20 华为技术有限公司 Data transmission control method and device
CN101982951A (en) * 2010-11-19 2011-03-02 华为技术有限公司 Data transmission control method and intermediate node
US20150237173A1 (en) * 2012-08-23 2015-08-20 Telefonaktiebolaget L M Ericsson (Publ) TCP Proxy Server
US20170310601A1 (en) * 2016-04-21 2017-10-26 Qualcomm Incorporated Radio-aware transmission control protocol rate control

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101867512A (en) * 2010-04-15 2010-10-20 华为技术有限公司 Data transmission control method and device
CN101982951A (en) * 2010-11-19 2011-03-02 华为技术有限公司 Data transmission control method and intermediate node
US20150237173A1 (en) * 2012-08-23 2015-08-20 Telefonaktiebolaget L M Ericsson (Publ) TCP Proxy Server
US20170310601A1 (en) * 2016-04-21 2017-10-26 Qualcomm Incorporated Radio-aware transmission control protocol rate control

Similar Documents

Publication Publication Date Title
US10795745B2 (en) Dynamic and adaptive approach for failure detection of node in a cluster
US11558302B2 (en) Data transmission method and apparatus
US9596281B2 (en) Transport accelerator implementing request manager and connection manager functionality
JP6303452B2 (en) Communication node
JP2014524092A (en) System and method for reliable virtual bidirectional data stream communication with single socket point-to-multipoint performance
US10020918B2 (en) Fast coupled retransmission for multipath communications
EP2978171B1 (en) Communication method, communication device, and communication program
JP7327730B2 (en) Packet processing method and apparatus
CN109660467B (en) Method and apparatus for controlling flow
US8055782B2 (en) System and method for generating exception delay messages when messages are delayed
EP3886396B1 (en) Methods for dynamically controlling transmission control protocol push functionality and devices thereof
JP2008053888A (en) Communication equipment, program, information storage medium and communication control method
WO2019210509A1 (en) Acknowledgment message sending method and apparatus
JP5723307B2 (en) Packet monitoring system
CN109688085B (en) Transmission control protocol proxy method, storage medium and server
JP6805713B2 (en) Receive traffic speedup device, speedup method, and speedup program
JP2015156058A (en) Cache control system, cache device, and cache priority control method
CN110289937B (en) Delayed responder not ready negative acknowledgement
JP5702232B2 (en) Server cooperation mutual assistance system and server and server cooperation mutual assistance program
WO2018056399A1 (en) Congestion suppression device, congestion suppression method, and program
JP6897769B2 (en) Data transmitters, methods and programs
EP4383858A1 (en) Electronic device for processing large amount of data in open radio access network and method for operating same
EP3787259B1 (en) Message processing method, apparatus and system
JP2009246533A (en) Communication terminal, communicating method, data communication system, and program
US10721153B2 (en) Method and system for increasing throughput of a TCP/IP connection

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 18917158

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 18917158

Country of ref document: EP

Kind code of ref document: A1