WO2016192478A1 - 数据传输方法及装置 - Google Patents

数据传输方法及装置 Download PDF

Info

Publication number
WO2016192478A1
WO2016192478A1 PCT/CN2016/079603 CN2016079603W WO2016192478A1 WO 2016192478 A1 WO2016192478 A1 WO 2016192478A1 CN 2016079603 W CN2016079603 W CN 2016079603W WO 2016192478 A1 WO2016192478 A1 WO 2016192478A1
Authority
WO
WIPO (PCT)
Prior art keywords
information
data
packet
available bandwidth
rtt
Prior art date
Application number
PCT/CN2016/079603
Other languages
English (en)
French (fr)
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 腾讯科技(深圳)有限公司
Publication of WO2016192478A1 publication Critical patent/WO2016192478A1/zh
Priority to US15/657,751 priority Critical patent/US10462707B2/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/16Central resource management; Negotiation of resources or communication parameters, e.g. negotiating bandwidth or QoS [Quality of Service]
    • H04W28/18Negotiating wireless communication parameters
    • H04W28/20Negotiating bandwidth
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0894Policy-based network configuration management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0896Bandwidth or capacity management, i.e. automatically increasing or decreasing capacities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0823Errors, e.g. transmission errors
    • H04L43/0829Packet loss
    • H04L43/0835One way packet loss
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0852Delays
    • H04L43/0864Round trip delays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/11Identifying congestion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/19Flow control; Congestion control at layers above the network layer
    • H04L47/193Flow control; Congestion control at layers above the network layer at the transport layer, e.g. TCP related
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/28Flow control; Congestion control in relation to timing considerations
    • H04L47/283Flow control; Congestion control in relation to timing considerations in response to processing delays, e.g. caused by jitter or round trip time [RTT]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0893Assignment of logical groups to network elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0823Errors, e.g. transmission errors
    • H04L43/0829Packet loss

Definitions

  • the embodiments of the present invention relate to the field of Internet technologies, and in particular, to a data transmission method and apparatus.
  • the related technologies mainly adopt the following two methods when performing data transmission:
  • the first way when receiving the data acquisition request sent by the mobile terminal, the corresponding data is acquired, and the data is obtained through techniques such as priority, multiplexing, compression, and active promotion. Transfer to the mobile terminal.
  • SPDY pronounced speedy
  • the second method is: based on the Zeta-TCP (Transmission Control Protocol), when receiving the data acquisition request sent by the mobile terminal, acquiring corresponding data, and determining by learning the network characteristics of the current transmission link A data transmission strategy that in turn transmits data in accordance with a determined data transmission strategy.
  • Zeta-TCP Transmission Control Protocol
  • the first method requires the mobile terminal and the server to support the SPDY protocol at the same time, it is difficult to achieve no The seam upgrade is poorly applied; and the SPDY protocol is mainly applied to the transmission of big data, but in the transmission scenario of small data, the acceleration effect is not ideal.
  • the second method mainly adjusts the data transmission strategy by adaptive learning of the current network characteristics
  • the Zeta-TCP protocol has not learned enough network characteristics, and the transmission link has been disconnected.
  • the acceleration effect is not ideal.
  • an embodiment of the present invention provides a data transmission method and apparatus.
  • the technical solution is as follows:
  • a data transmission method comprising:
  • a data transmission apparatus comprising:
  • An obtaining module configured to acquire interaction information of a transmission link at a current time
  • a first analysis module configured to analyze the interaction situation information, and obtain link state information corresponding to the interaction situation information
  • a first determining module configured to determine, according to link state information corresponding to the interaction situation information and link state information corresponding to historical interaction information of the transmission link, an available bandwidth of the current transmission data
  • the first transmission module is configured to transmit a data packet to the data receiving end according to the available bandwidth.
  • a server comprising:
  • One or more processors are One or more processors.
  • the memory stores one or more programs, the one or more programs being configured to be executed by the one or more processors, the one or more programs including instructions for:
  • the available bandwidth of the current transmission data is determined according to the link state information of the interaction situation information and the link state information of the historical interaction information of the transmission link, and then the data packet is transmitted to the data receiving end according to the available bandwidth. Since the data transmission is performed based on the TCP protocol, the data receiving end and the data transmitting end do not need to support additional protocols, and the application is strong, and the interaction information and the historical interaction information of the transmission link are comprehensively considered when determining the available bandwidth.
  • the determined bandwidth is more representative of the current network conditions, significantly increasing the data transmission rate.
  • FIG. 1 is a system architecture diagram of a TCPA according to an embodiment of the present invention.
  • FIG. 2 is a logical architecture diagram of a TCPA according to another embodiment of the present invention.
  • FIG. 3 is a flowchart of a data transmission method according to another embodiment of the present invention.
  • FIG. 4 is a flowchart of a data transmission method according to another embodiment of the present invention.
  • FIG. 5 is a schematic diagram of a process for controlling bandwidth in a data transmission process according to another embodiment of the present invention.
  • FIG. 6 is a schematic diagram of a process for controlling congestion during data transmission according to another embodiment of the present invention.
  • FIG. 7 is a schematic diagram of a process for performing packet loss detection during data transmission according to another embodiment of the present invention.
  • FIG. 8 is a schematic structural diagram of a data transmission apparatus according to another embodiment of the present invention.
  • FIG. 9 is a schematic structural diagram of a data transmission apparatus according to another embodiment of the present invention.
  • picture sharing is a high-frequency use scene in the Internet era. Whether it is a foreign photo sharing website or a domestic social application, the user's activity is very high.
  • the transmission of data on the transmission link is involved. Since the picture data is small, correspondingly, the transmission scene of the picture data is often relatively simple.
  • one to three pictures having a size of several hundred KB or less can be synchronously transmitted on each transmission link.
  • the mobile network is more complicated than the wired network, the picture data is affected by various factors in the transmission process, resulting in a lower transmission rate and a longer download time of the picture data.
  • the RTT Red-Trip Time
  • the TCP protocol stack is deployed on the server side. After the network is congested, the amount of data transmission is actively reduced.
  • the RTT of the current network mainly depends on the transmission medium, the transmission distance, and the processing logic of each node in the transmission path. And other factors, these factors belong to the basic nature of the network, this embodiment does not pay attention.
  • the traditional TCP protocol stack mainly controls the data transmission rate through the sliding window, and the sliding window is mainly limited by the receiving window and the congestion control window of the data receiving end.
  • the receiving window of the data receiving end is determined by the data receiving capability of the data receiving end, and the congestion control window is mainly determined by the congestion control algorithm of the TCP protocol stack.
  • congestion control algorithms there are many congestion control algorithms in the TCP protocol stack. These congestion control algorithms mainly detect network congestion based on packet loss or delay fluctuation.
  • the TCP protocol stack has a significant control effect on the data transmission process in the long-connection transmission scenario of the wired network.
  • the TCP protocol stack has no significant control effect on the data transmission process, and the mobile network has a high effect.
  • the packet loss rate and unstable RTT will cause the TCP protocol stack to misjudge.
  • the TCP protocol stack will also actively reduce the amount of data packets sent, which will result in the transmission of data in the mobile network. The rate is lower, and the mobile terminal downloads the picture for a longer time.
  • the embodiment of the present invention provides a data transmission method, which is based on the TCPA (Tencent tCP Accelerator, tcp acceleration device) system architecture diagram shown in FIG.
  • the TCPA system consists of two parts, one of which is deployed in the kernel mode, and is mainly composed of a transmission control center, which is mainly responsible for the specific transmission of data.
  • the other part is deployed in the user mode, which is mainly composed of the connection characteristic analysis module, the policy decision center and the historical data warehouse.
  • the part mainly decides the data transmission strategy, and the decision result obtained through the part decision can be sent to the policy decision center.
  • the transmission control center controls the data transmission process according to the decision result.
  • the black arrow in the figure indicates the flow direction of the application data stream
  • the white arrow in the figure indicates the flow direction of the decision data stream.
  • FIG. 2 is a logical architecture diagram of TCPA.
  • the server monitors the interaction information between the mobile terminal and the mobile terminal, and invokes the link characteristic analysis module to The interaction information of each transmission link is analyzed, and the analysis result is sent to the policy decision center, and the policy decision center makes a decision according to the analysis result and the historical interaction information obtained from the historical data warehouse, and determines according to the decision result.
  • Set of data Transmission strategy this data transmission strategy directly affects the server's bandwidth control, congestion control, packet loss detection and retransmission control.
  • the server uses the data transmission strategy for data transmission, the purpose of increasing the data transmission rate and reducing the data download time can be achieved.
  • the embodiment of the present invention provides a data transmission method.
  • the method process provided by this embodiment includes:
  • the method provided by the embodiment of the present invention determines the available bandwidth of the current transmission data according to the link state information of the interaction situation information and the link state information of the historical interaction information of the transmission link, and then transmits the data to the data receiving end according to the available bandwidth. data pack. Since the data transmission is performed based on the TCP protocol, the data receiving end and the data transmitting end do not need to support additional protocols, and the application is strong, and the interaction information and the historical interaction information of the transmission link are comprehensively considered when determining the available bandwidth. The determined bandwidth is more representative of the current network conditions, significantly increasing the data transmission rate.
  • the link state information includes a round trip delay RTT
  • Determining the available bandwidth of the current transmission data according to the link state information of the interaction situation information and the link state information of the historical interaction information of the transmission link including:
  • the link state information includes delay information, and the delay information includes Round trip delay RTT and RTT volatility;
  • Determining the available bandwidth of the current transmission data according to the link state information of the interaction information and the link state information of the historical interaction information of the transmission link including:
  • the target RTT is selected from the RTT of the interaction information and the RTT of the historical interaction information
  • the available bandwidth of the current transmission data is determined according to the data transmission amount corresponding to the target RTT and the target RTT.
  • the transmitting the data packet to the data receiving end according to the available bandwidth includes:
  • the data packet is transmitted to the data receiving end according to the adjusted available bandwidth.
  • the method further includes:
  • the transmission is performed according to the adjusted available bandwidth.
  • the method after transmitting the data packet to the data receiving end according to the available bandwidth, the method further includes:
  • the packet loss detection packet When it is detected that the duration of the untransmitted data packet reaches the preset duration, and the data packet that has not returned the response packet exists in the transmitted data packet, the packet loss detection packet is sent to the data receiving end, and the packet loss detection packet is sent.
  • the measurement message carries the last byte information of the last data packet that has been transmitted;
  • the response packet carries the last byte information of the last data packet received by the data receiving end and the last data packet of the transmission
  • the last byte information determines the lost data packet from the transmitted data packet
  • the method after transmitting the data packet to the data receiving end according to the available bandwidth, the method further includes:
  • the data packet is retransmitted.
  • the transmitting the data packet to the data receiving end according to the available bandwidth includes:
  • weighted available bandwidth is greater than the preset bandwidth threshold, transmitting a data packet to the data receiving end based on the preset number of parallel transmissions of the first data packet; if the weighted available bandwidth is less than or equal to the preset bandwidth threshold, And transmitting, according to the preset number of parallel transmissions of the second data packet, the data packet to the data receiving end, wherein the number of parallel transmissions of the first data packet is greater than the number of parallel transmissions of the second data packet.
  • the embodiment of the present invention provides a data transmission method, which is applicable to a scenario in which a mobile terminal downloads image data through a mobile network.
  • the current network is a mobile network.
  • the method process provided by this embodiment includes:
  • the server establishes a connection state with the data receiving end.
  • the data receiving end is a mobile terminal for downloading picture data, such as a smart phone or a tablet computer.
  • the server and the data receiving end usually perform a three-way handshake before data transmission.
  • the data receiving end handshakes with the server for the first time: the data receiving end sends a SYN (Synchronize Sequence Numbers) packet to the server, and enters the SYN_SENT state, waiting for the server to confirm.
  • SYN Synchronize Sequence Numbers
  • ACK Acknowledgement
  • the data receiving end and the server shake hands for the third time: when the data receiving end receives the SYN-ACK packet sent by the server, and returns an ACK packet to the server, after that, the data receiving end and the server enter the connection state.
  • the server and the data receiving end can establish a connection.
  • the server acquires interaction information of the current time transmission link.
  • the server can monitor each data interaction process on the transmission link until the established connection is broken. In the process, when the server monitors that there is interaction information on the transmission link at the current moment, the server will obtain the interaction information.
  • the interaction status information includes data packet number, flag (a parameter used to record a variable), a timestamp, and a TCP payload size.
  • the content of the interaction situation information is not specifically limited in this embodiment.
  • the server analyzes the interaction situation information, and obtains link state information corresponding to the interaction situation information.
  • the server After obtaining the interaction situation information, the server will invoke the link feature analysis module to analyze the acquired interaction situation information, and analyze the link state information of the interaction information of the transmission link.
  • the link state information may include delay information.
  • the delay information includes at least the current Link RTT, RTT volatility, etc.
  • the server may further determine other information, such as packet loss information and retransmission information, according to the interaction information, where the packet loss information includes at least a packet loss rate and a packet loss location, and the retransmission information includes at least a retransmission delay and a retransmission. Size, duplicate ACK packets, etc.
  • the processing method for determining the delay information corresponding to the interaction information by the server may be as follows:
  • the server When the server transmits data to the data receiving end, the server usually adds a timestamp information to the data packet. After receiving the data packet sent by the server, the data receiving end returns a response message to the server, and the response message is in the response message. Carry a timestamp message.
  • the server can calculate the time difference between the sending and receiving of the data packet, The time difference is RTT. Since the mobile network is unstable, when the same data packet is transmitted on the same link, the calculated RTT may be different each time. The server can obtain the RTT volatility by analyzing the RTT during multiple transmissions. .
  • the embodiment further provides a processing manner for the server to determine the packet loss information and the retransmission information corresponding to the interaction situation information, and the specific content may be as follows:
  • the data packets to be sent are usually numbered, and in the subsequent data transmission, the data packets are sent in the order of small to large. Transmitting, if the data receiving end receives the data sent by the server, the data receiving end returns a response message to the server, the response message is used to notify the server of the confirmed packet number in the data packet sent by the server, and the server sends the data according to the data.
  • the number of the packet and the confirmed packet number determine the location of the lost packet during transmission and the location of the lost packet in the transmitted packet. This location is the packet loss location.
  • the server In order to ensure that the data received by the receiving end is complete, when the server detects that a certain data packet is lost in the transmission process, the server will retransmit the lost data packet to the data receiving end, according to the number of retransmitted data packets, the server The size of the retransmission can be determined according to the time carried in the data packet transmitted for the first time. The time stamp information and the timestamp information carried in the retransmission data packet, the server can determine the retransmission delay. In addition, in the process, if a certain data packet is lost, the data packet located before the data and the data packet located after the data packet will send an ACK packet to the server, and based on the received ACK packet, the server can determine Repeat the ACK packet.
  • the server After the server analyzes the interaction information of the current time transmission link by calling the link analysis module, the server will also write the obtained interaction information back to the historical data warehouse in the dimension of IP, thereby providing the subsequent data transmission. Data support.
  • the server determines, according to the link state information corresponding to the interaction situation information and the link state information corresponding to the historical interaction information of the transmission link, the available bandwidth of the current transmission data.
  • the sliding window is mainly limited by the receiving window of the congestion window and the data receiving end.
  • the TCP protocol stack cannot detect the congestion condition of the current network.
  • the sliding window is mainly limited by the initial window set by the server and the receiving window of the data receiving end.
  • the network environment of the mobile network is much more complicated than that of the wired network, the network environment in which the different data receiving ends are located is greatly different, which makes the initial window of the setting not applicable in different network environments.
  • the sliding window determined according to the initial window and the receiving window of the data receiving end does not accurately reflect the current network condition, and thus the determined available bandwidth is not accurate.
  • the server analyzes the interaction information of the current transmission link, and obtains the link state information of the interaction information, and the server also obtains the transmission chain from the historical data warehouse.
  • the historical interaction information of the current time on the road is analyzed, and the historical interaction information is analyzed in the same manner as the currently acquired interaction information, and the link state information of the historical interaction information of the transmission link is obtained.
  • the server performs offline analysis on the link state information of the interaction situation information and the link state information of the historical interaction information of the transmission link by calling the data link analysis module, and can obtain the available bandwidth of the current transmission data.
  • the link state information includes a round-trip delay RTT
  • the server may determine, according to the RTT, the available bandwidth of the data to be transmitted, and the corresponding processing process may be as follows: RTT in the interaction information. And the RTT of the historical interaction information, determining the target RTT that satisfies the preset short delay condition; determining the available bandwidth of the current transmission data according to the data transmission amount corresponding to the target RTT and the target RTT.
  • the server may analyze the interaction information to obtain the RTT corresponding to the interaction information, and the server may also obtain the RTT of the historical interaction information, where the historical interaction information may be an interaction within the historical time period corresponding to the current time. Situation information. For example, if the time corresponding to the interaction information currently obtained by the server is 12:30:15 to 17 seconds on April 1, the historical interaction information may be obtained within 12:30, 15 seconds, and 17 seconds on March 1. The interaction information to.
  • the server may obtain the RTT of the current interaction situation information and the RTT of the historical interaction situation information, and then determine the target RTT that satisfies the preset short delay condition. For example, the server may determine the minimum target RTT in the acquired RTT.
  • the server may determine the data transmission amount corresponding to the target RTT, and the data transmission amount corresponding to the target RTT may be the actual data amount transmitted in the historical time period corresponding to the target RTT.
  • the server can multiply the target RTT by the data transmission amount corresponding to the target RTT to obtain the available bandwidth of the current transmission data.
  • the server monitors the current time transmission link, and obtains the RTT of the interaction information as 20 ms (millisecond), and obtains the RTT of the historical interaction information of the last three days of the transmission link from the historical data warehouse, respectively, to 18 ms.
  • the RTT of the transmission link is fluctuating by analyzing the obtained RTT information and historical RTT information.
  • the server may select a minimum RTT as the target RTT according to the interaction condition information and the RTT volatility of the historical interaction information, and then pass the RTT.
  • the data transmission amount corresponding to the RTT is multiplied to obtain a bandwidth, which is the available bandwidth of the current transmission data.
  • the link state information may also include delay information, where the delay information may include a round trip delay RTT and an RTT volatility, and the server may also determine the available bandwidth according to the round trip delay RTT and the RTT volatility, and corresponding processing
  • the process may be as follows: in the RTT of the interaction situation information and the RTT of the historical interaction information, determine the target RTT that satisfies the preset short delay condition; according to the target RTT and The amount of data transmission corresponding to the target RTT determines the available bandwidth of the current transmission data.
  • the server determines mainly according to the delay information in the link state information. Specifically, the server may determine an average value of the RTT according to the obtained RTT, and then determine a target RTT with the highest RTT volatility in the RTT smaller than the average value, and then according to the target RTT and the target RTT corresponding data transmission amount. Determine the available bandwidth for this transmission of data.
  • the server transmits the data packet to the data receiving end according to the available bandwidth.
  • the server can transmit the data packet to the data receiving end according to the determined available bandwidth.
  • the server uses the determined available bandwidth to transmit data packets, a 10 KB small picture can be transmitted to the data receiving end at one time, thereby avoiding the limitation of the sliding window of the TCP protocol stack.
  • the data transfer rate is not limited to the data receiving end.
  • FIG. 5 In order to visually demonstrate the superiority of using the method provided by the embodiment in transmitting data, the following description will be made by taking FIG. 5 as an example.
  • the method provided in this embodiment further supports adjusting the determined available bandwidth, performing packet loss detection on the transmitted data packet, and retransmitting the lost data packet. Wait. See below for details.
  • the available bandwidth may be adjusted according to the packet loss information, and then the data packet is transmitted.
  • the processing of step 405 may be as follows: analyzing the interaction situation information to obtain packet loss information corresponding to the interaction situation information; Determining the current network congestion state information according to the packet loss information corresponding to the interaction information and the packet loss information corresponding to the historical interaction information; adjusting the determined available bandwidth according to the congestion state information; and adjusting the determined available bandwidth to the data receiving end Transfer packets.
  • the server can analyze the interaction situation information, and obtain the interaction situation information corresponding
  • the packet loss information includes at least the packet loss rate and the packet loss location.
  • the specific processing mode has been described above and will not be described again.
  • the server may determine a weighted average of the packet loss rate according to the packet loss rate corresponding to the interaction situation information and the packet loss rate corresponding to the historical interaction information, and then determine the current network congestion state information according to the calculated weighted average value. For example, if the weighted average value is greater than the packet loss rate threshold, it may be determined that the current network congestion state information is congestion, and if the weighted average value is not greater than the packet loss rate threshold, it may be determined that the current network congestion state information is not congested.
  • the server determines that the congestion status information of the current network is congestion, the determined available bandwidth may be reduced. If the server determines that the current network congestion status information is not congested, the data packet may be transmitted according to the determined available bandwidth, or may be increased. Determine the available bandwidth. In this way, the sliding window can be independently maintained based on TCPA.
  • TCPA will take the subsequent data and send it from the sending queue, as shown in FIG. 6.
  • the flow control may be performed according to the determined available bandwidth.
  • the processing of step 405 may be as follows: determining the first weighted available bandwidth according to the available bandwidth and the historically available bandwidth; and if the weighted available bandwidth is greater than the preset bandwidth. Threshold, based on the preset number of parallel transmissions of the first data packet, transmitting data packets to the data receiving end; if the weighted available bandwidth is less than or equal to the preset bandwidth threshold, the number of parallel transmissions based on the preset second data packet, the data to the data The receiving end transmits the data packet, and the number of parallel transmission of the first data packet is greater than the number of parallel transmission of the second data packet.
  • the available bandwidth can be obtained in the historical year, and the historical bandwidth can be the available bandwidth in the historical time period corresponding to the current time. For example, the server determines that the available bandwidth of 12:30, 15 seconds, and 17 seconds on April 1 is A, and the available bandwidth of the year-on-year history may be the available bandwidth within 12:30 minutes, 15 seconds, and 17 seconds on March 1.
  • the server may calculate the first weighted available bandwidth by multiplying the available bandwidth by the weight corresponding to the available bandwidth, plus the result of multiplying the historical available bandwidth by the weight corresponding to the historical bandwidth.
  • the server may determine whether the first weighted available bandwidth is greater than a preset bandwidth threshold.
  • the server may transmit the data packet to the data receiving end according to the preset number of parallel transmissions of the first data packet.
  • the weighted available bandwidth is less than or equal to the preset bandwidth threshold, and may be based on the preset second number According to the number of parallel transmissions of the packet, the data packet is transmitted to the data receiving end, wherein the number of parallel transmission of the first data packet is greater than the number of parallel transmission of the second data packet, and the first data packet data may be a preset transmission number of the TCP protocol stack.
  • the server determines that the weighted available bandwidth is greater than the preset bandwidth threshold, three data packets may be transmitted in parallel, and if the server determines that the weighted available bandwidth is not greater than the preset bandwidth threshold, four data may be transmitted in parallel.
  • the package is shown in Figure 5.
  • the server may determine the second weighted available bandwidth according to the available bandwidth and the historically available bandwidth, and then determine the first data packet corresponding to the first weighted available bandwidth according to the pre-stored weighted available bandwidth and the number of data packets. The number of packets of the first packet number is transmitted to the data receiving end.
  • the available bandwidth may be adjusted when the data packet is sent next time, and the corresponding processing may be as follows: analyzing the interaction information to obtain packet loss information corresponding to the interaction situation information; The packet loss information corresponding to the packet loss information and the historical interaction information determines the current network congestion status information; adjusts the available bandwidth according to the congestion status information; and transmits the data according to the adjusted available bandwidth when transmitting the data packet to the data receiving end next time. .
  • the server will pass congestion control algorithms such as cubic, bic, etc. according to the TCP protocol stack. After determining that the current network is congested, the server will actively reduce the available bandwidth to alleviate the congestion of the current network. However, in practical applications, repeated ACK caused by out-of-order and network packet weakening or packet loss caused by handover cannot be used as a feature of network congestion. After the server analyzes the traditional TCP protocol stack, it is determined that the network congestion will be reduced. The available bandwidth makes the data transfer rate low.
  • the server further analyzes the congestion status of the current network according to the packet loss information in the link state information, so as to re-adjust the transmission bandwidth according to the analysis result.
  • the server may determine the historical packet loss situation of the transmission link and the current packet loss location and packet loss rate according to the packet loss information of the interaction situation information and the packet loss information of the historical interaction information. And other factors, and based on these factors to determine the current network congestion, and then adjust the available bandwidth according to the determined congestion situation, Therefore, when the data packet is transmitted to the data receiving end, the data is transmitted according to the adjusted available bandwidth.
  • the specific adjustment mode is the same as the above adjustment mode, and details are not described herein.
  • FIG. 6 In order to visually demonstrate the superiority of using the method provided by the embodiment in transmitting data, the following description will be made by taking FIG. 6 as an example.
  • the sliding window determined by the traditional method can only transmit three data packets at a time, and the sliding window adjusted according to the method provided by the embodiment of the present invention can send four data packets at a time. Since the number of data packets transmitted at one time increases, the data transmission rate is increased.
  • the server will also perform packet loss detection on the transmitted data packet after transmitting the data packet to the data receiving end.
  • the packet loss detection is mainly used for detecting the tail packet loss in the transmitted data packet, so as to retransmit in time after the tail packet is lost, the data download time is reduced, and the user experience is improved.
  • the conventional packet loss detecting method detects that the data packets 4, 5, and 6 are lost. After that, an RTO (Recovery Time Object) time is required to initiate the retransmission mechanism to retransmit the lost data packet, which takes a long time.
  • RTO Recovery Time Object
  • the proportion within 10 KB is very high. In the same transmission link, the picture download is synchronized, so that the probability of tail packet loss will be greatly improved. If the method in Figure 7 (A) is used, When detecting packet loss, download a picture within 10KB, the user may also wait a few seconds, and the user experience is poor.
  • the method provided by the embodiment further detects whether the duration of the untransmitted data packet on the transmission link reaches a preset duration after transmitting data to the data receiving end according to the available bandwidth.
  • the packet is sent to the data receiving end, and the packet loss detection packet carries the transmitted packet.
  • the last byte information of the last data packet when receiving the response message corresponding to the packet loss detection message, the response message carries the last byte information of the last data packet received by the data receiving end and the transmitted message The last byte of the last packet, according to the response The data packet is determined from the transmitted data packet; the lost data packet is retransmitted.
  • the server may send a packet loss detection packet to the data receiving end, where The packet loss detection packet may carry the last byte information of the last data packet that has been transmitted.
  • the packet loss detection packet may carry the last byte information of the last data packet that has been transmitted.
  • the data receiving end may receive the last byte information of the last data packet received and lost. The last byte information in the packet detection message is compared. If the two are different, the data receiving end may determine that the data packet is lost, and then generate a response message, and the response message is used to indicate the data to be transmitted.
  • the response message may carry the last byte information of the last data packet received by the data receiving end and the last byte information of the last data packet transmitted, and the corresponding information generated
  • the message is sent to the server.
  • the server can determine the lost data packet from the transmitted data packet according to the response message, and then transmit the lost data packet to the data receiving end in time.
  • the preset duration may be 3ms, 5ms, 7ms, etc., and the preset duration is not specifically limited in this embodiment.
  • the server detects that the length of time for transmitting the data packet reaches a preset duration, and Upon receiving the ACK packet returned by the data packet 4, 5, and 6, the server sends a packet loss detection packet to the data receiving end, and after receiving the packet loss detection packet, the data receiving end returns a response packet to the server.
  • the response message is used to notify the server that the data packets 4, 5, and 6 are lost.
  • the server retransmits the data packets 4, 5, and 6 to the data receiving end.
  • the above process is a process in which the server automatically detects the loss of the data packet and then transmits the lost data packet to the data receiving end.
  • the server may also invoke the policy decision center to analyze the packet loss information of the interaction information and the packet loss information of the historical interaction information of the transmission link, and the information according to the interaction situation is lost.
  • the packet information and the packet loss information of the historical interaction information of the transmission link are determined, and the first weighted packet loss information is determined, and the first weighted packet loss information is determined according to the correspondence between the pre-stored weighted packet loss information and the retransmission duration.
  • a retransmission time period when the first retransmission time is reached, the data packet is retransmitted.
  • the server may determine the first weighted packet loss information according to the packet loss information of the interaction situation information and the packet loss information of the historical interaction information of the transmission link, and according to the pre-stored weighted packet loss information and the retransmission duration Relationship: In the corresponding relationship, the larger weighted packet loss information may correspond to a smaller retransmission duration, and the smaller weighted packet loss information may correspond to a larger retransmission duration. After determining the first retransmission duration corresponding to the first weighted packet loss information, the server may retransmit the data packet when the first retransmission duration is reached.
  • the server can also obtain the location of frequent packet loss, the location and number of duplicate ACKs in the data packet, and determine the retransmission timing and the number of duplicate ACKs based on the location of the packet loss in the data packet.
  • the retransmitted data packet, and then, when the retransmission opportunity is reached, the data packet to be retransmitted is retransmitted to the data receiving end.
  • the method provided by the embodiment of the present invention determines the available bandwidth of the current transmission data according to the link state information of the interaction situation information and the link state information of the historical interaction information of the transmission link, and then transmits the data to the data receiving end according to the available bandwidth. data pack. Since the data transmission is performed based on the TCP protocol, the data receiving end and the data transmitting end do not need to support additional protocols, and the application is strong, and the interaction information and the historical interaction information of the transmission link are comprehensively considered when determining the available bandwidth. The determined bandwidth is more representative of the current network conditions, significantly increasing the data transmission rate.
  • an embodiment of the present invention provides a data transmission apparatus, where the apparatus includes:
  • the obtaining module 801 is configured to obtain interaction information of a transmission link at a current time
  • the first analysis module 802 is configured to analyze the interaction situation information to obtain link state information of the interaction situation information
  • the first determining module 803 is configured to determine, according to the link state information of the interaction situation information and the link state information of the historical interaction information of the transmission link, the available bandwidth of the current transmission data;
  • the first transmission module 804 is configured to transmit a data packet to the data receiving end according to the available bandwidth.
  • the link state information includes a round trip delay RTT
  • the first determining module 803 is configured to:
  • the link state information includes delay information, and the delay information includes a round trip delay RTT and an RTT volatility;
  • the first determining module 803 is configured to select a target RTT from the RTT of the interaction situation information and the RTT of the historical interaction information according to the RTT volatility of the interaction situation information and the RTT volatility of the historical interaction information; according to the target RTT and The amount of data transmission corresponding to the target RTT determines the available bandwidth of the current transmission data.
  • the first transmission module 804 is configured to:
  • the data packet is transmitted to the data receiving end according to the adjusted available bandwidth.
  • the apparatus further includes:
  • a second analysis module configured to analyze the interaction situation information, and obtain packet loss information corresponding to the interaction situation information
  • a second determining module configured to determine, according to the packet loss information corresponding to the interaction situation information and the packet loss information corresponding to the historical interaction information, the current congestion state information of the network;
  • An adjustment module configured to adjust the available bandwidth according to the congestion state information
  • the second transmission module is configured to perform transmission according to the adjusted available bandwidth when transmitting the data packet to the data receiving end next time.
  • the apparatus further includes:
  • a sending module configured to send a packet loss detection report to the data receiving end when detecting that the duration of the untransmitted data packet reaches a preset duration, and the data packet that has not returned the response packet exists in the transmitted data packet
  • the packet loss detection packet carries the last byte information of the last data packet that has been transmitted
  • a third determining module configured to receive a response packet corresponding to the packet loss detection packet, where the response packet carries a last byte information and a last packet of the last data packet received by the data receiving end Determining the last byte information of the last data packet of the transmission, and determining the lost data packet from the transmitted data packet according to the response message;
  • a third transmission module configured to retransmit the lost data packet.
  • the apparatus further includes:
  • a fourth determining module configured to determine, according to the packet loss information of the interaction situation information and the packet loss information of the historical interaction information of the transmission link, the first weighted packet loss information
  • a fifth determining module configured to determine a first retransmission duration corresponding to the first weighted packet loss information according to a correspondence between the pre-stored weighted packet loss information and a retransmission duration
  • a fourth transmission module configured to retransmit the data packet when the first retransmission duration is reached.
  • the first transmission module 804 is configured to:
  • weighted available bandwidth is greater than the preset bandwidth threshold, transmitting a data packet to the data receiving end based on the preset number of parallel transmissions of the first data packet; if the weighted available bandwidth is less than or equal to the preset bandwidth threshold, And transmitting, according to the preset number of parallel transmissions of the second data packet, the data packet to the data receiving end, wherein the number of parallel transmissions of the first data packet is greater than the number of parallel transmissions of the second data packet.
  • the apparatus determines the available bandwidth of the current transmission data according to the link state information of the interaction situation information and the link state information of the historical interaction information of the transmission link, and further determines the available bandwidth according to the available bandwidth.
  • the data packet is transmitted to the data receiving end. Since the data transmission is performed based on the TCP protocol, the data receiving end and the data transmitting end do not need to support additional protocols, and the application is strong, and the interaction information and the historical interaction information of the transmission link are comprehensively considered when determining the available bandwidth.
  • the determined bandwidth is more representative of the current network conditions, significantly increasing the data transmission rate.
  • FIG. 9 is a diagram of an apparatus for data transmission, according to an exemplary embodiment.
  • the apparatus can be a server 900 that includes a processing component 922 that further includes one or more processors, and memory resources represented by the memory 932 for storing instructions executable by the processing component 922, such as an application.
  • An application stored in memory 932 may include one or more modules each corresponding to a set of instructions.
  • processing component 922 is configured to execute instructions to perform the functions performed by the server in the data transfer method described above, and server 900 can also include a power component 926 configured to perform power management of server 900, a wired or wireless network interface 950 It is configured to connect server 900 to the network, and an input/output (I/O) interface 958.
  • Server 900 can operate based on an operating system stored in memory 932, such as Windows ServerTM, Mac OS XTM, UnixTM, LinuxTM, FreeBSDTM or the like.
  • a non-transitory computer readable storage medium comprising instructions, such as a memory comprising instructions executable by a processor of a server to perform the above method of displaying barrographic information.
  • the non-transitory computer readable storage medium may be a ROM (Read-Only Memory), a RAM (Random-Access Memory), or a CD-ROM (Compact Disc Read-Only Memory, CD-ROM, tape, floppy disk and optical data storage devices.
  • the server provided by the embodiment of the present invention determines the available bandwidth of the current transmission data according to the link state information of the interaction situation information and the link state information of the historical interaction information of the transmission link, and then transmits the data to the data receiving end according to the available bandwidth. data pack. Since the data transmission is performed based on the TCP protocol, the data receiving end and the data transmitting end do not need to support additional protocols, and the application is strong, and the interaction information and the historical interaction information of the transmission link are comprehensively considered when determining the available bandwidth. The determined bandwidth is more representative of the current network conditions, significantly increasing the data transmission rate.
  • the data transmission apparatus provided in the above embodiment only transmits the data when The division of each functional module is illustrated.
  • the above function assignment can be completed by different functional modules according to requirements, that is, the internal structure of the data transmission device is divided into different functional modules to complete all or part of the above description.
  • the data transmission apparatus and the data transmission 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.
  • a person skilled in the art may understand that all or part of the steps of implementing the above embodiments may be completed by hardware, or may be instructed by a program to execute related hardware, and the program may be stored in a computer readable storage medium.
  • the storage medium mentioned may be a read only memory, a magnetic disk or an optical disk or the like.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Environmental & Geological Engineering (AREA)
  • Quality & Reliability (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Communication Control (AREA)

Abstract

本发明实施例公开了一种数据传输方法及装置,属于互联网技术领域。该方法包括:获取当前时刻传输链路的交互情况信息;对所述交互情况信息进行分析,得到所述交互情况信息对应的链路状态信息;根据所述交互情况信息对应的链路状态信息及所述传输链路的历史交互情况信息对应的链路状态信息,确定本次传输数据的可用带宽;根据所述可用带宽向数据接收端传输数据包。本发明实施例基于TCP协议进行数据传输,无论数据接收端还是数据发送端均无需支持额外的协议,应用性较强,且在确定可用带宽时综合考虑了传输链路的交互情况信息及历史交互情况信息,使得确定的带宽更能体现当前的网络状况,显著地提高了数据传输速率。

Description

数据传输方法及装置
本申请要求于2015年5月29日提交中国专利局、申请号为201510287233.9、发明名称为“数据传输方法及装置”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本发明实施例涉及互联网技术领域,特别涉及一种数据传输方法及装置。
背景技术
近年来,随着互联网技术的发展,移动终端普及率的提高,越来越多的用户通过在移动终端上浏览网页、观看视频、从事社交活动等丰富自己的生活。在移动终端的使用场景下,为了获得更好的体验效果,用户希望移动网络上的数据响应时间越短越好。由于移动网络上的数据响应时间主要取决于数据在移动网络上的传输方式,因此,如何进行数据传输,则成为了互联网领域的热点问题。
目前,相关技术在进行数据传输时,主要采用如下两种方式:
第一种方式:基于SPDY(发音同speedy)协议,当接收到移动终端发送的数据获取请求时,获取相应的数据,并通过优先级、多路复用、压缩及主动推动等技术,将数据传输给移动终端。
第二种方式:基于Zeta-TCP(Transmission Control Protocol,传输控制协议),当接收到移动终端发送的数据获取请求时,获取相应的数据,并通过对当前传输链路的网络特性的学习,确定数据传输策略,进而按照确定的数据传输策略传输数据。
在实现本发明实施例的过程中,发明人发现相关技术至少存在以下问题:
由于第一种方式需要移动终端和服务器同时支持SPDY协议,很难做到无 缝升级,应用性较差;且SPDY协议主要应用于大数据的传输,而在小数据的传输场景下,加速效果并不理想。
由于第二种方式主要通过对当前网络特性的自适应学习来调整数据传输策略的,在小数据的传输场景下,Zeta-TCP协议还未学习到足够的网络特性,传输链路就已经断开,导致加速效果并不理想。
发明内容
为了解决相关技术的问题,本发明实施例提供了一种数据传输方法及装置。所述技术方案如下:
一方面,提供了一种数据传输方法,所述方法包括:
获取当前时刻传输链路的交互情况信息;
对所述交互情况信息进行分析,得到所述交互情况信息对应的链路状态信息;
根据所述交互情况信息对应的链路状态信息及所述传输链路的历史交互情况信息对应的链路状态信息,确定本次传输数据的可用带宽;
根据所述可用带宽向数据接收端传输数据包。
另一方面,提供了一种数据传输装置,所述装置包括:
获取模块,用于获取当前时刻传输链路的交互情况信息;
第一分析模块,用于对所述交互情况信息进行分析,得到所述交互情况信息对应的链路状态信息;
第一确定模块,用于根据所述交互情况信息对应的链路状态信息及所述传输链路的历史交互情况信息对应的链路状态信息,确定本次传输数据的可用带宽;
第一传输模块,用于根据所述可用带宽向数据接收端传输数据包。
另一方面,提供了一种服务器,所述服务器包括:
一个或多个处理器;和
存储器;
所述存储器存储有一个或多个程序,所述一个或多个程序被配置成由所述一个或多个处理器执行,所述一个或多个程序包含用于进行以下操作的指令:
获取当前时刻传输链路的交互情况信息;
对所述交互情况信息进行分析,得到所述交互情况信息对应的链路状态信息;
根据所述交互情况信息对应的链路状态信息及所述传输链路的历史交互情况信息对应的链路状态信息,确定本次传输数据的可用带宽;
根据所述可用带宽向数据接收端传输数据包。
本发明实施例提供的技术方案带来的有益效果是:
根据交互情况信息的链路状态信息及传输链路的历史交互情况信息的链路状态信息,确定本次传输数据的可用带宽,进而根据可用带宽向数据接收端传输数据包。由于基于TCP协议进行数据传输,无论数据接收端还是数据发送端均无需支持额外的协议,应用性较强,且在确定可用带宽时综合考虑了传输链路的交互情况信息及历史交互情况信息,使得确定的带宽更能体现当前的网络状况,显著地提高了数据传输速率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一个实施例提供的TCPA的系统架构图;
图2是本发明另一个实施例提供的TCPA的逻辑架构图;
图3是本发明另一个实施例提供的一种数据传输方法流程图;
图4是本发明另一个实施例提供的一种数据传输方法流程图;
图5是本发明另一个实施例提供的一种对数据传输过程中的带宽进行控制的过程示意图;
图6是本发明另一个实施例提供的一种对数据传输过程中的拥塞进行控制的过程示意图;
图7是本发明另一个实施例提供的一种在数据传输过程中进行丢包探测的过程示意图;
图8是本发明另一个实施例提供的一种数据传输装置的结构示意图;
图9是本发明另一个实施例提供的一种数据传输装置的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
随着互联网技术的发展,图片分享作为互联网时代的高频使用场景,无论是国外的图片分享网站,还是国内的社交应用,用户的活跃度均非常高。用户在浏览其他用户分享的图片过程中,如果想要收藏某些图片,用户需要借助移动终端将这些图片从服务器上下载下来。在此过程中就涉及到数据在传输链路上的传输问题。由于图片数据较小,相应地,图片数据的传输场景也往往比较简单,目前每条传输链路上可同步传输1~3张大小在几百KB以内的图片。然而,由于移动网络相对于有线网络更为复杂,图片数据在传输过程中受到多方面因素影响,导致传输速率较低,图片数据的下载时间较长。
目前,移动终端下载图片数据耗时较长的原因主要有两方面,一方面是当前网络的RTT(Round-Trip Time,往返时延)较大,另一方面是部署在服务器端的TCP协议栈检测到网络拥塞后,主动降低数据传输量。其中,当前网络的RTT主要取决于传输介质、传输距离以及传输路径中每个节点的处理逻辑 等因素,这些因素属于网络的基本性质,本实施例暂不关注。
针对于TCP协议栈导致的传输速率低的问题,传统的TCP协议栈主要通过滑动窗口控制数据传输速率,而滑动窗口主要受到数据接收端的接收窗口及拥塞控制窗口的限制。其中,数据接收端的接收窗口由数据接收端的数据接收能力决定,拥塞控制窗口主要由TCP协议栈的拥塞控制算法确定。目前,TCP协议栈的拥塞控制算法较多,这些拥塞控制算法主要基于丢包、或者延时波动来探测网络拥堵情况。TCP协议栈在有线网络的长连接传输场景下对数据传输过程的控制效果比较显著,但是在移动网络的短连接场景下,TCP协议栈对数据传输过程的控制效果并不显著,移动网络的高丢包率及不稳定的RTT,会使得TCP协议栈产生误判,在正常的移动网络环境中,TCP协议栈也会主动降低数据包的发送量,而这会导致数据在移动网络中的传输速率较低,移动终端下载图片的时间较长。
为了提高数据传输速率,本发明实施例提供了一种数据传输方法,该方法以图1所示的TCPA(Tencent tCP Accelerator,tcp加速装置)系统架构图为基础。如图1所示,TCPA系统由两部分组成,一部分为部署在内核态,主要由发送控制中心组成,该部分主要负责数据的具体传输。另一部分为部署在用户态,主要由连接特性分析模块、策略决策中心及历史数据仓库组成,该部分主要对数据发送策略进行决策,通过该部分决策得到的决策结果可通过策略决策中心下发到内核态的发送控制中心,发送控制中心根据该决策结果对数据的传输过程进行控制。需要说明的是,图中的黑色箭头表示应用数据流的流向,图中的白色箭头表示决策数据流的流向。
基于上述图1中的系统架构图,图2为TCPA的逻辑架构图,当服务器与移动终端建立连接之后,服务器监控与移动终端之间进行交互的交互情况信息,通过调用链路特性分析模块对每条传输链路的交互情况信息进行分析,进而将分析结果发送至策略决策中心,由策略决策中心根据分析结果及从历史数据仓库中获取到的历史交互情况信息进行决策,根据决策结果确定出一套数据 传输策略,该数据传输策略直接影响到服务器的带宽控制、拥塞控制、丢包检测及重传控制。当服务器采用该数据传输策略进行数据传输时,可达到提高数据传输速率,减小数据下载时间的目的。
本发明实施例提供一种数据传输方法,参见图3,本实施例提供的方法流程包括:
301、获取当前时刻传输链路的交互情况信息。
302、对所述交互情况信息进行分析,得到所述交互情况信息对应的链路状态信息。
303、根据所述交互情况信息对应的链路状态信息及所述传输链路的历史交互情况信息对应的链路状态信息,确定本次传输数据的可用带宽。
304、根据可用带宽向数据接收端传输数据包。
本发明实施例提供的方法,根据交互情况信息的链路状态信息及传输链路的历史交互情况信息的链路状态信息,确定本次传输数据的可用带宽,进而根据可用带宽向数据接收端传输数据包。由于基于TCP协议进行数据传输,无论数据接收端还是数据发送端均无需支持额外的协议,应用性较强,且在确定可用带宽时综合考虑了传输链路的交互情况信息及历史交互情况信息,使得确定的带宽更能体现当前的网络状况,显著地提高了数据传输速率。
在本发明的另一个实施例中,所述链路状态信息包括往返时延RTT;
所述根据所述交互情况信息的链路状态信息及所述传输链路的历史交互情况信息的链路状态信息,确定本次传输数据的可用带宽,包括:
在所述交互情况信息的RTT及所述历史交互情况信息的RTT中,确定满足预设的短时延条件的目标RTT;
根据所述目标RTT及所述目标RTT对应的数据传输量,确定本次传输数据的可用带宽。
在本发明的另一个实施例中,链路状态信息包括时延信息,时延信息包括 往返时延RTT及RTT波动率;
根据交互情况信息的链路状态信息及传输链路的历史交互情况信息的链路状态信息,确定本次传输数据的可用带宽,包括:
根据交互情况信息的RTT波动率及历史交互情况信息的RTT波动率,从交互情况信息的RTT及历史交互情况信息的RTT中,选取出目标RTT;
根据目标RTT及目标RTT对应的数据传输量,确定本次传输数据的可用带宽。
在本发明的另一个实施例中,所述根据所述可用带宽向数据接收端传输数据包,包括:
对所述交互情况信息进行分析,得到所述交互情况信息对应的丢包信息;
根据所述交互情况信息对应的丢包信息及所述历史交互情况信息对应的丢包信息,确定当前网络的拥堵状态信息;
根据所述拥堵状态信息,调整确定出的可用带宽;
根据调整后的可用带宽向数据接收端传输数据包。
在本发明的另一个实施例中,所述根据所述可用带宽向数据接收端传输数据包之后,还包括:
对所述交互情况信息进行分析,得到所述交互情况信息对应的丢包信息;
根据所述交互情况信息对应的丢包信息及所述历史交互情况信息对应的丢包信息,确定当前网络的拥堵状态信息;
根据所述拥堵状态信息,调整所述可用带宽;
在下一次向所述数据接收端传输数据包时,按照调整后的可用带宽进行传输。
在本发明的另一个实施例中,根据可用带宽向数据接收端传输数据包之后,还包括:
当检测到未传输数据包的时长达到预设时长,且已传输的数据包中存在未返回响应报文的数据包时,向所述数据接收端发送丢包探测报文,所述丢包探 测报文中携带有已传输的最后一个数据包的末尾字节信息;
当接收到所述丢包探测报文对应的响应报文,所述响应报文中携带有所述数据接收端接收到的最后一个数据包的末尾字节信息和所述传输的最后一个数据包的末尾字节信息,根据所述响应报文,从已传输的数据包中确定丢失的数据包;
重新传输所述丢失的数据包。
在本发明的另一个实施例中,根据可用带宽向数据接收端传输数据包之后,还包括:
根据所述交互情况信息的丢包信息及所述传输链路的历史交互情况信息的丢包信息,确定第一加权丢包信息;
根据预先存储的加权丢包信息与重传时长的对应关系,确定所述第一加权丢包信息对应的第一重传时长;
当达到所述第一重传时长时,重新传输所述数据包。
在本发明的另一个实施例中,所述根据所述可用带宽向数据接收端传输数据包,包括:
根据所述可用带宽和同比历史可用带宽,确定第一加权可用带宽;
如果所述加权可用带宽大于预设带宽阈值,则基于预设的第一数据包并行传输数目,向数据接收端传输数据包;如果所述加权可用带宽小于或等于所述预设带宽阈值,则基于预设的第二数据包并行传输数目,向数据接收端传输数据包,所述第一数据包并行传输数目大于所述第二数据包并行传输数目。
上述所有可选技术方案,可以采用任意结合形成本发明的可选实施例,在此不再一一赘述。
本发明实施例提供了一种数据传输方法,该方法适用于移动终端通过移动网络下载图片数据的场景,在该种场景下,当前网络即为移动网络。参见图4,本实施例提供的方法流程包括:
401、服务器与数据接收端建立连接状态。
其中,数据接收端为进行图片数据下载的移动终端,如智能手机、平板电脑等。在互联网技术领域,为了能够进行数据传输,服务器与数据接收端在进行数据传输之前,通常会进行三次握手。
数据接收端与服务器第一次握手:数据接收端会向服务器发送SYN(Synchronize Sequence Numbers,同步序列标号)包,并进入SYN_SENT状态,等待服务器确认。
数据接收端与服务器第二次握手:当接收到数据接收端发送的SYN包时,服务器通过向数据接收端发送ACK(Acknowledgement,确认字符)包对接收到的SYN包进行确认,同时服务器也会向数据接收端发送一个SYN包,服务器进入SYN_RECV状态。
数据接收端与服务器第三次握手:数据接收端接收到服务器发送的SYN-ACK包时,并向服务器返回一个ACK包,此后,数据接收端和服务器即进入连接状态。
在上述三次握手完成后,服务器和数据接收端即可建立连接。
402、服务器获取当前时刻传输链路的交互情况信息。
基于建立的连接,服务器可对传输链路上的每一次数据交互过程进行监控,直至建立的连接断开。在过程中,当服务器监控到当前时刻传输链路上有交互情况信息时,服务器将获取该交互情况信息。其中,交互情况信息包括数据包的编号、flag(用于记载变量的一个参数)、时间戳、TCP负载大小等数据,本实施例不对交互情况信息的内容作具体的限定。
403、服务器对交互情况信息进行分析,得到交互情况信息对应的链路状态信息。
当获取到交互情况信息之后,服务器将调用链路特征分析模块对获取到交互情况信息进行分析,通过分析可得到传输链路的交互情况信息的链路状态信息。在本实施例中,链路状态信息可以包括时延信息。时延信息至少包括当前 链路的RTT、RTT波动率等。另外,服务器还可以根据交互情况信息确定出其他信息,如丢包信息和重传信息等,丢包信息至少包括丢包率、丢包位置等,重传信息至少包括重传时延、重传大小、重复ACK包等。
服务器确定交互情况信息对应的时延信息的处理方式可以如下:
当服务器向数据接收端传输数据时,服务器通常会在传输数据包中添加一个时间戳信息,数据接收端接收到服务器发送的数据包后,会向服务器返回一个响应报文,该响应报文中携带一个时间戳信息。当接收到数据接收端返回的响应报文,基于发送的数据包中携带的时间戳信息及响应报文中的时间戳信息,服务器可即计算出数据包从发送到接收之间的时间差,该时间差即为RTT。由于移动网络并不稳定,当将同一数据包在同一链路上传输时,每次计算出的RTT可能是不同的,服务器通过对多次传输过程中的RTT进行分析,即可得到RTT波动率。
另外,本实施例还提供了服务器确定交互情况信息对应的丢包信息和重传信息的处理方式,具体内容可以如下:
(1)、丢包信息。
为了便于对待传输的数据进行管理,服务器向数据接收端传输数据时,通常会将待发送的数据包进行编号,进而在后续进行数据传输时,按照编号由小到大的顺序对待发送的数据包进行传输,如果数据接收端接收到服务器发送的数据,数据接收端会向服务器返回一个响应报文,该响应报文用于通知服务器发送的数据包中被确认的数据包编号,服务器根据发送数据包的编号及被确认的数据包编号,即可确定出传输过程中丢失的数据包以及丢失的数据包在发送的数据包中的位置,该位置即为丢包位置。
(2)、重传信息。
为了保证接收端接收到的数据完整,当服务器检测到某一数据包在传输过程中丢失后,服务器会将该丢失的数据包重新传输给数据接收端,依据重传的数据包的数量,服务器可确定出重传大小,依据初次传输的数据包中携带的时 间戳信息及重传数据包中携带的时间戳信息,服务器可确定出重传时延。另外,在该过程中,如果某一数据包丢失,位于该数据之前的数据包及位于该数据包之后的数据包均会向服务器发送一个ACK包,基于接收到的ACK包,服务器即可确定出重复ACK包。
另外,服务器在调用链路分析模块对当前时刻传输链路的交互情况信息进行分析之后,服务器还将以IP为维度,将获取到的交互情况信息写回历史数据仓库,从而为后续数据传输提供数据支撑。
404、服务器根据交互情况信息对应的链路状态信息及传输链路的历史交互情况信息对应的链路状态信息,确定本次传输数据的可用带宽。
由于传统的TCP协议栈主要通过滑动窗口机制控制数据发送端的可用带宽,而滑动窗口主要受拥塞窗口及数据接收端的接收窗口限制。且在服务器与数据接收端的连接建立之初,TCP协议栈是无法检测到当前网络的拥塞状况,此时滑动窗口主要受限于服务器设置的初始窗口和数据接收端的接收窗口。又由于移动网络的网络环境相对于有线网络的网络环境要复杂的多,而不同数据接收端所处的网络环境相差巨大,这使得设置的初始窗口在不同的网络环境下并不适用,此时根据初始窗口和数据接收端的接收窗口所确定的滑动窗口并不能准确的反映出当前的网络状况,进而确定的可用带宽并不准确。
为了提高所确定的可用带宽的准确性,服务器在对当前传输链路的交互情况信息进行分析,得出交互情况信息的链路状态信息之后,服务器还将从历史数据仓库中获取该条传输链路上当前时刻的历史交互情况信息,进而采用与对当前获取到的交互情况信息相同方式对历史交互情况信息进行分析,得到传输链路的历史交互情况信息的链路状态信息。之后,服务器通过调用数据链路分析模块对交互情况信息的链路状态信息及传输链路的历史交互情况信息的链路状态信息进行离线分析,可得出本次传输数据的可用带宽。
可选的,链路状态信息包括往返时延RTT,服务器可以根据RTT来确定本次传输数据的可用带宽,相应的处理过程可以如下:在交互情况信息的RTT 及历史交互情况信息的RTT中,确定满足预设的短时延条件的目标RTT;根据目标RTT及目标RTT对应的数据传输量,确定本次传输数据的可用带宽。
在实施中,服务器可以对交互情况信息进行分析,得到交互情况信息对应的RTT,服务器还可以获取历史交互情况信息的RTT,该历史交互情况信息可以是与当前时间对应的历史时间段内的交互情况信息。例如,服务器当前获取到的交互情况信息对应的时间为4月1日12点30分15秒~17秒,则历史交互情况信息可以是3月1日12点30分15秒~17秒内获取到的交互情况信息。服务器可以获取当前的交互情况信息的RTT,以及历史交互情况信息的RTT,然后可以确定满足预设的短时延条件的目标RTT,例如,服务器可以在获取到的RTT中,确定最小的目标RTT,或可以确定小于预设时延阈值的目标RTT。服务器可以确定目标RTT对应的数据传输量,目标RTT对应的数据传输量可以目标RTT对应的历史时间段内传输的实际数据量。服务器可以用目标RTT乘以目标RTT对应的数据传输量,得到本次传输数据的可用带宽。
对于上述过程为了便于理解,下面将一个具体的例子进行说明。
例如,服务器通过对当前时刻传输链路进行监控,获取到交互情况信息的RTT为20ms(毫秒),从历史数据仓库中获取到该传输链路最近三天的历史交互情况信息的RTT分别为18ms、16ms、21ms,通过对获取到的交互情况信息及历史交互情况信息的RTT进行分析可知,该条传输链路的RTT是波动的。为了避免传输过程中数据包丢失,使得数据接收端接收到的数据完整,服务器可依据交互情况信息及历史交互情况信息的RTT波动率,从中选取一个最小的RTT作为目标RTT,进而通过将该RTT与该RTT对应的数据传输量相乘,得到一个带宽,该带宽即为本次传输数据的可用带宽。
可选的,链路状态信息也可以包括时延信息,时延信息可以包括往返时延RTT及RTT波动率,服务器也可以根据往返时延RTT及RTT波动率来确定可用的带宽,相应的处理过程可以如下:在交互情况信息的RTT及历史交互情况信息的RTT中,确定满足预设的短时延条件的目标RTT;根据目标RTT及 目标RTT对应的数据传输量,确定本次传输数据的可用带宽。
在本步骤中,服务器在确定本次传输数据的可用带宽时,主要依据链路状态信息中的时延信息进行确定的。具体确定时,服务器可以根据获取到的RTT,确定RTT的平均值,然后可以在小于该平均值的RTT中,确定RTT波动率最大的目标RTT,然后根据目标RTT及目标RTT对应的数据传输量,确定本次传输数据的可用带宽。
405、服务器根据可用带宽向数据接收端传输数据包。
基于确定的可用带宽,服务器即可按照所确定的可用带宽向数据接收端传输数据包。在网络环境较好的情况下,服务器采用所确定的可用带宽传输数据包时,可将一张10KB的小图片一次性的传输至数据接收端,避免了受TCP协议栈滑动窗口的限制,提高了数据的传输速率。
为了直观地展示采用本实施例提供的方法在传输数据时的优越性,下面以图5为例进行说明。
参见图5,在网络状况较好时,如果采用原有的TCP协议栈的可用带宽进行数据传输,在一次数据传输过程中仅能传输三个数据包,而采用本实施所确定的可用带宽进行数据传输时,在一次传输过程中可发送四个数据包。由于一次发送的数据包的数量增多了,因此,提高了数据的传输速率。
至此,通过上述过程实现了数据的发送,在此基础上,本实施例提供的方法还支持对确定的可用带宽进行调整、对发送的数据包进行丢包检测以及对丢失的数据包进行重传等。具体参见下述内容。
可选的,可以先根据丢包信息对可用带宽进行调整,然后在传输数据包,相应的,步骤405的处理过程可以如下:对交互情况信息进行分析,得到交互情况信息对应的丢包信息;根据交互情况信息对应的丢包信息及历史交互情况信息对应的丢包信息,确定当前网络的拥堵状态信息;根据拥堵状态信息,调整确定出的可用带宽;根据调整后的可用带宽向数据接收端传输数据包。
在实施中,服务器可以对交互情况信息进行分析,得到交互情况信息对应 的丢包信息,丢包信息至少包括丢包率、丢包位置等,具体的处理方式上面已经说明,不再赘述。服务器可以根据交互情况信息对应的丢包率,以及历史交互情况信息对应的丢包率,确定丢包率的加权平均值,然后可以根据计算得到的加权平均值来判定当前网络的拥堵状态信息,例如,如果加权平均值大于丢包率阈值,则可以判定当前网络的拥堵状态信息为拥堵,如果加权平均值不大于丢包率阈值,则可以判定当前网络的拥堵状态信息为不拥堵。如果服务器判定当前网络的拥堵状态信息为拥堵,则可以减小确定出的可用带宽,如果服务器判定当前网络的拥堵状态信息为不拥堵,则可以按照确定出的可用带宽传输数据包,或者增大确定出的可用带宽。这样,可以基于TCPA独立维护滑动窗,在发送数据包时,如果TCP协议栈发送的数据无法填满TCPA的滑动窗口,TCPA将从发送队列中取出后续的数据继续发送,如图6所示。
可选的,可以根据确定出的可用带宽进行流量控制,相应的,步骤405的处理过程可以如下:根据可用带宽和同比历史可用带宽,确定第一加权可用带宽;如果加权可用带宽大于预设带宽阈值,则基于预设的第一数据包并行传输数目,向数据接收端传输数据包;如果加权可用带宽小于或等于预设带宽阈值,则基于预设的第二数据包并行传输数目,向数据接收端传输数据包,第一数据包并行传输数目大于第二数据包并行传输数目。
在实施中,服务器可以确定出当前网络的可用带宽后,可以获取同比历史可用带宽,同比历史带宽可以是与当前时间对应的历史时间段内的可用带宽。例如,服务器确定4月1日12点30分15秒~17秒的可用带宽为A,则同比历史可用带宽可以是3月1日12点30分15秒~17秒内的可用带宽。服务器可以用可用带宽乘以可用带宽对应的权值的结果,加上同比历史可用带宽乘以同比历史带宽对应的权值的结果,计算出第一加权可用带宽。服务器可以判断第一加权可用带宽是否大于预设带宽阈值,如果服务器判定加权可用带宽大于预设带宽阈值,则可以基于预设的第一数据包并行传输数目,向数据接收端传输数据包,如果加权可用带宽小于或等于预设带宽阈值,则可以基于预设的第二数 据包并行传输数目,向数据接收端传输数据包,其中,第一数据包并行传输数目大于第二数据包并行传输数目,第一数据包数据可以是TCP协议栈的预设发送数目。例如,在初始发送数据包时,如果服务器判定加权可用带宽大于预设带宽阈值,则可以并行传输3个数据包,如果服务器判定加权可用带宽不大于预设带宽阈值,则可以并行传输4个数据包,如图5所示。
另外,服务器也可以根据可用带宽和同比历史可用带宽,确定第二加权可用带宽,然后可以根据预先存储的加权可用带宽与数据包数目的对应关系,确定第一加权可用带宽对应的第一数据包数目,将第一数据包数目的数据包传输给数据接收端。
可选的,也可以在下一次发送数据报包时,对可用带宽进行调整,相应的处理过程可以如下:对交互情况信息进行分析,得到交互情况信息对应的丢包信息;根据交互情况信息对应的丢包信息及历史交互情况信息对应的丢包信息,确定当前网络的拥堵状态信息;根据拥堵状态信息,调整可用带宽;在下一次向数据接收端传输数据包时,按照调整后的可用带宽进行传输。
由于网络中的存储转发节点的数量有限,当网络中传输的数据包较多时,将导致网络能力下降,如果采用传统的数据传输方法,服务器根据TCP协议栈会通过拥塞控制算法如cubic、bic等,判断出当前网络拥塞后,服务器会主动减少可用带宽,以缓解当前网络的拥塞程度。然而在实际应用中,乱序引起的重复ACK以及网络信号减弱或者切换造成的丢包,并不能作为网络拥堵的特征,而服务器借助传统的TCP协议栈分析后,确定此时网络拥堵,将降低可用带宽,使得数据传输速率较低。为了避免传输带宽被无谓的降低,本实施例中服务器还将根据链路状态信息中的丢包信息对当前网络的拥堵状况进行分析,以根据分析结果重新调整传输带宽。该过程在具体实施时,服务器可根据交互情况信息的丢包信息及历史交互情况信息的丢包信息,确定出传输链路在同一时段的历史丢包情况及当前的丢包位置及丢包率等因素,并根据这些因素确定出当前网络的拥堵状况,进而根据所确定的拥堵状况,调整可用带宽, 从而在下一次向数据接收端传输数据包时,按照调整后的可用带宽进行传输,具体的调整方式与上述调整方式相同,不再赘述。
为了直观地展示采用本实施例提供的方法在传输数据时的优越性,下面以图6为例进行说明。
参见图6,在网络状况较好时,采用传统方法所确定的滑动窗口一次仅能传输三个数据包,而根据本发明实施例提供的方法调整的滑动窗口一次可发送四个数据包。由于一次发送的数据包的数量增多了,因此,提高了数据的传输速率。
在互联网领域,为了保证数据接收端接收到的数据完整,服务器在向数据接收端传输数据包之后,还将对传输的数据包进行丢包检测。丢包检测主要用于传输的数据包中尾部丢包的检测,以在发现尾部数据包丢失后,及时重传,降低数据下载时间,提高用户的体验效果。
参见图7中的(A)图,当服务器向数据接收端传输1、2、3、4、5、6六个数据包之后,传统的丢包检测方法检测到数据包4、5、6丢失之后,需要经过一个RTO(Recovery Time Object,恢复时间目标)时间才启动重传机制重新传输丢失的数据包,该过程时间较长。在移动终端下载图片的场景下,10KB以内的占比非常高,同一传输链路中,图片下载同步进行,使得尾部丢包发生的概率将大大提升,如果采用图7中(A)图中方法检测丢包时,下载一个10KB以内的图片,用户可能也将等待几秒钟的时间,用户体验效果较差。
为了提高数据传输速率,改善用户体验,本实施例提供的方法在根据可用带宽向数据接收端传输数据之后,还将检测传输链路上未传输数据包的时长是否达到预设时长,当检测到未传输数据包的时长达到预设时长,且已传输的数据包中存在未返回响应报文的数据包时,向数据接收端发送丢包探测报文,丢包探测报文中携带有已传输的最后一个数据包的末尾字节信息;当接收到丢包探测报文对应的响应报文,响应报文中携带有数据接收端接收到的最后一个数据包的末尾字节信息和已传输的最后一个数据包的末尾字节信息,根据响应报 文,从已传输的数据包中确定丢失的数据包;重新传输丢失的数据包。
在实施中,当检测到未传输数据包的时长达到预设时长,且已传输的数据包中存在未返回响应报文的数据包时,服务器可以向数据接收端发送丢包探测报文,该丢包探测报文中可以携带有已传输的最后一个数据包的末尾字节信息,数据接收端接收到丢包探测报文时,可以将接收到的最后一个数据包的末尾字节信息和丢包探测报文中的末尾字节信息进行对比,如果二者不相同,则数据接收端可以判定数据包发生丢失,然后可以生成一个响应报文,该响应报文用于指示本次传输的数据包在数据接收端的接收情况,该响应报文中可以携带有数据接收端接收到的最后一个数据包的末尾字节信息和已传输的最后一个数据包的末尾字节信息,并将生成的相应报文发送给服务器。当接收到响应报文,服务器根据响应报文,可从已传输的数据包中确定丢失的数据包,进而及时地将丢失的数据包传输给数据接收端。其中,预设时长可以为3ms、5ms、7ms等,本实施例不对预设时长作具体的限定。
参见图7中的(B)图,当服务器向数据接收端传输1、2、3、4、5、6六个数据包之后,服务器检测到为传输数据包的时长达到预设时长,且未接收到数据包4、5、6返回的ACK包时,服务器将向数据接收端发送一个丢包探测报文,数据接收端接收到丢包探测报文之后,向服务器返回一个响应报文,该响应报文用于通知服务器数据包4、5、6丢失,当接收到响应报文时,服务器将数据包4、5、6重新传输给数据接收端。
上述过程为服务器自主检测数据包丢失后重新将丢失的数据包传输给数据接收端的过程。当然,为了提高数据传输速率,减少等待时间,服务器还可调用策略决策中心,对交互情况信息的丢包信息及传输链路的历史交互情况信息的丢包信息进行分析,根据交互情况信息的丢包信息及传输链路的历史交互情况信息的丢包信息,确定第一加权丢包信息,根据预先存储的加权丢包信息与重传时长的对应关系,确定第一加权丢包信息对应的第一重传时长,当达到第一重传时长时,重新传输数据包。
在实施中,服务器可以根据交互情况信息的丢包信息及传输链路的历史交互情况信息的丢包信息,确定第一加权丢包信息,根据预先存储的加权丢包信息与重传时长的对应关系,该对应关系中,较大的加权丢包信息可以对应较小的重传时长,较小的加权丢包信息可以对应较大的重传时长。服务器确定第一加权丢包信息对应的第一重传时长后,可以在达到第一重传时长时,重新传输数据包。另外,服务器也可以通过分析获取到数据包中丢包频繁的位置、重复ACK的位置及数量,并根据数据包中丢包频繁的位置、重复ACK的位置及数量,确定出重传时机及待重传的数据包,进而在达到重传时机时,将待重传的数据包重新传输给数据接收端。
本发明实施例提供的方法,根据交互情况信息的链路状态信息及传输链路的历史交互情况信息的链路状态信息,确定本次传输数据的可用带宽,进而根据可用带宽向数据接收端传输数据包。由于基于TCP协议进行数据传输,无论数据接收端还是数据发送端均无需支持额外的协议,应用性较强,且在确定可用带宽时综合考虑了传输链路的交互情况信息及历史交互情况信息,使得确定的带宽更能体现当前的网络状况,显著地提高了数据传输速率。
参见图8,本发明实施例提供了一种数据传输装置,该装置包括:
获取模块801,用于获取当前时刻传输链路的交互情况信息;
第一分析模块802,用于对交互情况信息进行分析,得到交互情况信息的链路状态信息;
第一确定模块803,用于根据交互情况信息的链路状态信息及传输链路的历史交互情况信息的链路状态信息,确定本次传输数据的可用带宽;
第一传输模块804,用于根据可用带宽向数据接收端传输数据包。
在本发明的另一个实施例中,所述链路状态信息包括往返时延RTT;
所述第一确定模块803,用于:
在所述交互情况信息的RTT及所述历史交互情况信息的RTT中,确定满 足预设的短时延条件的目标RTT;
根据所述目标RTT及所述目标RTT对应的数据传输量,确定本次传输数据的可用带宽。
在本发明的另一个实施例中,链路状态信息包括时延信息,时延信息包括往返时延RTT及RTT波动率;
第一确定模块803,用于根据交互情况信息的RTT波动率及历史交互情况信息的RTT波动率,从交互情况信息的RTT及历史交互情况信息的RTT中,选取出目标RTT;根据目标RTT及目标RTT对应的数据传输量,确定本次传输数据的可用带宽。
在本发明的另一个实施例中,所述第一传输模块804,用于:
对所述交互情况信息进行分析,得到所述交互情况信息对应的丢包信息;
根据所述交互情况信息对应的丢包信息及所述历史交互情况信息对应的丢包信息,确定当前网络的拥堵状态信息;
根据所述拥堵状态信息,调整确定出的可用带宽;
根据调整后的可用带宽向数据接收端传输数据包。
在本发明的另一个实施例中,所述装置还包括:
第二分析模块,用于对所述交互情况信息进行分析,得到所述交互情况信息对应的丢包信息;
第二确定模块,用于根据所述交互情况信息对应的丢包信息及所述历史交互情况信息对应的丢包信息,确定当前网络的拥堵状态信息;
调整模块,用于根据所述拥堵状态信息,调整所述可用带宽;
第二传输模块,用于在下一次向所述数据接收端传输数据包时,按照调整后的可用带宽进行传输。
在本发明的另一个实施例中,所述装置还包括:
发送模块,用于当检测到未传输数据包的时长达到预设时长,且已传输的数据包中存在未返回响应报文的数据包时,向所述数据接收端发送丢包探测报 文,所述丢包探测报文中携带有已传输的最后一个数据包的末尾字节信息;
第三确定模块,用于当接收到所述丢包探测报文对应的响应报文,所述响应报文中携带有所述数据接收端接收到的最后一个数据包的末尾字节信息和所述传输的最后一个数据包的末尾字节信息,根据所述响应报文,从已传输的数据包中确定丢失的数据包;
第三传输模块,用于重新传输所述丢失的数据包。
在本发明的另一个实施例中,所述装置还包括:
第四确定模块,用于根据所述交互情况信息的丢包信息及所述传输链路的历史交互情况信息的丢包信息,确定第一加权丢包信息;
第五确定模块,用于根据预先存储的加权丢包信息与重传时长的对应关系,确定所述第一加权丢包信息对应的第一重传时长;
第四传输模块,用于当达到所述第一重传时长时,重新传输所述数据包。
在本发明的另一个实施例中,所述第一传输模块804,用于:
根据所述可用带宽和同比历史可用带宽,确定第一加权可用带宽;
如果所述加权可用带宽大于预设带宽阈值,则基于预设的第一数据包并行传输数目,向数据接收端传输数据包;如果所述加权可用带宽小于或等于所述预设带宽阈值,则基于预设的第二数据包并行传输数目,向数据接收端传输数据包,所述第一数据包并行传输数目大于所述第二数据包并行传输数目。
综上所述,本发明实施例提供的装置,根据交互情况信息的链路状态信息及传输链路的历史交互情况信息的链路状态信息,确定本次传输数据的可用带宽,进而根据可用带宽向数据接收端传输数据包。由于基于TCP协议进行数据传输,无论数据接收端还是数据发送端均无需支持额外的协议,应用性较强,且在确定可用带宽时综合考虑了传输链路的交互情况信息及历史交互情况信息,使得确定的带宽更能体现当前的网络状况,显著地提高了数据传输速率。
图9是根据一示例性实施例示出的一种用于数据传输的装置。参照图9, 该装置可以为服务器900,服务器900包括处理组件922,其进一步包括一个或多个处理器,以及由存储器932所代表的存储器资源,用于存储可由处理组件922的执行的指令,例如应用程序。存储器932中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件922被配置为执行指令,以执行上述数据传输方法中服务器所执行的功能,服务器900还可以包括一个电源组件926被配置为执行服务器900的电源管理,一个有线或无线网络接口950被配置为将服务器900连接到网络,和一个输入输出(I/O)接口958。服务器900可以操作基于存储在存储器932的操作系统,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM或类似。
且经配置由一个或者一个以上处理器通过执行上述程序来执行上述各个实施例所述的数据传输的方法。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器,上述指令可由服务器的处理器执行以完成上述显示弹幕信息的方法。例如,所述非临时性计算机可读存储介质可以是ROM(Read-Only Memory,只读存储器)、RAM(Random-Access Memory,随机存取存储器)、CD-ROM(Compact Disc Read-Only Memory,只读光盘)、磁带、软盘和光数据存储设备等。
本发明实施例提供的服务器,根据交互情况信息的链路状态信息及传输链路的历史交互情况信息的链路状态信息,确定本次传输数据的可用带宽,进而根据可用带宽向数据接收端传输数据包。由于基于TCP协议进行数据传输,无论数据接收端还是数据发送端均无需支持额外的协议,应用性较强,且在确定可用带宽时综合考虑了传输链路的交互情况信息及历史交互情况信息,使得确定的带宽更能体现当前的网络状况,显著地提高了数据传输速率。
需要说明的是:上述实施例提供的数据传输装置在传输数据时,仅以上述 各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将数据传输装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的数据传输装置与数据传输方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (24)

  1. 一种数据传输方法,其特征在于,所述方法包括:
    获取当前时刻传输链路的交互情况信息;
    对所述交互情况信息进行分析,得到所述交互情况信息对应的链路状态信息;
    根据所述交互情况信息对应的链路状态信息及所述传输链路的历史交互情况信息对应的链路状态信息,确定本次传输数据的可用带宽;
    根据所述可用带宽向数据接收端传输数据包。
  2. 根据权利要求1所述的方法,其特征在于,所述链路状态信息包括往返时延RTT;
    所述根据所述交互情况信息的链路状态信息及所述传输链路的历史交互情况信息的链路状态信息,确定本次传输数据的可用带宽,包括:
    在所述交互情况信息的RTT及所述历史交互情况信息的RTT中,确定满足预设的短时延条件的目标RTT;
    根据所述目标RTT及所述目标RTT对应的数据传输量,确定本次传输数据的可用带宽。
  3. 根据权利要求1所述的方法,其特征在于,所述链路状态信息包括时延信息,所述时延信息包括往返时延RTT及RTT波动率;
    所述根据所述交互情况信息的链路状态信息及所述传输链路的历史交互情况信息的链路状态信息,确定本次传输数据的可用带宽,包括:
    根据所述交互情况信息的RTT波动率及所述历史交互情况信息的RTT波动率,从所述交互情况信息的RTT及所述历史交互情况信息的RTT中,选取出目标RTT;
    根据所述目标RTT及所述目标RTT对应的数据传输量,确定本次传输数据 的可用带宽。
  4. 根据权利要求1所述的方法,其特征在于,所述根据所述可用带宽向数据接收端传输数据包,包括:
    对所述交互情况信息进行分析,得到所述交互情况信息对应的丢包信息;
    根据所述交互情况信息对应的丢包信息及所述历史交互情况信息对应的丢包信息,确定当前网络的拥堵状态信息;
    根据所述拥堵状态信息,调整确定出的可用带宽;
    根据调整后的可用带宽向数据接收端传输数据包。
  5. 根据权利要求1所述的方法,其特征在于,所述根据所述可用带宽向数据接收端传输数据包之后,还包括:
    对所述交互情况信息进行分析,得到所述交互情况信息对应的丢包信息;
    根据所述交互情况信息对应的丢包信息及所述历史交互情况信息对应的丢包信息,确定当前网络的拥堵状态信息;
    根据所述拥堵状态信息,调整所述可用带宽;
    在下一次向所述数据接收端传输数据包时,按照调整后的可用带宽进行传输。
  6. 根据权利要求1所述的方法,其特征在于,所述根据所述可用带宽向数据接收端传输数据包之后,还包括:
    当检测到未传输数据包的时长达到预设时长,且已传输的数据包中存在未返回响应报文的数据包时,向所述数据接收端发送丢包探测报文,所述丢包探测报文中携带有已传输的最后一个数据包的末尾字节信息;
    当接收到所述丢包探测报文对应的响应报文,所述响应报文中携带有所述数据接收端接收到的最后一个数据包的末尾字节信息和所述传输的最后一个数 据包的末尾字节信息,根据所述响应报文,从已传输的数据包中确定丢失的数据包;
    重新传输所述丢失的数据包。
  7. 根据权利要求1所述的方法,其特征在于,所述根据所述可用带宽向数据接收端传输数据包之后,还包括:
    根据所述交互情况信息的丢包信息及所述传输链路的历史交互情况信息的丢包信息,确定第一加权丢包信息;
    根据预先存储的加权丢包信息与重传时长的对应关系,确定所述第一加权丢包信息对应的第一重传时长;
    当达到所述第一重传时长时,重新传输所述数据包。
  8. 根据权利要求1所述的方法,其特征在于,所述根据所述可用带宽向数据接收端传输数据包,包括:
    根据所述可用带宽和同比历史可用带宽,确定第一加权可用带宽;
    如果所述加权可用带宽大于预设带宽阈值,则基于预设的第一数据包并行传输数目,向数据接收端传输数据包;如果所述加权可用带宽小于或等于所述预设带宽阈值,则基于预设的第二数据包并行传输数目,向数据接收端传输数据包,所述第一数据包并行传输数目大于所述第二数据包并行传输数目。
  9. 一种数据传输装置,其特征在于,所述装置包括:
    获取模块,用于获取当前时刻传输链路的交互情况信息;
    第一分析模块,用于对所述交互情况信息进行分析,得到所述交互情况信息对应的链路状态信息;
    第一确定模块,用于根据所述交互情况信息对应的链路状态信息及所述传输链路的历史交互情况信息对应的链路状态信息,确定本次传输数据的可用带 宽;
    第一传输模块,用于根据所述可用带宽向数据接收端传输数据包。
  10. 根据权利要求9所述的装置,其特征在于,所述链路状态信息包括往返时延RTT;
    所述第一确定模块,用于:
    在所述交互情况信息的RTT及所述历史交互情况信息的RTT中,确定满足预设的短时延条件的目标RTT;
    根据所述目标RTT及所述目标RTT对应的数据传输量,确定本次传输数据的可用带宽。
  11. 根据权利要求9所述的装置,其特征在于,所述链路状态信息包括时延信息,所述时延信息包括往返时延RTT及RTT波动率;
    所述第一确定模块,用于根据所述交互情况信息的RTT波动率及所述历史交互情况信息的RTT波动率,从所述交互情况信息的RTT及所述历史交互情况信息的RTT中,选取出目标RTT;根据所述目标RTT及所述目标RTT对应的数据传输量,确定本次传输数据的可用带宽。
  12. 根据权利要求9所述的装置,其特征在于,所述第一传输模块,用于:
    对所述交互情况信息进行分析,得到所述交互情况信息对应的丢包信息;
    根据所述交互情况信息对应的丢包信息及所述历史交互情况信息对应的丢包信息,确定当前网络的拥堵状态信息;
    根据所述拥堵状态信息,调整确定出的可用带宽;
    根据调整后的可用带宽向数据接收端传输数据包。
  13. 根据权利要求9所述的装置,其特征在于,所述装置还包括:
    第二分析模块,用于对所述交互情况信息进行分析,得到所述交互情况信 息对应的丢包信息;
    第二确定模块,用于根据所述交互情况信息对应的丢包信息及所述历史交互情况信息对应的丢包信息,确定当前网络的拥堵状态信息;
    调整模块,用于根据所述拥堵状态信息,调整所述可用带宽;
    第二传输模块,用于在下一次向所述数据接收端传输数据包时,按照调整后的可用带宽进行传输。
  14. 根据权利要求9所述的装置,其特征在于,所述装置还包括:
    发送模块,用于当检测到未传输数据包的时长达到预设时长,且已传输的数据包中存在未返回响应报文的数据包时,向所述数据接收端发送丢包探测报文,所述丢包探测报文中携带有已传输的最后一个数据包的末尾字节信息;
    第三确定模块,用于当接收到所述丢包探测报文对应的响应报文,所述响应报文中携带有所述数据接收端接收到的最后一个数据包的末尾字节信息和所述传输的最后一个数据包的末尾字节信息,根据所述响应报文,从已传输的数据包中确定丢失的数据包;
    第三传输模块,用于重新传输所述丢失的数据包。
  15. 根据权利要求9所述的装置,其特征在于,所述装置还包括:
    第四确定模块,用于根据所述交互情况信息的丢包信息及所述传输链路的历史交互情况信息的丢包信息,确定第一加权丢包信息;
    第五确定模块,用于根据预先存储的加权丢包信息与重传时长的对应关系,确定所述第一加权丢包信息对应的第一重传时长;
    第四传输模块,用于当达到所述第一重传时长时,重新传输所述数据包。
  16. 根据权利要求9所述的装置,其特征在于,所述第一传输模块,用于:
    根据所述可用带宽和同比历史可用带宽,确定第一加权可用带宽;
    如果所述加权可用带宽大于预设带宽阈值,则基于预设的第一数据包并行传输数目,向数据接收端传输数据包;如果所述加权可用带宽小于或等于所述预设带宽阈值,则基于预设的第二数据包并行传输数目,向数据接收端传输数据包,所述第一数据包并行传输数目大于所述第二数据包并行传输数目。
  17. 一种服务器,其特征在于,所述服务器包括:
    一个或多个处理器;和
    存储器;
    所述存储器存储有一个或多个程序,所述一个或多个程序被配置成由所述一个或多个处理器执行,所述一个或多个程序包含用于进行以下操作的指令:
    获取当前时刻传输链路的交互情况信息;
    对所述交互情况信息进行分析,得到所述交互情况信息对应的链路状态信息;
    根据所述交互情况信息对应的链路状态信息及所述传输链路的历史交互情况信息对应的链路状态信息,确定本次传输数据的可用带宽;
    根据所述可用带宽向数据接收端传输数据包。
  18. 根据权利要求17所述的服务器,其特征在于,所述链路状态信息包括往返时延RTT;
    所述一个或多个程序还包含用于进行以下操作的指令:
    所述根据所述交互情况信息的链路状态信息及所述传输链路的历史交互情况信息的链路状态信息,确定本次传输数据的可用带宽,包括:
    在所述交互情况信息的RTT及所述历史交互情况信息的RTT中,确定满足预设的短时延条件的目标RTT;
    根据所述目标RTT及所述目标RTT对应的数据传输量,确定本次传输数据的可用带宽。
  19. 根据权利要求17所述的服务器,其特征在于,所述链路状态信息包括时延信息,所述时延信息包括往返时延RTT及RTT波动率;
    所述一个或多个程序还包含用于进行以下操作的指令:
    根据所述交互情况信息的RTT波动率及所述历史交互情况信息的RTT波动率,从所述交互情况信息的RTT及所述历史交互情况信息的RTT中,选取出目标RTT;
    根据所述目标RTT及所述目标RTT对应的数据传输量,确定本次传输数据的可用带宽。
  20. 根据权利要求17所述的服务器,其特征在于,所述一个或多个程序还包含用于进行以下操作的指令:
    对所述交互情况信息进行分析,得到所述交互情况信息对应的丢包信息;
    根据所述交互情况信息对应的丢包信息及所述历史交互情况信息对应的丢包信息,确定当前网络的拥堵状态信息;
    根据所述拥堵状态信息,调整确定出的可用带宽;
    根据调整后的可用带宽向数据接收端传输数据包。
  21. 根据权利要求17所述的服务器,其特征在于,所述一个或多个程序还包含用于进行以下操作的指令:
    对所述交互情况信息进行分析,得到所述交互情况信息对应的丢包信息;
    根据所述交互情况信息对应的丢包信息及所述历史交互情况信息对应的丢包信息,确定当前网络的拥堵状态信息;
    根据所述拥堵状态信息,调整所述可用带宽;
    在下一次向所述数据接收端传输数据包时,按照调整后的可用带宽进行传输。
  22. 根据权利要求17所述的服务器,其特征在于,所述一个或多个程序还包含用于进行以下操作的指令:
    当检测到未传输数据包的时长达到预设时长,且已传输的数据包中存在未返回响应报文的数据包时,向所述数据接收端发送丢包探测报文,所述丢包探测报文中携带有已传输的最后一个数据包的末尾字节信息;
    当接收到所述丢包探测报文对应的响应报文,所述响应报文中携带有所述数据接收端接收到的最后一个数据包的末尾字节信息和所述传输的最后一个数据包的末尾字节信息,根据所述响应报文,从已传输的数据包中确定丢失的数据包;
    重新传输所述丢失的数据包。
  23. 根据权利要求17所述的服务器,其特征在于,所述一个或多个程序还包含用于进行以下操作的指令:
    根据所述交互情况信息的丢包信息及所述传输链路的历史交互情况信息的丢包信息,确定第一加权丢包信息;
    根据预先存储的加权丢包信息与重传时长的对应关系,确定所述第一加权丢包信息对应的第一重传时长;
    当达到所述第一重传时长时,重新传输所述数据包。
  24. 根据权利要求17所述的服务器,其特征在于,所述一个或多个程序还包含用于进行以下操作的指令:
    根据所述可用带宽和同比历史可用带宽,确定第一加权可用带宽;
    如果所述加权可用带宽大于预设带宽阈值,则基于预设的第一数据包并行传输数目,向数据接收端传输数据包;如果所述加权可用带宽小于或等于所述预设带宽阈值,则基于预设的第二数据包并行传输数目,向数据接收端传输数 据包,所述第一数据包并行传输数目大于所述第二数据包并行传输数目。
PCT/CN2016/079603 2015-05-29 2016-04-18 数据传输方法及装置 WO2016192478A1 (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US15/657,751 US10462707B2 (en) 2015-05-29 2017-07-24 Data transmission method and apparatus

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201510287233.9 2015-05-29
CN201510287233.9A CN106304203B (zh) 2015-05-29 2015-05-29 数据传输方法及装置

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US15/657,751 Continuation US10462707B2 (en) 2015-05-29 2017-07-24 Data transmission method and apparatus

Publications (1)

Publication Number Publication Date
WO2016192478A1 true WO2016192478A1 (zh) 2016-12-08

Family

ID=57440167

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2016/079603 WO2016192478A1 (zh) 2015-05-29 2016-04-18 数据传输方法及装置

Country Status (3)

Country Link
US (1) US10462707B2 (zh)
CN (2) CN110730105B (zh)
WO (1) WO2016192478A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112465442A (zh) * 2020-10-19 2021-03-09 北京戴纳实验科技有限公司 一种移液器使用管理方法

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106656431B (zh) 2015-09-21 2020-09-29 华为技术有限公司 一种报文传输方法及用户设备
CN105491060B (zh) * 2015-12-30 2019-07-02 北京神州绿盟信息安全科技股份有限公司 防御分布式拒绝服务攻击的方法、装置、客户端及设备
US9813299B2 (en) * 2016-02-24 2017-11-07 Ciena Corporation Systems and methods for bandwidth management in software defined networking controlled multi-layer networks
CN106911581B (zh) * 2017-02-28 2020-06-23 联想(北京)有限公司 一种传输方法、装置及终端
CN116112640A (zh) * 2017-10-18 2023-05-12 北京京东尚科信息技术有限公司 信息传输方法、装置和系统
CN108494698B (zh) * 2017-12-13 2022-02-25 天地伟业技术有限公司 一种基于传输速率的拥塞控制方法
CN108389592B (zh) * 2018-02-27 2021-10-08 上海讯飞瑞元信息技术有限公司 一种语音质量评价方法及装置
CN110213150B (zh) * 2018-03-06 2021-09-14 腾讯科技(深圳)有限公司 传输参数获取及图片传输方法、装置、设备及存储介质
CN110875915B (zh) * 2018-09-04 2021-08-20 华为技术有限公司 数据传输方法及装置
US11483611B2 (en) * 2018-11-19 2022-10-25 Roku, Inc. Non-television experience triggers
CN109688065B (zh) * 2018-12-28 2022-06-03 腾讯科技(深圳)有限公司 参数的处理方法、装置及存储介质
EP3907943B1 (en) * 2020-05-05 2022-04-27 Axis AB Round-trip estimation
CN111935025B (zh) * 2020-07-08 2023-10-17 腾讯科技(深圳)有限公司 一种tcp传输性能的控制方法、装置、设备和介质
CN111953613B (zh) * 2020-07-21 2024-02-23 西安万像电子科技有限公司 数据传输控制方法及装置
CN112188169B (zh) * 2020-09-30 2022-06-21 无锡雪浪数制科技有限公司 一种5g工业图像采集传输系统
CN113014499B (zh) * 2021-02-22 2022-05-17 腾讯科技(深圳)有限公司 一种数据传输方法、装置、电子设备及存储介质
CN113067750B (zh) * 2021-03-24 2023-05-30 北京字节跳动网络技术有限公司 带宽测量方法、设备及电子设备
DE112022004403T5 (de) * 2021-09-13 2024-07-04 Intel Corporation Dynamische verkehrsverwaltung für mehrfachzugangsverwaltungsdienste
CN113965466B (zh) * 2021-09-30 2022-11-25 广西中科曙光云计算有限公司 一种自适应网络带宽的数据传输系统
CN116132503A (zh) * 2022-11-04 2023-05-16 华为技术有限公司 数据传输方法、装置及设备
CN116094778B (zh) * 2022-12-28 2023-10-24 江苏叁原科技有限公司 一种基于互联网的实时监控系统
CN115834453B (zh) * 2023-02-14 2023-06-02 浙江德塔森特数据技术有限公司 手持协议检测终端的协议检测方法和手持协议检测终端

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7796517B2 (en) * 2004-06-28 2010-09-14 Minghua Chen Optimization of streaming data throughput in unreliable networks
CN101958811A (zh) * 2009-07-14 2011-01-26 中兴通讯股份有限公司 一种端到端可用带宽测量方法及系统
CN102045219A (zh) * 2010-12-14 2011-05-04 同济大学 一种高效的单端可用带宽测量方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7218610B2 (en) * 2001-09-27 2007-05-15 Eg Technology, Inc. Communication system and techniques for transmission from source to destination
US7474614B2 (en) * 2005-10-21 2009-01-06 International Business Machines Corporation Method and apparatus for adaptive bandwidth control with user settings
CN100438504C (zh) * 2006-05-15 2008-11-26 武汉虹旭信息技术有限责任公司 一种流媒体发送速率控制方法
US7894367B2 (en) * 2007-12-31 2011-02-22 Industrial Technology Research Institute Methods and systems for bandwidth protection
US8553540B2 (en) * 2010-03-05 2013-10-08 Microsoft Corporation Congestion control for delay sensitive applications
US9240939B2 (en) * 2013-10-22 2016-01-19 Cisco Technology, Inc. Detecting packet loss and retransmission in a network environment
US9559972B2 (en) * 2013-12-30 2017-01-31 Comcast Cable Communications, Llc Systems and methods for managing congestion

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7796517B2 (en) * 2004-06-28 2010-09-14 Minghua Chen Optimization of streaming data throughput in unreliable networks
CN101958811A (zh) * 2009-07-14 2011-01-26 中兴通讯股份有限公司 一种端到端可用带宽测量方法及系统
CN102045219A (zh) * 2010-12-14 2011-05-04 同济大学 一种高效的单端可用带宽测量方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112465442A (zh) * 2020-10-19 2021-03-09 北京戴纳实验科技有限公司 一种移液器使用管理方法

Also Published As

Publication number Publication date
CN106304203A (zh) 2017-01-04
CN106304203B (zh) 2020-02-21
CN110730105B (zh) 2021-09-28
CN110730105A (zh) 2020-01-24
US10462707B2 (en) 2019-10-29
US20170325129A1 (en) 2017-11-09

Similar Documents

Publication Publication Date Title
WO2016192478A1 (zh) 数据传输方法及装置
JP6023368B1 (ja) インタラクティブなリアルタイムメディアの転送プロトコル
US8787378B2 (en) Systems and methods to improve performance of TCP over large bandwidth-delay-product networks
WO2016138786A1 (zh) 传输控制协议tcp数据包的发送方法、发送装置和系统
CN109412946B (zh) 一种确定回源路径的方法、装置、服务器及可读存储介质
CN106301684B (zh) 一种媒体数据传输方法及装置
WO2022247550A1 (zh) 数据重传处理方法、装置、计算机设备和存储介质
US8521901B2 (en) TCP burst avoidance
KR20160135200A (ko) 확장된 송신 제어 기능을 구현하는 송신 가속기
US9088603B2 (en) File transfer method and device
US20230139633A1 (en) Data Packet Sending Method and Apparatus
CN110557677A (zh) 一种视频传输的方法及装置
US10868839B2 (en) Method and system for upload optimization
WO2019144802A1 (zh) 一种数据的传输方法及其相关设备
JP6613742B2 (ja) 負荷変動およびパケット伝送損失があるlfn伝送路で高信頼通信を行うためのデータ通信制御方法
CN113438180B (zh) Udp数据包的传输控制方法、装置、设备及可读存储介质
US10461892B2 (en) Low latency communications
US9544249B2 (en) Apparatus and method for aligning order of received packets
US9294409B2 (en) Reducing round-trip times for TCP communications
US10015288B2 (en) Communication apparatus and control method of communication apparatus
CN113301398B (zh) 信息处理方法及系统、服务端设备、客户端设备
JP6200870B2 (ja) データ転送制御装置、方法及びプログラム
US20130091268A1 (en) Classification of web client network bandwidth by a web server
WO2016169251A1 (zh) 虚拟机的tcp数据传输方法和虚拟机系统
WO2020154872A1 (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: 16802401

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 24/04/2018)

122 Ep: pct application non-entry in european phase

Ref document number: 16802401

Country of ref document: EP

Kind code of ref document: A1