WO2019114156A1 - 一种无线网络数据传输方法、发送端及接收端 - Google Patents
一种无线网络数据传输方法、发送端及接收端 Download PDFInfo
- Publication number
- WO2019114156A1 WO2019114156A1 PCT/CN2018/081743 CN2018081743W WO2019114156A1 WO 2019114156 A1 WO2019114156 A1 WO 2019114156A1 CN 2018081743 W CN2018081743 W CN 2018081743W WO 2019114156 A1 WO2019114156 A1 WO 2019114156A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- receiving end
- depth
- response message
- current maximum
- current
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/27—Evaluation or update of window size, e.g. using information derived from acknowledged [ACK] packets
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/02—Traffic management, e.g. flow control or congestion control
- H04W28/0231—Traffic management, e.g. flow control or congestion control based on communication conditions
- H04W28/0236—Traffic management, e.g. flow control or congestion control based on communication conditions radio quality, e.g. interference, losses or delay
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/26—Flow control; Congestion control using explicit feedback to the source, e.g. choke packets
- H04L47/266—Stopping or restarting the source, e.g. X-on or X-off
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/02—Traffic management, e.g. flow control or congestion control
- H04W28/06—Optimizing the usage of the radio link, e.g. header compression, information sizing, discarding information
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/02—Traffic management, e.g. flow control or congestion control
- H04W28/10—Flow control between communication endpoints
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/16—Central resource management; Negotiation of resources or communication parameters, e.g. negotiating bandwidth or QoS [Quality of Service]
- H04W28/18—Negotiating wireless communication parameters
- H04W28/20—Negotiating bandwidth
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W72/00—Local resource management
- H04W72/04—Wireless resource allocation
- H04W72/044—Wireless resource allocation based on the type of the allocated resource
- H04W72/0446—Resources in time domain, e.g. slots or frames
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0896—Bandwidth or capacity management, i.e. automatically increasing or decreasing capacities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/28—Flow control; Congestion control in relation to timing considerations
Definitions
- the present application relates to the field of Internet technologies, and in particular, to a wireless network data transmission method, a transmitting end, and a receiving end.
- Wi-Fi networks are the main access methods for wireless terminals.
- the sender When transmitting data over a Wi-Fi network, the sender typically determines the number of messages that can be sent based on the current window value.
- the window value is usually determined by the response message fed back by the receiver. Therefore, in current Wi-Fi networks, the response message usually determines the number of messages that the sender can send.
- the receiver will feed back the corresponding response packet for the received data packet.
- the sender can update the current window value according to the received response message, and send the data message according to the updated window value.
- the sender Since the response message fed back by the current receiver is usually one-to-one corresponding to the data message sent by the sender, the sender frequently updates the window value, which causes the sender to consume more value in updating the window value. H.
- the number of response packets may be lost due to the large number of response packets. In this way, the sender may not be able to receive partial response messages, and thus the window values cannot be updated in time.
- the window value limits the number of data packets sent, which can result in the sender not being able to effectively utilize the wireless network bandwidth, resulting in less efficient data transmission.
- the purpose of the application is to provide a wireless network data transmission method, a transmitting end and a receiving end, which can improve the efficiency of data transmission.
- the present application provides a wireless network data transmission method, where the method includes: sending a data message to a receiving end based on an initial window value and an initial aggregation depth; and receiving a response message fed back by the receiving end. Determining a current maximum bandwidth and a current window value based on the characterization information of the response message; calculating a current maximum aggregate depth according to the current maximum bandwidth; according to the current window value and the current maximum The aggregation depth is sent to the receiving end, and the current maximum aggregation depth is provided to the receiving end, so that the receiving end feeds back the response packet according to the current maximum aggregated depth.
- another aspect of the present application further provides a transmitting end, where the transmitting end includes a processor and a memory, where the computer stores a computer program, and when the computer program is executed by the processor, the following steps are implemented. Transmitting a data packet to the receiving end based on the initial window value and the initial aggregation depth; receiving a response packet fed back by the receiving end, and determining a current maximum bandwidth and a current window value based on the characterization information of the response packet; Calculating a current maximum aggregated depth according to the current maximum bandwidth; sending a data packet to the receiving end according to the current window value and the current maximum aggregated depth, and providing the receiving end with the The current maximum aggregation depth, so that the receiving end feeds back the response message according to the current maximum aggregate depth.
- the present application further provides a wireless network data transmission method, where the method includes: receiving a data packet sent by a sender and a maximum aggregation depth; and collecting statistics of the received data packet within a specified time period. And comparing the quantity of the data packet with the maximum aggregation depth; and according to the comparison result, feeding back the response message to the sending end.
- another aspect of the present application further provides a receiving end, the receiving end comprising a processor and a memory, wherein the memory stores a computer program, and when the computer program is executed by the processor, the following steps are implemented Receiving the data packet sent by the sending end and the maximum aggregation depth; counting the number of data packets received in the specified time period, and comparing the number of the data packets with the maximum aggregated depth; according to the comparison result, Sending a response message to the sender.
- the transmitting end can provide the maximum aggregation depth to the receiving end when transmitting the data packet, and the maximum aggregation depth can be used as the basis for the receiving end to respond to the response message.
- the receiving end may reply a response message to the sending end.
- the sender can dynamically adjust the current maximum bandwidth and the current window value based on the quantity information carried in the response packet. According to the adjusted maximum bandwidth, the current maximum aggregate depth can be further adjusted.
- the data packet is sent to the receiving end again, and the adjusted maximum aggregated depth is provided to the receiving end.
- the receiving end can feedback the response message according to the current maximum aggregation depth. Therefore, in the present application, the receiving end can uniformly reply a response message when the received data packet reaches the maximum aggregation depth. In this way, the receiving end does not need to feed back response packets for each data packet, thereby greatly reducing the number of response packets sent. In this way, the sending end can reduce the time for processing the response message. In addition, since the number of response messages is reduced, the probability that the response message is lost due to network fluctuations is reduced, and the sending end can adjust the window value in time, thereby improving The efficiency of data transmission.
- FIG. 1 is a flowchart of a wireless network data transmission method in Embodiment 1 of the present application.
- FIG. 2 is a schematic diagram of a wireless network data transmission method in Embodiment 1 of the present application.
- Embodiment 3 is a schematic structural diagram of a transmitting end in Embodiment 2 of the present application.
- FIG. 5 is a schematic diagram of a wireless network data transmission method in Embodiment 3 of the present application.
- FIG. 6 is a schematic structural diagram of a receiving end in Embodiment 4 of the present application.
- the present application provides a wireless network data transmission method, which may be applied to a transmitting end, and the transmitting end may be a terminal device supporting a wireless network.
- the sender can be a router.
- the sending end may also be an electronic device used by the user.
- the sender may be a desktop computer, a notebook computer, a tablet computer, a smart phone, a smart wearable device, or the like that supports a wireless network. Referring to Figures 1 and 2, the method can include the following steps.
- S11 Send a data packet to the receiving end based on the initial window value and the initial aggregation depth.
- the data packet can be sent based on the initial window value and the initial aggregation depth.
- the initial window value and the initial aggregate depth may be preset for a network state. For example, in a wireless network with a bandwidth of 5 Mbps, the initial window value and initial aggregate depth may be 24 and 6, respectively. In a 100 Mbps wireless network with a high bandwidth, the initial window value and the initial aggregate depth may be 32 and 8, respectively.
- the aggregated depth may define the number of data messages sent each time
- the window value may define the total number of consecutively transmitted data messages.
- the transmitting end can send 6 data messages each time, and after continuously transmitting 24 data messages, that is, the window is aborted and the data is aborted.
- the sending end may send a data packet to the receiving end according to a specified time period.
- the specified time period may be 1 ms, so that the sending end may send a data message to the receiving end every 1 ms.
- the number of data packets sent by the sending end may be the same as the initial aggregation depth in each time period.
- the transmitting end can send 6 data messages to the receiving end every 1 ms.
- the transmitting end may suspend sending the data message to the receiving end. For example, after the transmitting end continuously sends 24 data packets to the receiving end, if the response packet sent by the receiving end is not received, the transmitting end can suspend sending the data packet to the receiving end. After receiving the response message fed back by the receiving end, the transmitting end may send the data packet of the number of responses of the receiving end to the receiving end.
- S13 Receive a response message fed back by the receiving end, and determine a current maximum bandwidth and a current window value based on the characterization information of the response message.
- the current maximum bandwidth and the current window value may be determined based on the characterization information of the response message.
- the response message fed back by the receiving end may carry the quantity information, where the quantity information may be used to represent the number of data messages received by the receiving end within a specified time period.
- the specified time period may be a preset duration.
- the specified time period may be 4 ms, then the quantity information may represent the number of data messages received by the receiving end within 4 ms.
- the sender sends 6 data packets to the receiver every 1 ms, so the sender can send 24 data packets within 4 ms, and the receiver may only receive 20 packets within 4 ms.
- the data message, then the response message fed back by the receiver can carry the digital information of the representation 20.
- the maximum bandwidth may be different from the traditional bandwidth metric.
- the traditional bandwidth can be measured by using the number of bytes per second (bytes per second).
- the sender when the current maximum bandwidth is determined, the sender can be recorded and received within a preset duration. Each response message to. For example, the preset duration may be 1 s, so that each response message received by the sender within 1 s can be recorded. Assume that the sender receives a total of five response messages within 1 s. At this time, the number of characterizations of the quantity information in each response message can be counted. For example, in the above five response messages, the number of quantity information representations are 20, 22, 24, 24, and 22, respectively. At this point, the number of statistics can be superimposed to get the sum of the statistics.
- the ratio of the sum of the statistics to the preset duration can be taken as the current maximum bandwidth.
- 112 can be used as the current maximum bandwidth.
- the unit of the maximum bandwidth may be pps (packets per second, the number of packets corresponding to each second).
- the accumulation when determining the current window value, the accumulation may be performed on the basis of the initial window value. Specifically, after receiving the response message fed back by the receiving end, the transmitting end may record the quantity represented by the quantity information in the response message, and then may use the sum of the initial window value and the recorded quantity as the The current window value. For example, if the initial window value is 24, and the number of representations of the quantity information in the received response message is 6, then 30 can be used as the current window value. Thus, the next time the data message is sent, the upper limit of the continuously transmitted data message can be changed from 24 to 30. Subsequent to the receiving end receiving the response message fed back by the receiving end, the transmitting end can continue to accumulate on the basis of 30, thereby obtaining a larger window value.
- the current maximum bandwidth does not increase within a specified duration, it indicates that the current network state is relatively stable, and the current window value may be maintained unchanged without continuously increasing the window value.
- the current maximum bandwidth is 1000 pps in 5 seconds, so after the end of the 5th second, the current window value can be kept unchanged. This window value can be maintained until the current maximum bandwidth exceeds 1000 pps. If the current maximum bandwidth exceeds 1000 pps, then the current window value can be continued in accordance with the normal accumulation process.
- the current maximum aggregate depth may be calculated based on the current maximum bandwidth.
- the current maximum aggregate depth can be calculated according to the following formula:
- agg represents the current maximum aggregate depth
- pps represents the current maximum bandwidth
- the maximum aggregate depth obtained according to the above formula may be relatively small.
- the minimum value of the maximum polymerization depth may be defined. Specifically, when the current maximum bandwidth is less than a specified threshold, the current maximum aggregate depth may be set to be not less than a first lower limit. And when the current maximum bandwidth is greater than or equal to the specified threshold, the current maximum aggregate depth may be set to be not less than a second lower limit, where the first lower limit is less than the second lower limit. value.
- the specified threshold may be 1000 pps
- the first lower limit may be 2
- the second lower limit may be 3.
- the current maximum aggregate depth may be set to 2.
- the current maximum aggregate depth may be set to 3.
- S17 Send a data packet to the receiving end according to the current window value and the current maximum aggregation depth, and provide the current maximum aggregated depth to the receiving end, so that the receiving end is configured according to The current maximum aggregate depth feedback response message.
- the data message can be sent to the receiving end according to the current window value and the current maximum aggregation depth.
- the current maximum aggregate depth may define the number of data messages sent each time
- the current window value may define the total number of consecutively transmitted data messages. For example, when the current window value and the current maximum aggregate depth are 30 and 6, respectively, the transmitting end can send 6 data packets at a time, and after continuously transmitting 30 data packets, the transmitting datagram can be suspended. Text.
- the sending end may send a data packet to the receiving end according to a specified time period.
- the specified time period may be 1 ms, so that the sending end may send a data message to the receiving end every 1 ms.
- the number of data packets sent by the sending end may be the same as the current maximum aggregated depth in each time period.
- the transmitting end can send 6 data messages to the receiving end every 1 ms.
- the transmitting end may suspend sending the data message to the receiving end. For example, after the transmitting end continuously sends 30 data packets to the receiving end, if the response packet sent by the receiving end is not received, the transmitting end can suspend sending the data packet to the receiving end. After receiving the response message fed back by the receiving end, the transmitting end may send the data packet of the number of responses of the receiving end to the receiving end.
- the sending end when the sending end sends a data packet to the receiving end, the sending end may provide the current maximum aggregated depth to the receiving end. In this way, after receiving the current maximum aggregation depth, the receiving end may feed back the response packet according to the current maximum aggregated depth. Specifically, the receiving end may count the number of data packets received within a specified time period. The specified time period may be the same as the time period in which the sending end sends the data message. For example, if the sending end sends a data packet according to a time period of 1 ms, the receiving end can count the number of received data packets within a period of 1 ms.
- the statistically obtained quantity may be compared with the current maximum aggregated depth.
- the receiving end may reply a response packet to the sending end whenever the number of received data packets reaches the maximum aggregation depth. . For example, if a total of 18 data packets are received in 1 ms, and the current maximum aggregation depth is 6, the receiving end can reply 3 response messages, wherein each response message can be sent for 6 data messages. . In this way, the response message may carry the quantity information for characterizing the total number of received data messages, so that the sender may be notified that the current response message is sent for 6 data messages.
- the receiving end may determine a tolerance time limit.
- the receiving end may continue to count the number of received data packets within the tolerance time limit. For example, the number of data packets received by the receiving end within 1 ms is 4, which is smaller than the current maximum aggregate depth 6.
- the receiving end can determine the tolerance time limit according to the current network state. Assuming that the tolerance time is 1 ms, the receiving end can continue to count the number of received data packets on the basis of the number 4 in the next 1 ms. For example, in the next 1 ms, the receiver receives two data packets, and the number of received data packets is 6.
- the transmitting end may provide round-trip delay information to the receiving end.
- the round-trip delay information may be determined by the sender based on a time node that sends a data message and a time node that receives the response message. Specifically, a difference between a time node that receives the response message and a time node that sends the data message may be used as the round-trip delay information. For example, the time node for sending a data message is 0 ms, and the time node for receiving a response message is 10 ms, then the round-trip delay information can be 10 ms.
- the receiving end may determine a tolerance time limit according to the round-trip delay information, and feedback the response message based on the tolerance time limit and the current maximum aggregate depth. Specifically, when determining the tolerant time limit, the receiving end may compare the delay characterized by the round-trip delay information with a first delay threshold and a second delay threshold, where the first time The delay threshold is less than the second delay threshold. When the delay is less than or equal to the first delay threshold, the tolerance time limit may be set to a first preset time limit. When the delay is greater than the first delay threshold and less than or equal to the second delay threshold, the tolerance time may be set to a second preset time limit.
- the tolerance time may be set to a third preset time limit; wherein the first preset time limit is less than the second preset time a limit value, and the second preset time limit value is less than the third preset time limit value.
- the tolerance time limit may be set to 1 ms; when the delay is greater than 20 ms and less than or equal to 50 ms, the tolerance time limit may be set to 2 ms; when the delay is When it is greater than 50 ms, the tolerance time limit can be set to 5 ms.
- the receiving end may be sent to the sending end, where the first response packet is sent for the data packet with the maximum aggregation depth, so the first response packet may be carried to represent the received The quantity information of the total number of data messages, the quantity information being consistent with the maximum aggregate depth. If the tolerant time limit is exhausted, and the total number of received data packets does not reach the maximum aggregation depth, the receiving end may reply the second response message to the sending end, but the second response message is The number of the data packets is smaller than the maximum aggregation depth.
- the second response packet may carry quantity information for characterizing the total number of received data packets. For example, the number of data packets received by the receiving end within 1 ms is 3, and the current maximum aggregated depth is 6, and the determined tolerance time is 1 ms. Then, the receiving end can continue to receive statistics for the next 1 ms. The number of data packets received. If the receiving end receives three data packets in the next 1 ms, the total amount of received data packets reaches the current maximum aggregation depth, so that a response message can be fed back to the transmitting end. The response message may carry the quantity information that represents the six data messages.
- the receiving end receives only 2 data packets in the next 1 ms, the total number of received data packets is still less than the current maximum aggregation depth.
- the receiving end can also send the tolerated time limit.
- the terminal feeds back a response message, but the quantity information carried in the response message can only be represented as 5.
- the number of data packets received within a specified time period is not necessarily an integer multiple of the maximum aggregation depth. For example, if the maximum aggregation depth is 6, and a total of 15 data packets are received in 1 ms, then for the first 12 data packets, a total of 2 response messages can be fed back, and for the remaining 3 data packets, The number of remaining data packets is less than the maximum aggregation depth.
- the step of determining the tolerance time limit can also be triggered, so that the number of received data packets can be continuously counted on the basis of three data packets in the next 1 ms. .
- the subsequent response information may be fed back according to the content of the tolerant time limit and the number of data packets that are counted within the tolerance time limit according to the content in the foregoing embodiment, and details are not described herein again.
- the transmitting end can determine the current window value, the current maximum aggregate depth, and the current maximum bandwidth again, and send the data packet according to the result of the re-determination.
- the transmitting end can provide the maximum aggregation depth to the receiving end when transmitting the data packet, and the maximum aggregation depth can be used as the basis for the feedback response message of the receiving end.
- the receiving end may reply a response message to the sending end.
- the sender can dynamically adjust the current maximum bandwidth and the current window value based on the quantity information carried in the response packet. According to the adjusted maximum bandwidth, the current maximum aggregate depth can be further adjusted.
- the data packet is sent to the receiving end again, and the adjusted maximum aggregated depth is provided to the receiving end.
- the receiving end can feedback the response message according to the current maximum aggregation depth. Therefore, in the present application, the receiving end can uniformly reply a response message when the received data packet reaches the maximum aggregation depth. In this way, the receiving end does not need to feed back response packets for each data packet, thereby greatly reducing the number of response packets sent. In this way, the sending end can reduce the time for processing the response message. In addition, since the number of response messages is reduced, the probability that the response message is lost due to network fluctuations is reduced, and the sending end can adjust the window value in time, thereby improving The efficiency of data transmission.
- the MAC layer when the MAC layer sends a data packet, the data packet that arrives at the MAC layer in a shorter period of time is usually aggregated and then sent out.
- the technical solution of the present application can ensure that the data packets of the maximum aggregation depth can reach the MAC layer continuously, thereby facilitating the aggregation of more data packets and sending out the data packets, thereby improving the efficiency of data transmission.
- the present application further provides a transmitting end, where the transmitting end includes a processor and a memory, where the computer stores a computer program, and when the computer program is executed by the processor, The following steps:
- S11 Send a data packet to the receiving end according to the initial window value and the initial aggregation depth.
- S13 Receive a response message fed back by the receiving end, and determine a current maximum bandwidth and a current window value based on the characterization information of the response message.
- S17 Send a data packet to the receiving end according to the current window value and the current maximum aggregation depth, and provide the current maximum aggregated depth to the receiving end, so that the receiving end is configured according to The current maximum aggregate depth feedback response message.
- Embodiment 3 further provides a wireless network data transmission method, where the method can be applied to a receiving end, and the receiving end can be a terminal device used by a user.
- the receiving end may be a desktop computer, a notebook computer, a tablet computer, a smart phone, a smart wearable device, or the like that supports a wireless network.
- the method includes the following steps.
- S21 Receive a data packet sent by the sender and a maximum aggregation depth.
- the transmitting end may send a data packet to the receiving end according to a specified time period.
- the specified time period may be 1 ms, so that the sending end may send a data message to the receiving end every 1 ms.
- the number of data packets sent by the sending end may be the same as the maximum aggregated depth in each time period. For example, if the maximum aggregation depth is 6, the transmitting end can send 6 data packets to the receiving end every 1 ms.
- the transmitting end may send the maximum aggregated depth to the receiving end when transmitting the data packet.
- the receiving end can receive the data packet sent by the sending end and the maximum aggregation depth.
- S23 Count the number of data packets received in the specified time period, and compare the number of the data packets with the maximum aggregated depth.
- the receiving end may feed back the response packet according to the maximum aggregation depth. Specifically, the receiving end may count the number of data packets received within a specified time period.
- the specified time period may be the same as the time period in which the sending end sends the data message. For example, if the sending end sends a data packet according to a time period of 1 ms, the receiving end can count the number of received data packets within a period of 1 ms.
- the statistically obtained quantity may be compared with the maximum aggregated depth.
- the receiving end may reply a response packet to the sending end. .
- the receiving end can reply 3 response messages, wherein each response message can be sent for 6 data messages.
- the response message may carry the quantity information for characterizing the total number of received data messages, so that the sender may be notified that the current response message is sent for 6 data messages.
- the receiving end may determine a tolerance time limit.
- the receiving end may continue to count the number of received data packets within the tolerance time limit. For example, the number of data packets received by the receiving end within 1 ms is 4, which is smaller than the current maximum aggregate depth 6.
- the receiving end can determine the tolerance time limit according to the current network state. Assuming that the tolerance time is 1 ms, the receiving end can continue to count the number of received data packets on the basis of the number 4 in the next 1 ms. For example, in the next 1 ms, the receiver receives two data packets, and the number of received data packets is 6.
- the transmitting end may provide round-trip delay information to the receiving end.
- the round-trip delay information may be determined by the sender based on a time node that sends a data message and a time node that receives the response message. Specifically, a difference between a time node that receives the response message and a time node that sends the data message may be used as the round-trip delay information. For example, the time node for sending a data message is 0 ms, and the time node for receiving a response message is 10 ms, then the round-trip delay information can be 10 ms.
- the receiving end may determine a tolerance time limit according to the round-trip delay information, and feedback the response message based on the tolerance time limit and the current maximum aggregate depth. Specifically, when determining the tolerant time limit, the receiving end may compare the delay characterized by the round-trip delay information with a first delay threshold and a second delay threshold, where the first time The delay threshold is less than the second delay threshold. When the delay is less than or equal to the first delay threshold, the tolerance time may be set to a first preset time limit. When the delay is greater than the first delay threshold and less than or equal to the second delay threshold, the tolerance time may be set to a second preset time limit.
- the tolerance time may be set to a third preset time limit; wherein the first preset time limit is less than the second preset time a limit value, and the second preset time limit value is less than the third preset time limit value.
- the tolerance time limit may be set to 1 ms; when the delay is greater than 20 ms and less than or equal to 50 ms, the tolerance time limit may be set to 2 ms; when the delay is When it is greater than 50 ms, the tolerance time limit can be set to 5 ms.
- the receiving end may be sent to the sending end, where the first response packet is sent for the maximum aggregated depth data packet, so the first response packet may be carried to represent the received The quantity information of the total number of data messages, the quantity information being consistent with the maximum aggregate depth. If the tolerant time limit is exhausted, and the total number of received data packets does not reach the maximum aggregation depth, the receiving end may reply the second response message to the sending end, but the second response message is The number of the data packets is smaller than the maximum aggregation depth.
- the second response packet may carry quantity information for characterizing the total number of received data packets. For example, the number of data packets received by the receiving end within 1 ms is 3, and the current maximum aggregated depth is 6, and the determined tolerance time is 1 ms. Then, the receiving end can continue to receive statistics for the next 1 ms. The number of data packets received. If the receiving end receives three data packets in the next 1 ms, the total amount of received data packets reaches the current maximum aggregation depth, so that a response message can be fed back to the transmitting end. The response message may carry the quantity information that represents the six data messages.
- the receiving end receives only 2 data packets in the next 1 ms, the total number of received data packets is still less than the current maximum aggregation depth.
- the receiving end can also send the tolerated time limit.
- the terminal feeds back a response message, but the quantity information carried in the response message can only be represented as 5.
- the present application further provides a receiving end, where the receiving end includes a processor and a memory, where the computer stores a computer program, and when the computer program is executed by the processor, The following steps:
- S21 Receive a data packet sent by the sending end and a maximum aggregation depth.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Quality & Reliability (AREA)
- Mobile Radio Communication Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请公开了一种无线网络数据传输方法、发送端及接收端,其中,所述方法包括:基于初始窗口值和初始聚合深度,向接收端发送数据报文;接收所述接收端反馈的响应报文,并基于所述响应报文的表征信息确定当前的最大带宽以及当前的窗口值;根据所述当前的最大带宽,计算当前的最大聚合深度;根据所述当前的窗口值以及所述当前的最大聚合深度,向所述接收端发送数据报文,并向所述接收端提供所述当前的最大聚合深度,以使得所述接收端根据所述当前的最大聚合深度反馈响应报文。本申请提供的技术方案,能够提高数据传输的效率。
Description
本申请涉及互联网技术领域,特别涉及一种无线网络数据传输方法、发送端及接收端。
随着互联网技术的不断发展,无线网络成为当前网络流量的主要承载体之一。在无线网络中,Wi-Fi网络是目前无线终端主要的接入方式。
在Wi-Fi网络中传输数据时,发送方通常会根据当前的窗口值来决定可发送的报文数量。而窗口值通常是由接收方反馈的响应报文来确定的。因此,在当前的Wi-Fi网络中,响应报文通常决定了发送方能够发送的报文数量。
目前,每当发送方向接收方发送一个数据报文,接收方会针对接收到的数据报文,反馈相应的响应报文。这样,发送方根据接收到的响应报文,从而可以对当前的窗口值进行更新,并按照更新后的窗口值进行数据报文的发送。
由于当前接收方反馈的响应报文通常是与发送方发送的数据报文是一一对应的,因此,发送方会频繁地对窗口值进行更新,导致发送方在更新窗口值方面会消耗较多的资源。此外,当无线网络出现波动时,由于响应报文的数量较大,导致可能丢失的响应报文的数量也会较多。这样,发送方可能会无法接收到部分响应报文,因而无法及时地对窗口值进行更新。而窗口值会限制发送的数据报文的数量,这样会导致发送方无法有效地利用无线网络带宽,从而导致数据传输的效率较低。
发明内容
本申请的目的在于提供一种无线网络数据传输方法、发送端及接收端,能够提高数据传输的效率。
为实现上述目的,本申请一方面提供一种无线网络数据传输方法,所述方法包括:基于初始窗口值和初始聚合深度,向接收端发送数据报文;接收所述接收端反馈的响应报文,并基于所述响应报文的表征信息确定当前的最大带宽以及当前的窗口值;根据所述当前的最大带宽,计算当前的最大聚合深度;根据所述当前的窗口值以及所述当前的最大聚合深度,向所述接收端发送数据报文,并向所述接收端提供所述当前的最大聚合深度,以使得所述接收端根据所述当前的最大聚合深度反馈响应报文。
为实现上述目的,本申请另一方面还提供一种发送端,所述发送端包括处理器和存储器,所述存储器中存储计算机程序,所述计算机程序被所述处理器执行时,实现以下步骤:基于初始窗口值和初始聚合深度,向接收端发送数据报文;接收所述接收端反馈的响应报文,并基于所述响应报文的表征信息确定当前的最大带宽以及当前的窗口值;根据所述当前的最大带宽,计算当前的最大聚合深度;根据所述当前的窗口值以及所述当前的最大聚合深度,向所述接收端发送数据报文,并向所述接收端提供所述当前的最大聚合深度,以使得所述接收端根据所述当前的最大聚合深度反馈响应报文。
为实现上述目的,本申请另一方面还提供一种无线网络数据传输方法,所述方法包括:接收发送端发来的数据报文以及最大聚合深度;统计指定时段内接收到的数据报文的数量,并将所述数据报文的数量与所述最大聚合深度进行对比;根据对比结果,向所述发送端反馈响应报文。
为实现上述目的,本申请另一方面还提供一种接收端,所述接收端包括处理器和存储器,所述存储器中存储计算机程序,所述计算机程序被所述处理器执行时,实现以下步骤:接收发送端发来的数据报文以及最大聚合深度;统计指定时段内接收到的数据报文的数量,并将所述数据报文的数量与所述最大 聚合深度进行对比;根据对比结果,向所述发送端反馈响应报文。
由上可见,本申请提供的技术方案,发送端在发送数据报文时,可以一并向接收端提供最大聚合深度,该最大聚合深度可以作为接收端反馈响应报文的依据。具体地,每当接收端接收到的数据报文的数量达到所述最大聚合深度时,接收端便可以向发送端回复一个响应报文。发送端在接收到响应报文时,可以基于响应报文中携带的数量信息,对当前的最大带宽以及当前的窗口值进行动态调整。根据调整后的最大带宽,可以进一步地对当前的最大聚合深度进行调整。然后可以根据调整后的窗口值以及最大聚合深度,再次向接收端发送数据报文,并且将调整后的最大聚合深度一并提供给接收端。这样,接收端便可以根据当前的最大聚合深度相应地反馈响应报文。由此可见,在本申请中,接收端可以在接收到的数据报文达到最大聚合深度时,再统一回复一个响应报文。这样,接收端无需针对每个数据报文均反馈响应报文,从而可以极大地减少响应报文的发送数量。这样,发送端可以减少处理响应报文的时间,另外,由于响应报文的数量减少,响应报文受网络波动而丢失的几率也会减少,发送端可以及时地对窗口值进行调整,从而提高了数据传输的效率。
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例一中无线网络数据传输方法流程图;
图2是本申请实施例一中无线网络数据传输方法示意图;
图3是本申请实施例二中发送端的结构示意图;
图4是本申请实施例三中无线网络数据传输方法流程图;
图5是本申请实施例三中无线网络数据传输方法示意图;
图6是本申请实施例四中接收端的结构示意图。
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施例作进一步地详细描述。
实施例一
本申请提供一种无线网络数据传输方法,所述方法可以应用于发送端,所述发送端可以是支持无线网络的终端设备。例如,所述发送端可以是路由器。当然,所述发送端也可以是用户使用的电子设备。例如,所述发送端可以是支持无线网络的台式电脑、笔记本电脑、平板电脑、智能手机、智能可穿戴设备等。请参阅图1和图2,所述方法可以包括以下步骤。
S11:基于初始窗口值和初始聚合深度,向接收端发送数据报文。
在本实施例中,发送端刚开始向接收端发送数据报文时,可以基于初始窗口值和初始聚合深度发送数据报文。所述初始窗口值和所述初始聚合深度可以是针对网络状态预先设定的。例如,在带宽为5Mbps的无线网络中,所述初始窗口值和初始聚合深度可以分别为24和6。而在带宽较高的100Mbps无线网络中,所述初始窗口值和初始聚合深度可以分别为32和8。
在本实施例中,聚合深度可以限定每次发送的数据报文的数量,而窗口值可以限定连续发送的数据报文的总数量。例如,当所述初始窗口值和初始聚合深度分别为24和6时,发送端每次可以发送6个数据报文,并且在连续发送24个数据报文之后,即窗口用完后中止发送数据报文。具体地,发送端可以按照指定时间周期向所述接收端发送数据报文。例如,所述指定时间周期可以为1ms,这样,所述发送端可以每隔1ms,向接收端发送一次数据报文。其中,在每个时间周期内,发送端发送的数据报文的数量可以与所述初始聚合深度相同。例如,所述发送端可以每隔1ms向接收端发送6个数据报文。当连续发送 的数据报文的总数量达到所述初始窗口值,并且所述接收端没有反馈响应报文时,发送端可以中止向所述接收端发送数据报文。例如,发送端在连续向接收端发送24个数据报文后,如果始终没有接收到接收端发来的响应报文,那么发送端可以中止向接收端发送数据报文。当发送端接收到所述接收端反馈的响应报文后,可以再次向所述接收端发送接收端响应数量的数据报文。
S13:接收所述接收端反馈的响应报文,并基于所述响应报文的表征信息确定当前的最大带宽以及当前的窗口值。
在本实施例中,当发送端接收到所述接收端反馈的响应报文时,可以基于所述响应报文的表征信息确定当前的最大带宽以及当前的窗口值。
在本实施例中,所述接收端反馈的响应报文中可以携带数量信息,所述数量信息可以用于表征所述接收端在指定时段内接收到的数据报文的数量。具体地,所述指定时段可以是预先设定的时长。例如所述指定时段可以是4ms,那么所述数量信息便可以表征所述接收端在4ms内接收到的数据报文的数量。在一个应用场景中,发送端每隔1ms向接收端发送6个数据报文,那么在4ms内发送端共计可以发出24个数据报文,而接收端在这4ms内,可能只接收到20个数据报文,那么接收端反馈的响应报文中,便可以携带表征20的数字信息。
在本实施例中,所述最大带宽与传统的带宽度量方式可以不同。传统的带宽可以用bps(bytes per second,每秒对应的字节数)作为度量单位,而在本实施例中,在确定所述当前的最大带宽时,可以记录发送端在预设时长内接收到的各个响应报文。例如,所述预设时长可以为1s,那么便可以记录在1s内发送端接收到的各个响应报文。假设,发送端在1s内共接收到5个响应报文。此时,可以统计各个响应报文中的数量信息表征的数量。例如,上述的5个响应报文中,数量信息表征的数量分别为20、22、24、24以及22。此时,可以将统计的数量进行叠加,从而得到统计的数量之和。例如,上述例子中,统计 的数量之和可以是20+22+24+24+22=112。这样,可以将统计的数量之和与所述预设时长的比值作为当前的最大带宽。上述的例子中,112便可以作为当前的最大带宽。在本实施例中,最大带宽的单位可以是pps(packets per second,每秒对应的报文数)。
在本实施例中,在确定当前的窗口值时,可以在初始窗口值的基础上进行累加得到。具体地,发送端在接收到接收端反馈的响应报文后,可以记录所述响应报文中数量信息表征的数量,然后可以将所述初始窗口值与记录的所述数量的和作为所述当前的窗口值。例如,所述初始窗口值为24,接收到的响应报文中数量信息表征的数量为6,那么可以将30作为当前的窗口值。这样,在下一次发送数据报文时,连续发送的数据报文的上限值便可以由24更改为30。后续当所述发送端再次接收到接收端反馈的响应报文后,便可以在30的基础上继续累加,从而得到更大的窗口值。在实际应用场景中,为了防止窗口值无限增大,可以为窗口值设置一个增长上限。具体地,若所述当前的最大带宽在指定时长内均没有增加,则表明当前的网络状态比较稳定,便可以保持所述当前的窗口值不变,而不会继续增加窗口值。例如,当前的最大带宽在5秒内都为1000pps,那么在第5秒结束后,可以保持当前的窗口值不变。该窗口值可以保持到当前的最大带宽超过1000pps为止。若当前的最大带宽超过1000pps,那么可以按照正常的累加过程继续增加当前的窗口值。
S15:根据所述当前的最大带宽,计算当前的最大聚合深度。
在本实施例中,当确定出当前的最大带宽后,可以基于所述当前的最大带宽,计算出当前的最大聚合深度。具体地,可以按照下述公式计算当前的最大聚合深度:
agg=1.2·(pps+500)/1000
其中,agg表示所述当前的最大聚合深度,pps表示所述当前的最大带宽。
需要说明的是,在实际应用场景中,有时候根据上式得到的最大聚合深度可能会比较小。为了使得最大聚合深度维持在一个合理的范围内,可以对所述最大聚合深度的最小值进行限定。具体地,当所述当前的最大带宽小于指定阈值时,可以设置所述当前的最大聚合深度不小于第一下限值。而当所述当前的最大带宽大于或者等于所述指定阈值时,可以设置所述当前的最大聚合深度不小于第二下限值,其中,所述第一下限值小于所述第二下限值。举例来说,所述指定阈值可以为1000pps,所述第一下限值可以为2,所述第二下限值可以为3。那么当所述当前的最大带宽小于1000pps时,如果计算得到的当前的最大聚合深度小于2,可以将当前的最大聚合深度设置为2。此外,当所述当前的最大带宽大于或者等于1000pps时,如果计算得到的当前的最大聚合深度小于3,可以将当前的最大聚合深度设置为3。
S17:根据所述当前的窗口值以及所述当前的最大聚合深度,向所述接收端发送数据报文,并向所述接收端提供所述当前的最大聚合深度,以使得所述接收端根据所述当前的最大聚合深度反馈响应报文。
在本实施例中,在确定出当前的窗口值和当前的最大聚合深度之后,可以按照当前的窗口值和当前的最大聚合深度向接收端发送数据报文。具体地,当前的最大聚合深度可以限定每次发送的数据报文的数量,而当前的窗口值可以限定连续发送的数据报文的总数量。例如,当所述当前的窗口值和当前的最大聚合深度分别为30和6时,发送端每次可以发送6个数据报文,并且在连续发送30个数据报文之后,可以中止发送数据报文。具体地,发送端可以按照指定时间周期向所述接收端发送数据报文。例如,所述指定时间周期可以为1ms,这样,所述发送端可以每隔1ms,向接收端发送一次数据报文。其中,在每个时间周期内,发送端发送的数据报文的数量可以与所述当前的最大聚合深度相同。例如,所述发送端可以每隔1ms向接收端发送6个数据报文。当连续发送的数据报文的总数量达到所述当前的窗口值,并且所述接收端没有反馈 响应报文时,发送端可以中止向所述接收端发送数据报文。例如,发送端在连续向接收端发送30个数据报文后,如果始终没有接收到接收端发来的响应报文,那么发送端可以中止向接收端发送数据报文。当发送端接收到所述接收端反馈的响应报文后,可以再次向所述接收端发送接收端响应数量的数据报文。
在本实施例中,发送端在向接收端发送数据报文时,可以一并向所述接收端提供所述当前的最大聚合深度。这样,接收端在接收到所述当前的最大聚合深度后,可以根据所述当前的最大聚合深度反馈响应报文。具体地,所述接收端可以统计指定时段内接收到的数据报文的数量。其中,所述指定时段可以与发送端发送数据报文的时间周期相同。例如,所述发送端按照1ms的时间周期发送数据报文,那么接收端便可以在1ms的时长内统计接收到的数据报文的数量。
在本实施例中,在统计接收到的数据报文的数量时,可以将统计得到的数量与所述当前的最大聚合深度进行比对。当所述数据报文的数量大于或者等于所述最大聚合深度时,每当接收到的数据报文的数量达到所述最大聚合深度时,接收端便可以向所述发送端回复一个响应报文。例如,在1ms内共计接收到18个数据报文,而当前的最大聚合深度为6,那么接收端便可以回复3个响应报文,其中,每个响应报文可以针对6个数据报文发出。这样,在所述响应报文中可以携带用于表征接收到的数据报文的总数量的数量信息,从而可以告知发送端,当前的响应报文是针对6个数据报文发出的。
此外,在本实施例中,若所述数据报文的数量小于所述最大聚合深度时,接收端可以确定容忍时限。其中,在所述容忍时限内,接收端可以继续统计接收到的数据报文的数量。例如,接收端在1ms内接收到的数据报文的数量为4,小于当前的最大聚合深度6,那么接收端可以根据当前的网络状态,确定出容忍时限。假设该容忍时限为1ms,那么接收端可以在接下来的1ms内,在数量4的基础上,继续统计接收到的数据报文的数量。例如,在接下来的 1ms内,接收端又接收到了2个数据报文,那么统计的接收到的数据报文的数量便为6。在实际应用中,发送端在向接收端发送数据报文时,可以向所述接收端提供往返时延信息。所述往返时延信息可以是发送端基于发送数据报文的时间节点以及接收响应报文的时间节点来确定的。具体地,可以将接收响应报文的时间节点与发送数据报文的时间节点之间的差值作为所述往返时延信息。例如,发送数据报文的时间节点为0ms,而接收响应报文的时间节点为10ms,那么该往返时延信息便可以为10ms。在本实施例中,接收端在接收到所述往返时延信息后,可以根据所述往返时延信息确定容忍时限,并基于所述容忍时限和所述当前的最大聚合深度反馈响应报文。具体地,在确定所述容忍时限时,所述接收端可以将所述往返时延信息表征的时延分别与第一时延阈值以及第二时延阈值进行对比;其中,所述第一时延阈值小于所述第二时延阈值。当所述时延小于或者等于所述第一时延阈值时,可以将所述容忍时限设置为第一预设时限值。当所述时延大于所述第一时延阈值,并且小于或者等于所述第二时延阈值时,可以将所述容忍时限设置为第二预设时限值。当所述时延大于所述第二时延阈值时,可以将所述容忍时限设置为第三预设时限值;其中,所述第一预设时限值小于所述第二预设时限值,并且所述第二预设时限值小于所述第三预设时限值。举例来说,当所述时延小于或者等于20ms时,可以将容忍时限设置为1ms;当所述时延大于20ms并且小于或者等于50ms时,可以将容忍时限设置为2ms;当所述时延大于50ms时,可以将所述容忍时限设置为5ms。
在本实施例中,在所述容忍时限内继续统计数据报文的数量时,若所述容忍时限未耗尽,并且接收到的数据报文的总数量达到所述最大聚合深度时,接收端可以向所述发送端回复第一响应报文,其中,该第一响应报文是针对最大聚合深度的数据报文发出的,因此所述第一响应报文中可以携带用于表征接收到的数据报文的总数量的数量信息,该数量信息与所述最大聚合深度一致。 若所述容忍时限耗尽,并且接收到的数据报文的总数量未达到所述最大聚合深度时,接收端可以向所述发送端回复第二响应报文,但该第二响应报文针对的数据报文的数量小于所述最大聚合深度,此时,所述第二响应报文中可以携带用于表征接收到的数据报文的总数量的数量信息。举例来说,接收端在1ms内接收到的数据报文的数量为3,而当前的最大聚合深度为6,确定出的容忍时限为1ms,那么接收端可以在接下来的1ms内继续统计接收到的数据报文的数量。如果在接下来的1ms内,接收端又接收到3个数据报文,那么接收到的数据报文的总量便达到了当前的最大聚合深度,这样可以向发送端反馈一个响应报文,该响应报文中可以携带表征6个数据报文的数量信息。而如果在接下来的1ms内,接收端只接收到2个数据报文,那么接收到的数据报文的总量仍然小于当前的最大聚合深度,由于容忍时限耗尽,接收端同样可以向发送端反馈一个响应报文,但是该响应报文中携带的数量信息表征只能是5。
需要说明的是,在实际应用场景中,在指定时段内接收到的数据报文的数量不一定是最大聚合深度的整数倍。例如,最大聚合深度为6,而1ms内共计接收到15个数据报文,那么针对前12个数据报文,可以共计反馈2个响应报文,而针对剩下的3个数据报文,由于剩下的数据报文的数量小于最大聚合深度,此时同样可以触发确定容忍时限的步骤,从而可以在接下来的1ms内在3个数据报文的基础上继续统计接收到的数据报文的数量。后续可以按照上述实施例中所阐述的内容,基于容忍时限是否耗尽以及在容忍时限内统计的数据报文的数量来反馈响应报文,这里便不再赘述。
这样,当发送端接收到接收端反馈的响应报文后,可以对当前的窗口值、当前的最大聚合深度以及当前的最大带宽再次进行确定,并根据再次确定的结果发送数据报文。
由上可见,本申请提供的技术方案,发送端在发送数据报文时,可以一并向接收端提供最大聚合深度,该最大聚合深度可以作为接收端反馈响应报文 的依据。具体地,每当接收端接收到的数据报文的数量达到所述最大聚合深度时,接收端便可以向发送端回复一个响应报文。发送端在接收到响应报文时,可以基于响应报文中携带的数量信息,对当前的最大带宽以及当前的窗口值进行动态调整。根据调整后的最大带宽,可以进一步地对当前的最大聚合深度进行调整。然后可以根据调整后的窗口值以及最大聚合深度,再次向接收端发送数据报文,并且将调整后的最大聚合深度一并提供给接收端。这样,接收端便可以根据当前的最大聚合深度相应地反馈响应报文。由此可见,在本申请中,接收端可以在接收到的数据报文达到最大聚合深度时,再统一回复一个响应报文。这样,接收端无需针对每个数据报文均反馈响应报文,从而可以极大地减少响应报文的发送数量。这样,发送端可以减少处理响应报文的时间,另外,由于响应报文的数量减少,响应报文受网络波动而丢失的几率也会减少,发送端可以及时地对窗口值进行调整,从而提高了数据传输的效率。
此外,在当前的802.11n及以后的协议中,MAC层在发送数据报文时,通常会将在较短时长内到达MAC层的数据报文聚合之后再向外发出。采用本申请的技术方案,可以保证最大聚合深度个数据报文可以连续到达MAC层,从而有助于将较多的数据报文聚合后向外发出,进而能够提高数据传输的效率。
实施例二
请一并参阅图1和图3,本申请还提供一种发送端,所述发送端包括处理器和存储器,所述存储器中存储计算机程序,所述计算机程序被所述处理器执行时,实现以下步骤:
S11:基于初始窗口值和初始聚合深度,向接收端发送数据报文;
S13:接收所述接收端反馈的响应报文,并基于所述响应报文的表征信息确定当前的最大带宽以及当前的窗口值;
S15:根据所述当前的最大带宽,计算当前的最大聚合深度;
S17:根据所述当前的窗口值以及所述当前的最大聚合深度,向所述接收端发送数据报文,并向所述接收端提供所述当前的最大聚合深度,以使得所述接收端根据所述当前的最大聚合深度反馈响应报文。
实施例三本申请还提供一种无线网络数据传输方法,所述方法可以应用于接收端中,所述接收端可以是用户使用的终端设备。例如,所述接收端可以是支持无线网络的台式电脑、笔记本电脑、平板电脑、智能手机、智能可穿戴设备等。请参阅图4和图5,所述方法包括以下步骤。
S21:接收发送端发来的数据报文以及最大聚合深度。
在本实施例中,发送端可以按照指定时间周期向所述接收端发送数据报文。例如,所述指定时间周期可以为1ms,这样,所述发送端可以每隔1ms,向接收端发送一次数据报文。其中,在每个时间周期内,发送端发送的数据报文的数量可以与所述最大聚合深度相同。例如,所述最大聚合深度为6,那么所述发送端可以每隔1ms向接收端发送6个数据报文。
在本实施例中,发送端在发送数据报文时,可以一并将所述最大聚合深度发送给接收端。这样,接收端便可以接收发送端发来的数据报文以及最大聚合深度。
S23:统计指定时段内接收到的数据报文的数量,并将所述数据报文的数量与所述最大聚合深度进行对比。
S25:根据对比结果,向所述发送端反馈响应报文。
在本实施例中,接收端在接收到所述最大聚合深度后,可以根据所述最大聚合深度反馈响应报文。具体地,所述接收端可以统计指定时段内接收到的数据报文的数量。其中,所述指定时段可以与发送端发送数据报文的时间周期相同。例如,所述发送端按照1ms的时间周期发送数据报文,那么接收端便可以在1ms的时长内统计接收到的数据报文的数量。
在本实施例中,在统计接收到的数据报文的数量时,可以将统计得到的 数量与所述最大聚合深度进行比对。当所述数据报文的数量大于或者等于所述最大聚合深度时,每次接收到的数据报文的数量达到所述最大聚合深度时,接收端便可以向所述发送端回复一个响应报文。例如,在1ms内共计接收到18个数据报文,而当前的最大聚合深度为6,那么接收端便可以回复3个响应报文,其中,每个响应报文可以针对6个数据报文发出。这样,在所述响应报文中可以携带用于表征接收到的数据报文的总数量的数量信息,从而可以告知发送端,当前的响应报文是针对6个数据报文发出的。
此外,在本实施例中,若所述数据报文的数量小于所述最大聚合深度时,接收端可以确定容忍时限。其中,在所述容忍时限内,接收端可以继续统计接收到的数据报文的数量。例如,接收端在1ms内接收到的数据报文的数量为4,小于当前的最大聚合深度6,那么接收端可以根据当前的网络状态,确定出容忍时限。假设该容忍时限为1ms,那么接收端可以在接下来的1ms内,在数量4的基础上,继续统计接收到的数据报文的数量。例如,在接下来的1ms内,接收端又接收到了2个数据报文,那么统计的接收到的数据报文的数量便为6。在实际应用中,发送端在向接收端发送数据报文时,可以向所述接收端提供往返时延信息。所述往返时延信息可以是发送端基于发送数据报文的时间节点以及接收响应报文的时间节点来确定的。具体地,可以将接收响应报文的时间节点与发送数据报文的时间节点之间的差值作为所述往返时延信息。例如,发送数据报文的时间节点为0ms,而接收响应报文的时间节点为10ms,那么该往返时延信息便可以为10ms。在本实施例中,接收端在接收到所述往返时延信息后,可以根据所述往返时延信息确定容忍时限,并基于所述容忍时限和所述当前的最大聚合深度反馈响应报文。具体地,在确定所述容忍时限时,所述接收端可以将所述往返时延信息表征的时延分别与第一时延阈值以及第二时延阈值进行对比;其中,所述第一时延阈值小于所述第二时延阈值。当所述时延小于或者等于所述第一时延阈值时,可以将所述容忍时限设置 为第一预设时限值。当所述时延大于所述第一时延阈值,并且小于或者等于所述第二时延阈值时,可以将所述容忍时限设置为第二预设时限值。当所述时延大于所述第二时延阈值时,可以将所述容忍时限设置为第三预设时限值;其中,所述第一预设时限值小于所述第二预设时限值,并且所述第二预设时限值小于所述第三预设时限值。举例来说,当所述时延小于或者等于20ms时,可以将容忍时限设置为1ms;当所述时延大于20ms并且小于或者等于50ms时,可以将容忍时限设置为2ms;当所述时延大于50ms时,可以将所述容忍时限设置为5ms。
在本实施例中,在所述容忍时限内继续统计数据报文的数量时,若所述容忍时限未耗尽,并且接收到的数据报文的总数量达到所述最大聚合深度时,接收端可以向所述发送端回复第一响应报文,其中,该第一响应报文是针对最大聚合深度个数据报文发出的,因此所述第一响应报文中可以携带用于表征接收到的数据报文的总数量的数量信息,该数量信息与所述最大聚合深度一致。若所述容忍时限耗尽,并且接收到的数据报文的总数量未达到所述最大聚合深度时,接收端可以向所述发送端回复第二响应报文,但该第二响应报文针对的数据报文的数量小于所述最大聚合深度,此时,所述第二响应报文中可以携带用于表征接收到的数据报文的总数量的数量信息。举例来说,接收端在1ms内接收到的数据报文的数量为3,而当前的最大聚合深度为6,确定出的容忍时限为1ms,那么接收端可以在接下来的1ms内继续统计接收到的数据报文的数量。如果在接下来的1ms内,接收端又接收到3个数据报文,那么接收到的数据报文的总量便达到了当前的最大聚合深度,这样可以向发送端反馈一个响应报文,该响应报文中可以携带表征6个数据报文的数量信息。而如果在接下来的1ms内,接收端只接收到2个数据报文,那么接收到的数据报文的总量仍然小于当前的最大聚合深度,由于容忍时限耗尽,接收端同样可以向发送端反馈一个响应报文,但是该响应报文中携带的数量信息表征只能是5。
实施例四
请一并参阅图4和图6,本申请还提供一种接收端,所述接收端包括处理器和存储器,所述存储器中存储计算机程序,所述计算机程序被所述处理器执行时,实现以下步骤:
S21:接收发送端发来的数据报文以及最大聚合深度;
S23:统计指定时段内接收到的数据报文的数量,并将所述数据报文的数量与所述最大聚合深度进行对比;
S25:根据对比结果,向所述发送端反馈响应报文。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,针对发送端和接收端的实施例来说,均可以参照前述方法的实施例的介绍对照解释。
通过以上的实施例的描述,本领域的技术人员可以清楚地了解到各实施例可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
以上所述仅为本申请的较佳实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (15)
- 一种无线网络数据传输方法,其特征在于,所述方法包括:基于初始窗口值和初始聚合深度,向接收端发送数据报文;接收所述接收端反馈的响应报文,并基于所述响应报文的表征信息确定当前的最大带宽以及当前的窗口值;根据所述当前的最大带宽,计算当前的最大聚合深度;根据所述当前的窗口值以及所述当前的最大聚合深度,向所述接收端发送数据报文,并向所述接收端提供所述当前的最大聚合深度,以使得所述接收端根据所述当前的最大聚合深度反馈响应报文。
- 根据权利要求1所述的方法,其特征在于,基于初始窗口值和初始聚合深度,向接收端发送数据报文,还包括:按照指定时间周期向所述接收端发送数据报文,其中,在每个时间周期内,发送的数据报文的数量与所述初始聚合深度相同,并且当连续发送的数据报文的总数量达到所述初始窗口值,并且所述接收端没有反馈响应报文时,中止向所述接收端发送数据报文;当接收到所述接收端反馈的响应报文后,再次向所述接收端发送接收端响应数量的数据报文。
- 根据权利要求1所述的方法,其特征在于,所述响应报文中携带数量信息,所述数量信息用于表征所述接收端在指定时段内接收到的数据报文的数量。
- 根据权利要求3所述的方法,其特征在于,基于所述响应报文的表征信息确定当前的最大带宽,还包括:记录预设时长内接收到的各个响应报文,并统计各个响应报文中的数量信息表征的数量;将统计的数量之和与所述预设时长的比值作为所述当前的最大带宽。
- 根据权利要求3所述的方法,其特征在于,基于所述响应报文确定当前的窗口值,还包括:记录所述响应报文中数量信息表征的数量,并将所述初始窗口值与记录的所述数量的和作为所述当前的窗口值。
- 根据权利要求5所述的方法,其特征在于,所述方法还包括:若所述当前的最大带宽在指定时长内均没有增加,保持所述当前的窗口值不变。
- 根据权利要求1所述的方法,其特征在于,按照下述公式计算当前的最大聚合深度:agg=1.2·(pps+500)/1000其中,agg表示所述当前的最大聚合深度,pps表示所述当前的最大带宽。
- 根据权利要求1或7所述的方法,其特征在于,计算当前的最大聚合深度,还包括:当所述当前的最大带宽小于指定阈值时,设置所述当前的最大聚合深度不小于第一下限值;当所述当前的最大带宽大于或者等于所述指定阈值时,设置所述当前的最大聚合深度不小于第二下限值;其中,所述第一下限值小于所述第二下限值。
- 根据权利要求1所述的方法,其特征在于,在向所述接收端提供所述当前的最大聚合深度时,所述方法还包括:向所述接收端提供往返时延信息,以使得所述接收端根据所述往返时延信息确定容忍时限,并使得所述接收端基于所述容忍时限和所述当前的最大聚合深度反馈响应报文。
- 一种发送端,其特征在于,所述发送端包括处理器和存储器,所述存储器中存储计算机程序,所述计算机程序被所述处理器执行时,实现以下步骤:基于初始窗口值和初始聚合深度,向接收端发送数据报文;接收所述接收端反馈的响应报文,并基于所述响应报文的表征信息确定当前的最大带宽以及当前的窗口值;根据所述当前的最大带宽,计算当前的最大聚合深度;根据所述当前的窗口值以及所述当前的最大聚合深度,向所述接收端发送数据报文,并向所述接收端提供所述当前的最大聚合深度,以使得所述接收端根据所述当前的最大聚合深度反馈响应报文。
- 一种无线网络数据传输方法,其特征在于,所述方法包括:接收发送端发来的数据报文以及最大聚合深度;统计指定时段内接收到的数据报文的数量,并将所述数据报文的数量与所述最大聚合深度进行对比;根据对比结果,向所述发送端反馈响应报文。
- 根据权利要求11所述的方法,其特征在于,根据对比结果,向所述发送端反馈响应报文,还包括:当所述数据报文的数量大于或者等于所述最大聚合深度时,每当接收到的 数据报文的数量达到所述最大聚合深度时,向所述发送端反馈一个响应报文,所述响应报文中携带用于表征接收到的数据报文的总数量的数量信息。
- 根据权利要求11所述的方法,其特征在于,根据对比结果,向所述发送端反馈响应报文,还包括:当所述数据报文的数量小于所述最大聚合深度时,确定容忍时限,并在所述容忍时限内继续统计接收到的数据报文的数量;若所述容忍时限未耗尽,并且接收到的数据报文的总数量达到所述最大聚合深度时,向所述发送端回复第一响应报文,所述第一响应报文中携带用于表征接收到的数据报文的总数量的数量信息;若所述容忍时限耗尽,并且接收到的数据报文的总数量未达到所述最大聚合深度时,向所述发送端回复第二响应报文,所述第二响应报文中携带用于表征接收到的数据报文的总数量的数量信息。
- 根据权利要求13所述的方法,其特征在于,在接收发送端发来的数据报文以及最大聚合深度时,所述方法还包括:接收所述发送端发来的往返时延信息;相应地,确定容忍时限包括:将所述往返时延信息表征的时延分别与第一时延阈值以及第二时延阈值进行对比;其中,所述第一时延阈值小于所述第二时延阈值;当所述时延小于或者等于所述第一时延阈值时,将所述容忍时限设置为第一预设时限值;当所述时延大于所述第一时延阈值,并且小于或者等于所述第二时延阈值时,将所述容忍时限设置为第二预设时限值;当所述时延大于所述第二时延阈值时,将所述容忍时限设置为第三预设时限值;其中,所述第一预设时限值小于所述第二预设时限值,并且所述第二预设时限值小于所述第三预设时限值。
- 一种接收端,其特征在于,所述接收端包括处理器和存储器,所述存储器中存储计算机程序,所述计算机程序被所述处理器执行时,实现以下步骤:接收发送端发来的数据报文以及最大聚合深度;统计指定时段内接收到的数据报文的数量,并将所述数据报文的数量与所述最大聚合深度进行对比;根据对比结果,向所述发送端反馈响应报文。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP18888133.8A EP3579615B1 (en) | 2017-12-11 | 2018-04-03 | Wireless network data transmission method, sending end, and receiving end |
US16/570,536 US11129044B2 (en) | 2017-12-11 | 2019-09-13 | Method for transmitting wireless network data, sending terminal and receiving terminal |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711308781.0 | 2017-12-11 | ||
CN201711308781.0A CN109905327B (zh) | 2017-12-11 | 2017-12-11 | 一种无线网络数据传输方法、发送端及接收端 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US16/570,536 Continuation US11129044B2 (en) | 2017-12-11 | 2019-09-13 | Method for transmitting wireless network data, sending terminal and receiving terminal |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2019114156A1 true WO2019114156A1 (zh) | 2019-06-20 |
Family
ID=66819907
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2018/081743 WO2019114156A1 (zh) | 2017-12-11 | 2018-04-03 | 一种无线网络数据传输方法、发送端及接收端 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11129044B2 (zh) |
EP (1) | EP3579615B1 (zh) |
CN (1) | CN109905327B (zh) |
WO (1) | WO2019114156A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11129044B2 (en) * | 2017-12-11 | 2021-09-21 | Wangsu Science & Technology Co., Ltd. | Method for transmitting wireless network data, sending terminal and receiving terminal |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050207436A1 (en) * | 2004-03-18 | 2005-09-22 | Anujan Varma | Switching device based on aggregation of packets |
CN101695181A (zh) * | 2009-10-29 | 2010-04-14 | 福建星网锐捷网络有限公司 | 无线局域网的数据发送装置及方法、无线接入点装置 |
CN104022843A (zh) * | 2014-04-01 | 2014-09-03 | 天津大学 | 基于长距离无线网络的自适应数据传输速率调整算法 |
CN105813142A (zh) * | 2014-12-31 | 2016-07-27 | 华为技术有限公司 | 一种数据帧的发送方法、装置及系统 |
Family Cites Families (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU4373799A (en) * | 1999-06-04 | 2000-12-28 | Nokia Corporation | Packet data transmission control |
US6788704B1 (en) * | 1999-08-05 | 2004-09-07 | Intel Corporation | Network adapter with TCP windowing support |
KR100339342B1 (ko) * | 2000-07-01 | 2002-06-03 | 서평원 | 프로토콜 데이터의 수신 확인 방법 |
US7161978B2 (en) * | 2001-08-29 | 2007-01-09 | Texas Instruments Incorporated | Transmit and receive window synchronization |
KR100442368B1 (ko) * | 2002-05-15 | 2004-07-30 | 엘지전자 주식회사 | Gprs의 rlc/mac 데이터 전송방법 |
KR100474302B1 (ko) * | 2002-09-07 | 2005-03-10 | 엘지전자 주식회사 | 무선 링크 콘트롤(rlc) 계층의 버퍼제어 방법 |
US7583594B2 (en) * | 2003-01-31 | 2009-09-01 | Texas Instruments Incorporated | Adaptive transmit window control mechanism for packet transport in a universal port or multi-channel environment |
US6859449B2 (en) * | 2003-05-19 | 2005-02-22 | Nokia Corporation | Method and apparatus providing enhanced radio link control acknowledgment |
US20060262738A1 (en) * | 2005-05-17 | 2006-11-23 | Lilian Fernandes | Administering acknowledgment messages in the transmission control protocol |
EP1946472B1 (en) * | 2005-11-07 | 2017-03-01 | Telefonaktiebolaget LM Ericsson (publ) | Implicit signaling for link adaptation |
TW201028024A (en) * | 2006-08-18 | 2010-07-16 | Fujitsu Ltd | Communication systems |
JP5049061B2 (ja) * | 2007-07-03 | 2012-10-17 | 株式会社エヌ・ティ・ティ・ドコモ | 無線ネットワーク制御装置、フレーム送信タイミング調整方法 |
JP5059976B2 (ja) * | 2010-05-31 | 2012-10-31 | 株式会社Jin−Magic | 通信装置及び通信方法 |
US20120201151A1 (en) * | 2011-02-08 | 2012-08-09 | Renesas Mobile Corporation | Layer 2 ACK And NACK Status Reporting |
JP5907496B2 (ja) * | 2011-06-08 | 2016-04-26 | マーベル ワールド トレード リミテッド | 低データレートのwlanのための効率的な送信 |
EP2819353A4 (en) * | 2012-02-24 | 2015-05-20 | Hitachi Ltd | COMMUNICATION DEVICE |
JP5891945B2 (ja) * | 2012-05-23 | 2016-03-23 | 富士通株式会社 | 通信制御装置、及び通信制御方法 |
US9525520B2 (en) * | 2012-12-21 | 2016-12-20 | Qualcomm Incorporated | Block acknowledgement selection rules |
US20140254408A1 (en) * | 2013-03-08 | 2014-09-11 | Qualcomm Incorporated | Rate control associated with frame aggregation |
GB2520536B (en) * | 2013-11-25 | 2017-05-03 | Canon Kk | Method and device for data communication in a communication network |
NO3135009T3 (zh) * | 2014-04-23 | 2018-08-11 | ||
US20170366435A1 (en) * | 2015-01-20 | 2017-12-21 | Nec Corporation | Available bandwidth measuring system, available bandwidth measuring method, transmission side device, receiving side device, storage medium storing transmission side device control program and storage medium storing receiving side device control program |
US9872298B2 (en) * | 2015-04-16 | 2018-01-16 | Qualcomm Incorporated | System and method for reducing collisions in wireless networks |
KR102358232B1 (ko) | 2015-05-15 | 2022-02-04 | 삼성전자주식회사 | 무선 통신 시스템에서 초기 윈도우 값을 설정하는 방법 및 장치 |
US20170310601A1 (en) * | 2016-04-21 | 2017-10-26 | Qualcomm Incorporated | Radio-aware transmission control protocol rate control |
CN106131043A (zh) * | 2016-08-03 | 2016-11-16 | 大连环宇移动科技有限公司 | 一种基于udp协议以提高数据传输可靠性的方法 |
US20180176136A1 (en) * | 2016-12-19 | 2018-06-21 | Mediatek Inc. | TCP Bufferbloat Resolution |
CN108011780B (zh) * | 2017-12-01 | 2019-01-22 | 北京百度网讯科技有限公司 | 一种数据传输速率测量方法、装置、设备和计算机可读介质 |
CN109905327B (zh) * | 2017-12-11 | 2021-05-07 | 网宿科技股份有限公司 | 一种无线网络数据传输方法、发送端及接收端 |
JP6919721B2 (ja) * | 2017-12-15 | 2021-08-18 | 日本電気株式会社 | 受信機、通信システム、可用帯域推定方法及びプログラム |
-
2017
- 2017-12-11 CN CN201711308781.0A patent/CN109905327B/zh active Active
-
2018
- 2018-04-03 WO PCT/CN2018/081743 patent/WO2019114156A1/zh unknown
- 2018-04-03 EP EP18888133.8A patent/EP3579615B1/en active Active
-
2019
- 2019-09-13 US US16/570,536 patent/US11129044B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050207436A1 (en) * | 2004-03-18 | 2005-09-22 | Anujan Varma | Switching device based on aggregation of packets |
CN101695181A (zh) * | 2009-10-29 | 2010-04-14 | 福建星网锐捷网络有限公司 | 无线局域网的数据发送装置及方法、无线接入点装置 |
CN104022843A (zh) * | 2014-04-01 | 2014-09-03 | 天津大学 | 基于长距离无线网络的自适应数据传输速率调整算法 |
CN105813142A (zh) * | 2014-12-31 | 2016-07-27 | 华为技术有限公司 | 一种数据帧的发送方法、装置及系统 |
Non-Patent Citations (1)
Title |
---|
See also references of EP3579615A4 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11129044B2 (en) * | 2017-12-11 | 2021-09-21 | Wangsu Science & Technology Co., Ltd. | Method for transmitting wireless network data, sending terminal and receiving terminal |
Also Published As
Publication number | Publication date |
---|---|
EP3579615B1 (en) | 2021-09-08 |
CN109905327B (zh) | 2021-05-07 |
US20200008094A1 (en) | 2020-01-02 |
EP3579615A1 (en) | 2019-12-11 |
EP3579615A4 (en) | 2020-04-01 |
CN109905327A (zh) | 2019-06-18 |
US11129044B2 (en) | 2021-09-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101046105B1 (ko) | 컴퓨터 프로그램 제조품, 리소스 요구 조정 방법 및 엔드 시스템 | |
US7733785B2 (en) | Method and system for dynamically adjusting packet size to decrease delays of streaming data transmissions on noisy transmission lines | |
US8040836B2 (en) | Local network coding for wireless networks | |
CN106301684B (zh) | 一种媒体数据传输方法及装置 | |
US11558302B2 (en) | Data transmission method and apparatus | |
JP7066742B2 (ja) | ワイヤレスデバイスのためのフロー制御 | |
US10491721B2 (en) | Insertion and use of application or radio information in network data packet headers | |
US10382495B2 (en) | Method and interworking network node for enabling bit rate adaption in media streaming | |
WO2017000719A1 (zh) | 一种基于队列时延的拥塞控制方法及装置 | |
WO2013075436A1 (zh) | 一种无线资源优化方法、装置及系统 | |
WO2018121742A1 (zh) | 一种流数据的传输方法和装置 | |
CN104301066A (zh) | 数据包传输方法及装置 | |
WO2016086551A1 (zh) | 一种基于改进的wred的拥塞控制方法和装置 | |
WO2018112877A1 (zh) | 路径计算和访问请求分发方法、装置及系统 | |
US20230139633A1 (en) | Data Packet Sending Method and Apparatus | |
WO2015069944A1 (en) | Systems and methods for proactive congestion detection in radio access networks | |
WO2017097201A1 (zh) | 一种数据传输方法、发送装置及接收装置 | |
JP2018511958A (ja) | WiFi Miracastにおけるスケーラブルマルチメディアデータ配信のためのピア支援アプリケーションレベルフィードバックを伴う集中型アプリケーションレベルマルチキャスティング | |
US9438439B2 (en) | Dynamic optimization of advertisement packets | |
WO2019114156A1 (zh) | 一种无线网络数据传输方法、发送端及接收端 | |
EP3560152A1 (en) | Determining the bandwidth of a communication link | |
US9674726B1 (en) | Methods and systems for improved bandwidth estimation | |
US10462078B2 (en) | Using signals extracted from a VOIP data stream to distinguish between network congestion and link losses | |
US10742561B2 (en) | Prevention of network retransmission timeout | |
WO2022042386A1 (zh) | 一种控制报文发送的方法、网路设备和系统 |
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: 18888133 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 2018888133 Country of ref document: EP Effective date: 20190906 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |