WO2020063340A1 - 数据传输方法和设备 - Google Patents

数据传输方法和设备 Download PDF

Info

Publication number
WO2020063340A1
WO2020063340A1 PCT/CN2019/105260 CN2019105260W WO2020063340A1 WO 2020063340 A1 WO2020063340 A1 WO 2020063340A1 CN 2019105260 W CN2019105260 W CN 2019105260W WO 2020063340 A1 WO2020063340 A1 WO 2020063340A1
Authority
WO
WIPO (PCT)
Prior art keywords
message
data channel
sequence number
data
sending device
Prior art date
Application number
PCT/CN2019/105260
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 华为技术有限公司
Priority to EP19868099.3A priority Critical patent/EP3846529B1/en
Publication of WO2020063340A1 publication Critical patent/WO2020063340A1/zh
Priority to US17/211,466 priority patent/US11509597B2/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/08Load balancing or load distribution
    • H04W28/082Load balancing or load distribution among bearers or channels
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/6295Queue scheduling characterised by scheduling criteria using multiple queues, one for each individual QoS, connection, flow or priority
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/16Multipoint routing
    • 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/34Flow control; Congestion control ensuring sequence integrity, e.g. using sequence numbers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/56Queue scheduling implementing delay-aware scheduling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/0289Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/10Flow control between communication endpoints
    • H04W28/14Flow control between communication endpoints using intermediate storage
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W84/00Network topologies
    • H04W84/02Hierarchically pre-organised networks, e.g. paging networks, cellular networks, WLAN [Wireless Local Area Network] or WLL [Wireless Local Loop]
    • H04W84/10Small scale networks; Flat hierarchical networks
    • H04W84/12WLAN [Wireless Local Area Networks]

Definitions

  • Embodiments of the present application relate to the field of communications technologies, and in particular, to a data transmission method and device.
  • Wireless Local Area Networks (WLAN) technology is a commonly used wireless communication technology and is widely used in mobile phones, tablet computers, notebook computers and other terminal equipment.
  • the communication standard widely used by WLAN technology is the Institute of Electrical and Electronics Engineers (Electrical and Electronics Engineers, IEEE) 802.11 protocol standard.
  • 802.11g works in the 2.4G band
  • 802.11ac works in the 5G band
  • 802.11n can work in the 2.4G or 5G band.
  • a communication device supporting WLAN technology may include multiple WLAN chips, and data may be sent or received simultaneously through different WLAN chips.
  • the communication device includes two WLAN chips, one WLAN chip works in the 2.4G frequency band, and the other WLAN chip works in the 5G frequency band.
  • the delay of transmitting packets on both links is relatively small, and the receiver will choose a packet with a smaller delay. , And discard the same packets arriving late on the other link.
  • the time delay for transmitting packets on the link will be large.
  • the time delay for transmitting a message on another link with better signal or less interference will be smaller.
  • the receiver will choose the message on the link with better signal or less interference.
  • the receiver always selects the packets on the link with a small delay, the number of invalid packets on the slow link increases, network congestion is increased, and good data transmission cannot be achieved through the two links.
  • the embodiments of the present application provide a data transmission method and device, which improve the efficiency and effect of data transmission.
  • an embodiment of the present application provides a data transmission method, including: a sending device periodically obtains a first message sequence number and a second message sequence number; wherein the first message sequence number is a receiving device in a statistical period The maximum value of the message sequence numbers corresponding to the messages that belong to the first data stream received through the first data channel between the sending device and the receiving device, and the second message sequence number is the value that the receiving device sends in the statistical period.
  • At least one message of the same data stream is transmitted through two data channels, and the packets of the same data stream message received by the receiving device through the two data channels are periodically obtained.
  • the maximum value of the sequence number may update at least one of the message buffer queues of the first data channel and the second data channel according to the first message sequence number and the second message sequence number. Because the message buffer queue of the data channel is dynamically adjusted, the efficiency and effect of data transmission are improved, and the data transmission delay is reduced.
  • the sending device updates the message buffer of the first data channel and / or the second data channel according to the first message sequence number and the second message sequence number.
  • the queue may include: if the difference between the first message sequence number and the second message sequence number is greater than a preset threshold, the sending device updates the first message according to the first message sequence number and the second message sequence number.
  • the sending device updates the message buffer of the first data channel and / or the second data channel according to the first message sequence number and the second message sequence number.
  • the queue may include: if the first message sequence number is greater than the second message sequence number, the sending device deletes in the message cache queue of the second data channel a message sequence number less than or equal to the first message sequence number The message of the first data stream.
  • messages in the message buffer queue of the slow data channel can be deleted, the two data channels are forcedly aligned, and the sending of invalid messages in the slow data channel is avoided.
  • the simultaneous transmission of the two data channels reduces the delay of message transmission.
  • the sending device updates the message buffer of the first data channel and / or the second data channel according to the first message sequence number and the second message sequence number.
  • the queue may include: if the first message sequence number is greater than the second message sequence number, and a target message exists in the message buffer queue of the second data channel, the target message is an attempt by the sending device to send on the first data channel If the number of times the message reaches the preset maximum number of retransmissions, the sending device deletes all but the target message in the message buffer queue of the second data channel, and the message sequence number is less than or equal to the first message.
  • the first data stream of the message sequence number is if the first message sequence number is greater than the second message sequence number, and a target message exists in the message buffer queue of the second data channel, the target message is an attempt by the sending device to send on the first data channel If the number of times the message reaches the preset maximum number of retransmissions, the sending device deletes all but the target message in the message buffer queue of the second data channel, and the
  • the sending device periodically obtaining the first message sequence number and the second message sequence number may include: for the first data channel and the second data channel In any of the data channels, during the statistical period, the sending device receives the confirmation message sent by the receiving device through the data channel, and the confirmation message is used to instruct the receiving device to receive the message through the data channel; the sending device obtains according to the confirmation message The message sequence number of the received message is indicated; the sending device obtains the first message sequence number or the second message sequence number according to the message sequence number of the received message.
  • the method may further include: the sending device obtains, according to the confirmation message, a flow identifier indicating a data stream to which the received message belongs; the sending device according to the first message sequence number And the second message sequence number, updating the message buffer queue of the first data channel and / or the second data channel includes: a flow identifier corresponding to the first message sequence number and a flow identifier corresponding to the second message sequence number At the same time, the message buffer queues of the first data channel and / or the second data channel are updated according to the first message sequence number and the second message sequence number.
  • the first data channel is a first WLAN link
  • the second data channel is a second WLAN link
  • the method may further include: the sending device obtains a message to be sent; if it is determined that the message to be sent is sent on both the first data channel and the second data channel , The sending device queues the messages to be sent in the message buffer queues of the first data channel and the second data channel, respectively.
  • the sending device will send the data to be sent.
  • Messages are queued in the message buffer queues of the first data channel and the second data channel, respectively, including: the sending device sets the priority of the message to be sent higher than that of other data streams except the data stream to which the message to be sent belongs. The priority of the message; the sending device queues the message to be sent in the message buffer queues of the first data channel and the second data channel respectively according to the priority of the message to be sent.
  • the messages of the data streams can be located in the same queue. It is convenient for subsequent updating of the message cache queue of the data channel, which improves the efficiency of queue adjustment, thereby improving the efficiency and effect of data transmission.
  • an embodiment of the present application provides a data transmission method, including: the sending device periodically obtains adjustment reference information, and the adjustment reference information is used to instruct the sending device to pass any one of two data channels between the sending device and the receiving device.
  • the first message set includes all pending messages of the data stream.
  • the intersection of the sent message sets corresponding to the two data channels is not empty.
  • the data transmission method provided by this possible implementation manner, by periodically acquiring the adjustment reference information, the data transmission situation can be obtained. Further, a set of sent packets of multiple data streams on at least one data channel may be adjusted according to the adjustment reference information. Improved the adaptability, efficiency and effect of data transmission.
  • the adjustment reference information includes an evaluation value corresponding to each data channel, and the evaluation value is any one of the following: the queue utilization of the queue corresponding to the data stream X; normalized value of link delay Y; normalized value of link delay Y is used to indicate the ratio between the link delay and the preset maximum link delay, and the link delay is data
  • the congestion status of the data channel can be dynamically reflected through queue utilization and / or link delay.
  • the sending device evaluates the congestion status of the data channel based on indicators such as queue utilization and / or link delay corresponding to the two data channels. For the data channel in the congested state, it can reduce the sending of packets and improve the adaptability of data transmission Performance, efficiency and effectiveness.
  • the sending device adjusts a set of sent packets of at least one data channel according to the adjustment reference information, which may include: any of the evaluation values corresponding to the two data channels respectively. An evaluation value. If the evaluation value is less than the first threshold value, the sending device adjusts the set of sent packets of the data channel corresponding to the evaluation value to the first message set; if the evaluation value is greater than the first threshold value, The sending device adjusts a set of sent packets of a data channel corresponding to the evaluation value according to the evaluation value.
  • adjusting the reference information includes a transmission rate of a data stream to be sent by the sending device to the receiving device, and the set of sent messages of the first data channel is the first set of messages.
  • the sending device adjusts the set of sent messages of at least one data channel according to the adjustment reference information, including: if the adjustment reference information is less than the second threshold, the sending device adjusts the set of sent messages of the second data channel to the first message set ; If the adjustment reference information is greater than the second threshold value, the sending device adjusts the set of sent packets of the second data channel according to the ratio of the second threshold value to the adjustment reference information; wherein the second threshold value is according to the receiving device The negotiation rate with the sending device for the second data channel is determined.
  • an embodiment of the present application provides a sending device, including: an obtaining module, configured to periodically obtain a first message sequence number and a second message sequence number; wherein the first message sequence number is a receiving device in a statistical period The maximum value of the message sequence numbers corresponding to the messages belonging to the first data stream received through the first data channel between the sending device and the receiving device, and the second message sequence number is the sending device receiving The maximum of the message sequence numbers corresponding to the messages belonging to the first data stream received by the second data channel between the device and the receiving device, and at least one message of the first data stream is on the first data channel and Both are sent on the second data channel, and the message sequence number is used to indicate the order in which the corresponding message is arranged in the first data stream; the processing module is used to update the first message sequence number and the second message sequence number A message buffer queue of the first data channel and / or the second data channel.
  • the processing module is specifically configured to: if the difference between the first packet sequence number and the second packet sequence number is greater than a preset threshold, A message sequence number and a second message sequence number are used to update the message buffer queue of the first data channel and / or the second data channel.
  • the processing module is specifically configured to: in the message buffer queue of the second data channel, if the first message sequence number is greater than the second message sequence number , Delete the message of the first data stream whose message sequence number is less than or equal to the first message sequence number.
  • the processing module is specifically configured to: if the first message sequence number is greater than the second message sequence number, and the message buffer queue of the second data channel exists
  • the target message is a message in which the number of attempts to send a message on the first data channel reaches a preset maximum number of retransmissions, then the message buffer queue of the second data channel is deleted except for the target message.
  • the obtaining module is specifically configured to: for any one of the first data channel and the second data channel, receive the data channel through the data channel within a statistical period.
  • a confirmation message sent by the receiving device the confirmation message is used to indicate the message received by the receiving device through the data channel; the message sequence number indicating the received message is obtained according to the confirmation message; the message received according to the instruction The message sequence number, to obtain the first message sequence number or the second message sequence number.
  • the obtaining module is further configured to obtain, according to the confirmation message, a flow identifier indicating a data stream to which the received message belongs; the processing module is specifically configured to: When the flow identifier corresponding to the message sequence number is the same as the flow identifier corresponding to the second message sequence number, the first data channel and / or the second data channel are updated according to the first message sequence number and the second message sequence number. Message buffer queue.
  • the first data channel is a first WLAN link
  • the second data channel is a second WLAN link
  • a receiving module is further included; the receiving module is configured to obtain a message to be sent; and the processing module is further configured to, if it is determined that the message to be sent is on the first data channel When both the upper and the second data channels are sent, the messages to be sent are queued in the message buffer queues of the first data channel and the second data channel, respectively.
  • the processing module is specifically configured to: : Set the priority of the message to be sent higher than the priority of the message of other data streams except the data stream to which the message to be sent belongs; place the message to be sent in the first data according to the priority of the message to be sent The message buffers of the channel and the second data channel are queued.
  • an embodiment of the present application provides a sending device, including: an obtaining module, configured to periodically obtain adjustment reference information, where the adjustment reference information is used to instruct the sending device to pass two data channels between the sending device and the receiving device.
  • the congestion state when any data channel sends a message, or is used to indicate the transmission rate of the data stream to be sent by the sending device to the receiving device;
  • the processing module is used to adjust the set of sent messages of at least one data channel according to the adjustment reference information;
  • the union of the sent message sets corresponding to the two data channels is the first message set.
  • the first message set includes all messages to be sent in the data stream.
  • the two data channels respectively send the sent message sets.
  • the intersection of is not empty.
  • the adjustment reference information includes an evaluation value corresponding to each data channel, and the evaluation value is any one of the following: the queue utilization of the queue corresponding to the data stream X; normalized value of link delay Y; normalized value of link delay Y is used to indicate the ratio between the link delay and the preset maximum link delay, and the link delay is data
  • the processing module is specifically configured to: for any of the evaluation values corresponding to the two data channels, if the evaluation value is less than the first threshold value , Then adjust the set of sent messages of the data channel corresponding to the evaluation value to be the first set of messages; if the evaluation value is greater than the first threshold, then adjust the sent messages of the data channel corresponding to the evaluation value according to the evaluation value set.
  • adjusting the reference information includes a transmission rate of a data stream to be sent by the sending device to the receiving device, and the set of sent messages of the first data channel is the first set of messages.
  • the processing module is specifically configured to: if the adjustment reference information is less than the second threshold value, adjust the set of sent messages of the second data channel to be the first message set; if the adjustment reference information is greater than the second threshold value, according to the first The ratio of the second threshold value to the adjustment reference information adjusts the set of sent packets of the second data channel.
  • the second threshold value is determined according to the negotiation rate between the receiving device and the sending device for the second data channel.
  • an embodiment of the present application provides a sending device.
  • the sending device includes a processor, a memory, and a transceiver.
  • the memory is used to store instructions
  • the transceiver is used to communicate with other devices
  • the processor is used to execute the instructions stored in the memory, so that the sending device executes the data transmission method provided by any one of the foregoing embodiments.
  • an embodiment of the present application provides a sending device.
  • the sending device includes a processor, a memory, and a transceiver.
  • the memory is used to store instructions
  • the transceiver is used to communicate with other devices
  • the processor is used to execute the instructions stored in the memory, so that the sending device executes the data transmission method provided by any one of the foregoing embodiments.
  • an embodiment of the present application provides a storage medium including a readable storage medium and a computer program, where the computer program is used to implement the data transmission method provided in any one of the implementation manners of the first aspect.
  • an embodiment of the present application provides a storage medium including a readable storage medium and a computer program, where the computer program is used to implement the data transmission method provided in any one of the embodiments of the second aspect.
  • an embodiment of the present application provides a program product.
  • the program product includes a computer program (that is, an execution instruction), and the computer program is stored in a readable storage medium.
  • the processor may read the computer program from a readable storage medium, and the processor executes the computer program for performing the data transmission method provided by any one of the foregoing implementation manners of the first aspect.
  • an embodiment of the present application provides a program product.
  • the program product includes a computer program (that is, an execution instruction), and the computer program is stored in a readable storage medium.
  • the processor may read the computer program from a readable storage medium, and the processor executes the computer program for performing the data transmission method provided by any one of the foregoing implementation manners of the second aspect.
  • Embodiments of the present application provide a data transmission method and device, including: a sending device periodically obtains a first message sequence number and a second message sequence number, and the sending device according to the first message sequence number and the second message sequence number To update the message buffer queue of the first data channel and / or the second data channel. Because two data channels may transmit packets of the same data stream fast or slow, periodically obtain the maximum value of the message sequence number of the packets of the same data stream received by the receiving device through the two data channels. Dynamically adjusting the message buffer queue of the data channel improves the efficiency and effect of data transmission.
  • FIG. 1 is a structural diagram of a communication system applicable to an embodiment of the present application
  • FIG. 2A is a schematic diagram of an application scenario applicable to an embodiment of this application.
  • FIG. 2B is a schematic diagram of another application scenario applicable to the embodiment of the present application.
  • FIG. 3 is a schematic diagram of a hardware architecture of an HGW applicable to an embodiment of the present application.
  • FIG. 4 is a schematic diagram of a message buffer queue according to an embodiment of the present application.
  • FIG. 5 is a flowchart of a data transmission method provided in Embodiment 1 of the present application.
  • FIG. 6 is a flowchart of a data transmission method provided in Embodiment 2 of the present application.
  • FIG. 7 is a schematic diagram of a software architecture of an AP applicable to an embodiment of the present application.
  • FIG. 8 is a schematic structural diagram of a sending device according to Embodiment 1 of the present application.
  • FIG. 9 is a schematic structural diagram of a sending device according to Embodiment 2 of the present application.
  • FIG. 10 is a schematic structural diagram of a sending device according to Embodiment 3 of the present application.
  • FIG. 1 is an architecture diagram of a communication system applicable to an embodiment of the present application.
  • the communication system may include a transmitting device 100 and a receiving device 200.
  • This embodiment does not limit the type, number, communication frequency band, and communication protocol of the data channel.
  • the data channel may be a WLAN link, and the communication protocol to be followed may be the Institute of Electrical and Electronics Engineers (Electronics and Electronics) IEEE 802.11 protocol.
  • the transmitting device 100 and the receiving device 200 may negotiate a communication rate for a data channel.
  • the data channel may be a WLAN link.
  • the number of data channels is three.
  • the transmitting device 100 includes a WLAN interface A1, a WLAN interface B1, and a WLAN interface C1.
  • the receiving device 200 includes a WLAN interface A2, a WLAN interface B2, and a WLAN interface C2.
  • the WLAN interface A1 and the WLAN interface A2 have the same communication frequency band and communication protocol, and form a data channel A.
  • WLAN interface B1 and WLAN interface B2 constitute data channel B
  • WLAN interface C1 and WLAN interface C2 constitute data channel C.
  • the communication frequency band of the WLAN interface A1 and the WLAN interface A2 may be 2.4G
  • the communication protocol may be an 802.11g protocol.
  • the communication frequency band of WLAN interface B1 and WLAN interface B2 can be 2.4G, and the communication protocol can be 802.11n protocol.
  • the communication frequency band of WLAN interface C1 and WLAN interface C2 can be 5G, and the communication protocol can be 802.11ac protocol.
  • the sending device 100 may send a packet of at least one data stream to the receiving device 200.
  • the data stream may be referred to as a single-shot data stream.
  • the data stream may be referred to as a multi-stream data stream.
  • the union of the sent message sets corresponding to at least two data channels respectively is the first message set.
  • the first message set includes all pending messages for the multiple data stream.
  • the intersection of the sent message sets corresponding to the at least two data channels is not empty.
  • the sending device 100 may send three data streams to the receiving device 200, which are labeled as data stream 1, data stream 2, and data stream 3.
  • Data stream 1 is a single-shot data stream.
  • Data stream 2 and data stream 3 are multiple data streams.
  • the sending device 100 may send a message of the data stream 1 to the receiving device 200 through the data channel A.
  • the receiving device 200 may receive the data stream 1 packet sent by the sending device 100 through the data channel A.
  • the sending device 100 may send a message of the data stream 2 to the receiving device 200 through the data channel A, the data channel B, and the data channel C, respectively.
  • the receiving device 200 may receive the packets of the data stream 2 sent by the sending device 100 through the data channel A, the data channel B, and the data channel C, respectively.
  • the sending device 100 may send a packet of the data stream 3 to the receiving device 200 through the data channel B and the data channel C, respectively.
  • the receiving device 200 may receive the data stream 3 packets sent by the transmitting device 100 through the data channel B and the data channel C, respectively.
  • the data stream 3 includes 100 messages, which are sequentially labeled as message 1 to message 100.
  • the set of sent messages corresponding to data channel C includes messages 1 to 100
  • the set of sent messages corresponding to data channel B includes messages 1 to 100.
  • the set of sent messages corresponding to data channel C includes messages 1 to 100
  • the set of sent messages corresponding to data channel B includes messages 1 to 50.
  • the set of sent messages corresponding to data channel C includes messages 1 to 90
  • the set of sent messages corresponding to data channel B includes messages 80 to 100.
  • the message that the sending device needs to send means that the message can be queued in the message buffer queue of the data channel, waiting for the sending device to send through the data channel. However, the sending device does not necessarily send the message, which is related to the actual state of the data channel. For example, data channel bandwidth, congestion status, interference status, signal quality status, and so on.
  • the message sent or sent by the sending device refers to the message that the sending device has sent through the data channel.
  • Message received by the receiving device refers to a message received by the receiving device through the data channel. The message sent by the sending device may or may not be received by the receiving device.
  • the above data stream 3 is also taken as an example for description.
  • the "message that the sending device needs to send” can be message 1 to message 100
  • the “message sent by the sending device or message that has been sent” can be message 1 to message 40
  • "receiving The “messages received by the device” can be messages 1 to 30.
  • the "messages that the sending device needs to send” can be messages 1 to 100
  • the “messages sent by the sending device or messages that have been sent” can be messages 1 to 70
  • the “messages received by the device” can be messages 1 to 50, messages 60 to 70.
  • the number and types of the sending device 100 and the receiving device 200 are not limited in the embodiment of the present application.
  • the transmitting device 100 and the receiving device 200 may also be referred to as communication devices.
  • the sending device 100 or the receiving device 200 may include: a home gateway (HGW), an access point (AP), a terminal (Station, STA), and other mobile phones and tablets with wireless connection functions , Handheld devices, vehicle-mounted devices, wearable devices, computing devices, and various forms of user equipment (UE), mobile stations (MS), and terminals, etc., the embodiments of this application are not limited.
  • HGW home gateway
  • AP access point
  • STA terminal
  • Handheld devices Handheld devices, vehicle-mounted devices, wearable devices, computing devices, and various forms of user equipment (UE), mobile stations (MS), and terminals, etc.
  • FIG. 2A is a schematic diagram of an application scenario applicable to the embodiment of the present application.
  • a communication device may include HGW / AP and STA.
  • the HGW / AP can be wired to the server, such as a copper wire connection or an optical fiber connection.
  • the HGW / AP has been connected to the Internet.
  • the HGW / AP can perform wireless connection with the STA, for example, via a WiFi network connection.
  • HGW can use digital subscriber line (DSL), Gigabit Passive Optical Network (GPON) / Ethernet Passive Optical Network (EPON) and other technologies in the uplink direction.
  • DSL digital subscriber line
  • GPON Gigabit Passive Optical Network
  • EPON Ethernet Passive Optical Network
  • HGW can use digital subscriber line (DSL), Gigabit Passive Optical Network (GPON) / Ethernet Passive Optical Network (EPON) and other technologies in the uplink direction.
  • DSL digital subscriber line
  • GPON Gigabit Passive Optical Network
  • EPON Ethernet Passive Optical Network
  • FIG. 2B is a schematic diagram of another application scenario applicable to the embodiment of the present application.
  • a communication device may include an HGW, an AP, and a STA.
  • the HGW can be wired to the server to enable the HGW to access the Internet.
  • Wireless connections can be made between the HGW and the AP, and between the AP and the STA, such as through a WiFi network connection.
  • it can be implemented by deploying multiple APs. There may be multiple WLAN links between the HGW and the AP, and between the AP and the STA.
  • the embodiment of the present application may also be applied between an AP and an STA in an enterprise scenario, or between an AP and an AP.
  • HGW HGW as an example to describe the hardware structure of the sending device or receiving device provided in the embodiments of the present application.
  • FIG. 3 is a schematic diagram of a hardware architecture of an HGW applicable to an embodiment of the present application.
  • the hardware structure of the HGW may include: a main chip 31 and a memory 32. It may also include at least one of the following interfaces: an optical fiber interface 33, a WiFi chip 34, a 1000M Ethernet (Gigabit Ethernet) interface 35, and a copper wire interface 36.
  • the WiFi chip 34 may include a WiFi interface.
  • the communication frequency band of the WiFi interface 341 may be 2.4G
  • the communication frequency band of the WiFi interface 342 may be 5G.
  • the HGW in the upstream direction, can access the Internet through the optical fiber interface 33 using GPON / EPON technology, or the copper interface 36 using the DSL technology to access the Internet.
  • the HGW can provide network access for the AP or STA through the WiFi interface 341, the WiFi interface 342, or the GE interface 35 in the downlink direction.
  • a main central processing unit (Central Processing Unit) and a forwarding chip may be integrated on the main chip 31.
  • the main CPU can be used to execute a computer program (that is, to execute instructions) to implement functions such as message forwarding processing and HGW device management.
  • the forwarding chip is used to perform Layer 2 forwarding of packets through hardware, which improves the forwarding performance and reduces the processing load of the main CPU.
  • the memory 32 can be used for storing data.
  • the data may include computer programs (ie, execution instructions).
  • the types and implementation methods of the main chip 31, the main CPU, the forwarding chip, and the WiFi chip 34 are not limited.
  • the implementation manner of the memory 32 is not limited in this embodiment, for example, a dynamic random access memory (Dynamic Random Access Memory, DRAM).
  • DRAM Dynamic Random Access Memory
  • the number of the optical fiber interface 33, the WiFi chip 34, and the GE interface 35 is not limited. For example, there can be four GE interfaces.
  • the AP can access the Internet through the GE interface in the uplink direction, and can communicate with the STA through the WiFi interface or the GE interface in the downlink direction.
  • the AP can communicate with the HGW through the WiFi interface or the GE interface in the uplink direction, and can communicate with the STA through the WiFi interface or the GE interface in the downlink direction.
  • the STA may use a WiFi interface or a GE interface to communicate with the HGW or AP.
  • the execution subject may be a sending device.
  • first WLAN link there are two WLAN links between the sending device and the receiving device, which may be marked as a first WLAN link and a second WLAN link, respectively.
  • the communication frequency band of the first WLAN link may be 2.4G
  • the communication frequency band of the second WLAN link may be 5G.
  • Step 1 Obtain a message to be sent.
  • Step 2 If the message to be sent needs to be sent on both WLAN links, identification information is generated.
  • the sending device and the receiving device can determine multiple data streams through manual configuration or control message interaction. Packets with multiple data streams can be sent on both WLAN links.
  • the quintuple information of the message to be sent can be used to determine whether the message to be sent needs to be sent on both WLAN links.
  • the 5-tuple information may include: a source IP address, a destination IP address, a protocol number, a source port, and a destination port.
  • the identification information may include a message serial number.
  • the message sequence number is used to indicate the arrangement order of the message in the data stream to which it belongs.
  • the message sequence number can be used to distinguish whether the message to be sent needs to be sent on both WLAN links.
  • the identification information may further include a flow identification.
  • the flow ID is used to uniquely distinguish different data flows.
  • the sending device adds 1 to the message sequence number.
  • the message serial number is currently marked to 100.
  • the corresponding message sequence number is 101.
  • the flow identifier may be generated according to the quintuple information of the message to be sent.
  • identification information may also be generated.
  • the flow identifier and the message sequence number in the identification information may both be 0.
  • the identification information may be carried in a descriptor of the message.
  • the descriptor is a data structure in the IP forwarding process. After obtaining the message, the message can be stored in the memory.
  • the descriptor carries the basic information of the message and is processed layer by layer in the protocol stack. During the processing, no message is transmitted, and only the descriptor is transmitted.
  • Step 3 Encapsulate the message to be sent.
  • GRE Generic Routing Encapsulation
  • MAC Media Access Control
  • the encapsulated message to be sent may include identification information of the message to be sent.
  • Step 4 Queue messages to be sent in a message buffer queue of the WLAN link.
  • the message buffer queue is used to buffer messages sent to the receiving device. If the message to be sent does not need to be sent on both WLAN links, the message to be sent is queued in the message buffer queue of the WLAN link to be sent. If the messages to be sent need to be sent on both WLAN links, the messages to be sent are queued in the message buffer queues of the two WLAN links respectively.
  • the following describes the message buffer queue as an example with reference to FIG. 4. Assume that the sending device is an AP and the receiving device is a STA.
  • the AP can communicate with at least one STA. For each WLAN link and each STA, the AP manages a message buffer queue corresponding to the WLAN link and the STA.
  • the AP communicates with STA1 and STA2.
  • the message buffer queue managed by the AP may include: a message buffer queue corresponding to the first WLAN link and STA1, a message buffer queue corresponding to the first WLAN link and STA2, and corresponding to the second WLAN link and STA1 And a message buffer queue corresponding to the second WLAN link and STA2.
  • FIG. 4 is a schematic diagram of a message buffer queue provided by an embodiment of the present application, and illustrates a message buffer queue for one WLAN link and different STAs.
  • the AP can communicate with STA 1 to STA N.
  • the AP can maintain several queues with different priorities, for example, queue 1 to queue n.
  • the AP buffers the packets into different queues according to the priority of the packets.
  • the sending device may set the priority of the packets of the multiple data streams higher than the priority of the packets of the non-multiple data streams.
  • the packets of different multiple data streams have different priorities.
  • the AP sends 3 data streams to STA1.
  • the data stream 1 is a single data stream.
  • Data stream 2 and data stream 3 are multiple data streams.
  • the packets of data stream 2 and data stream 3 have the same priority, and are higher than the packets of data stream 1.
  • the priority of the packets of data stream 2 is higher than the priority of the packets of data stream 3, and both are higher than the priority of the packets of data stream 1.
  • the AP sends 3 data streams to STA1.
  • data stream 1 and data stream 2 are single-shot data streams.
  • Data stream 3 is a multiple data stream.
  • the priority of the packets of data stream 3 is higher than the priority of the packets of data stream 1 and data stream 2.
  • the message to be sent can be queued in the message cache queue of the WLAN link according to the priority of the message descriptor.
  • the sending device may set a priority of a descriptor of a message of a multi-stream data stream higher than a priority of a descriptor of a message of a non-multi-stream data stream.
  • the priorities of the descriptors of the packets of different multiple data streams are different.
  • the priority of setting a message is similar to the priority of setting a descriptor of a message. For details, refer to the foregoing description, and details are not described herein again.
  • Step 5 According to the message buffer queues of the two WLAN links, send messages through the two WLAN links respectively.
  • 802.11 frame format encapsulation, packet aggregation, etc. can be performed according to the 802.11 protocol, and finally sent to the receiving device through hardware.
  • each message has a serial number generated according to the 802.11 protocol, which can be called a WLAN frame sequence number.
  • a WLAN frame sequence number For a message with multiple data streams, there is a certain correspondence between the WLAN frame sequence number of the message and the message sequence number.
  • the execution subject may be a receiving device.
  • first WLAN link there are two WLAN links between the sending device and the receiving device, which may be marked as a first WLAN link and a second WLAN link, respectively.
  • the communication frequency band of the first WLAN link may be 2.4G
  • the communication frequency band of the second WLAN link may be 5G.
  • Step 1 Receive messages sent by the sending device through two WLAN links, and send feedback messages to the sending device through two WLAN links, respectively.
  • the receiving device after receiving the message, the receiving device sends a feedback message to the sending device.
  • the sending device can determine which messages the receiving device has received or which messages have not been received according to the feedback message. For unreceived messages, the sending device can initiate a retransmission. If the number of retransmissions of the message exceeds the preset maximum number of retransmissions, the sending device may abandon the transmission of the message, causing packet loss.
  • the feedback message may include a confirmation message.
  • the confirmation message is used to indicate whether the receiving device receives a single message.
  • the acknowledgement message may include an acknowledgement indication (acknowlegde, ACK).
  • acknowledgement indication acknowledgelegde, ACK
  • the feedback message may include a group confirmation message.
  • the group confirmation message is used to indicate which of the multiple messages the receiving device has received.
  • the group confirmation message may include the starting WLAN frame sequence number and K-bit indication information, where K is an integer greater than 1.
  • the starting WLAN frame sequence number is the WLAN frame sequence number of a message.
  • Each bit in the K-bit indication information is used to indicate whether the receiving device receives K messages that are consecutive in the arrangement order starting with the message.
  • Step 2 Decapsulate the message. If a message is sent on both WLAN links, for the same message, only the first arriving message is received, and the late arriving message on the other WLAN link is discarded.
  • the message serial number of the message can be obtained.
  • the flow identifier of the message may be generated according to the quintuple information of the message.
  • the sending device and the receiving device generate the flow identifier of the message according to the quintuple information of the message, and the methods may be the same.
  • the data transmission method provided in the embodiments of the present application aims to solve the technical problem that the current data transmission effect cannot be achieved through two links.
  • the first data channel may be a first WLAN link
  • the second data channel may be a second WLAN link
  • FIG. 5 is a flowchart of a data transmission method provided in Embodiment 1 of the present application.
  • an execution subject may be a sending device.
  • the data transmission method provided in this embodiment may include:
  • the sending device periodically obtains a first message sequence number and a second message sequence number.
  • the first message sequence number is the maximum value of the message sequence numbers corresponding to the messages belonging to the first data stream received by the receiving device through the first data channel between the sending device and the receiving device in the statistical period.
  • the second message sequence number is the maximum value of the message sequence numbers corresponding to the messages belonging to the first data stream received by the receiving device through the second data channel between the sending device and the receiving device in the statistical period.
  • At least one message of the data stream is sent on both the first data channel and the second data channel, and the message sequence number is used to indicate the order in which the corresponding messages are arranged in the first data stream.
  • first data channel there are two data channels between the transmitting device and the receiving device, which are called a first data channel and a second data channel, respectively.
  • the sending device sends a packet of the first data stream to the receiving device through the first data channel and the second data channel, respectively.
  • the receiving device receives at least one packet of the first data stream through the first data channel.
  • the maximum value of the message sequence number is called the first message sequence number.
  • the receiving device receives at least one message of the first data stream through the second data channel.
  • the maximum value of the message sequence number is called the second message sequence number.
  • the first message sequence number and the second message sequence number may be different. If the first message sequence number is greater than the second message sequence number, it means that the speed of transmitting the message of the first data stream through the first data channel is faster. At this time, the first data channel may be referred to as a fast data channel, and the second data channel may be referred to as a slow data channel. If the second message sequence number is greater than the first message sequence number, it means that the speed of transmitting the message of the first data stream through the second data channel is faster. At this time, the second data channel may be referred to as a fast data channel, and the first data channel may be referred to as a slow data channel.
  • all packets of the first data stream need to be sent on the first data channel and the second data channel.
  • sequence numbers of the packets of the packets of the first data stream are sequentially marked as: 1, 2, ..., 100, 101, .... All messages of the first data stream need to be sent on the first data channel and the second data channel.
  • the receiving device receives messages 10-15, 17-20 through the first data channel, and receives messages 15-31, 35-40 through the second data channel.
  • the first message sequence number is 20 and the second message sequence number is 40.
  • the speed of transmitting the packets of the first data stream through the second data channel is relatively fast.
  • the sending device updates a message buffer queue of the first data channel and / or the second data channel according to the first message sequence number and the second message sequence number.
  • the data transmission method provided in this embodiment may transmit packets of the same data stream through two data channels, and may be slow or fast. Periodically, the packets of the same data stream received by the receiving device through the two data channels are obtained periodically.
  • the maximum value of the message sequence number can update at least one of the message buffer queues of the first data channel and the second data channel according to the first message sequence number and the second message sequence number.
  • the sending device updates the message buffer queue of the first data channel and / or the second data channel according to the first message sequence number and the second message sequence number, which may include: :
  • the sending device updates the first data channel and / or according to the first message sequence number and the second message sequence number.
  • the message buffer queue of the second data channel If the difference between the first message sequence number and the second message sequence number is greater than a preset threshold, the sending device updates the first data channel and / or according to the first message sequence number and the second message sequence number.
  • the message buffer queue of the second data channel If the difference between the first message sequence number and the second message sequence number is greater than a preset threshold, the sending device updates the first data channel and / or according to the first message sequence number and the second message sequence number.
  • the difference between the first message sequence number and the second message sequence number refers to an absolute value. If the first message sequence number is greater than the second message sequence number, it is determined whether the value of the first message sequence number minus the second message sequence number is greater than a preset threshold. If the first message sequence number is less than the second message sequence number, it is determined whether the value of the second message sequence number minus the first message sequence number is greater than a preset threshold. When the difference between the first message sequence number and the second message sequence number is sufficiently large and is greater than a preset threshold, at least one of the message buffer queues of the first data channel and the second data channel may be updated.
  • the specific value of the preset threshold is not limited in this embodiment.
  • the sending device updates the message buffer queue of the first data channel and / or the second data channel according to the first message sequence number and the second message sequence number.
  • the sending device deletes the first data stream of the first data stream whose message sequence number is less than or equal to the first message sequence number in the message buffer queue of the second data channel. Message.
  • the sending device deletes the first data stream of the first data stream whose message sequence number is less than or equal to the second message sequence number in the message buffer queue of the first data channel Message.
  • a part of the unsent packets in the message buffer queue of the data channel has been received by the receiving device through another fast data channel. Therefore, the messages in the message buffer queue of the slow data channel can be deleted, so that the two data channels are forcibly aligned, and the sending of invalid messages in the slow data channel is avoided. Message transmission delay.
  • the sending device updates the message buffer queue of the first data channel and / or the second data channel according to the first message sequence number and the second message sequence number.
  • the target message is the number of times the sending device attempts to send a message on the first data channel. For a message with a preset maximum number of retransmissions, the sending device deletes all but the target message in the message buffer queue of the second data channel and the message sequence number is less than or equal to the first message sequence number.
  • a data stream message If the first message sequence number is greater than the second message sequence number and there is a target message in the message buffer queue of the second data channel, the target message is the number of times the sending device attempts to send a message on the first data channel. For a message with a preset maximum number of retransmissions, the sending device deletes all but the target message in the message buffer queue of the second data channel and the message sequence number is less than or equal to the first message sequence number.
  • the target message is the number of times the sending device attempts to send a message on the second data channel.
  • the sending device deletes all but the target message in the message buffer queue of the first data channel and the message sequence number is less than or equal to the second message sequence number.
  • the receiving device receives the message sent by the sending device through the data channel, and may or may not receive the message.
  • the sending device can resend the message through the fast data channel.
  • the sending device sends the message through the fast data channel to a preset maximum number of retransmissions, the message fails to be transmitted through the fast data channel.
  • the message that failed the fast data channel transmission is retained, so that the message can continue to be sent in the slow data channel, which improves the data transmission efficiency At the same time, the packet loss rate is reduced.
  • the message sequence number is usually expressed by a preset binary length, for example, 16 bits. After transmitting for a period of time, the message sequence number may be reversed, for example, from 0xFFFF to 0. At this moment, the value of the message serial number will suddenly jump. Therefore, when comparing the sequence number of the first message with the sequence number of the second message, it is necessary to determine whether a sequence number inversion occurs.
  • the first message sequence number and the second message sequence number were 0xFFF0 and 0xFFD0, respectively.
  • the first message sequence number and the second message sequence number are 0x0012 and 0xFFF2, respectively. Because the value of the first message sequence number changes, when comparing the first message sequence number and the second message sequence number, the first message sequence number is actually 0x0012 + 0xFFFF.
  • the sending device periodically obtains the first message sequence number and the second message sequence number, which may include:
  • the sending device receives a confirmation message sent by the receiving device through the data channel, and the confirmation message is used to instruct the receiving device to receive the data channel through the data channel. Message.
  • the sending device obtains a message sequence number indicating the received message according to the confirmation message.
  • the sending device obtains the first message sequence number or the second message sequence number according to the message sequence number indicating the received message.
  • the implementation manner of the confirmation message is different, and the manner of obtaining the message serial number according to the confirmation message is different.
  • the confirmation message may be a group confirmation message.
  • the group confirmation message may include the starting WLAN frame sequence number and K-bit indication information.
  • acknowledgment message and the group acknowledgment message refer to related descriptions in the data receiving method of the present application, which will not be repeated here.
  • the sending device obtains a message sequence number indicating the received message according to the confirmation message, which may include:
  • the sending device obtains the message sequence number of the message according to the WLAN frame sequence number of the message.
  • the WLAN frame sequence number of the message is a sequence number in an 802.11 frame determined according to the 802.11 protocol. There is a certain correspondence between the WLAN frame sequence number of the message and the message sequence number of the message.
  • the sending device stores the corresponding relationship. Therefore, the sending device can obtain the message sequence number of the message according to the WLAN frame sequence number of the message.
  • the data transmission method provided in this embodiment may further include:
  • the sending device obtains a flow identifier indicating a data flow to which the received message belongs according to the confirmation message.
  • the sending device updates the message buffer queue of the first data channel and / or the second data channel according to the first message sequence number and the second message sequence number, which may include:
  • the receiving device receives messages through a data channel, and these messages may belong to different data streams.
  • the sending device can obtain the message sequence number of the same data stream according to the confirmation message.
  • different data flows are distinguished by flow identifiers.
  • the sending device according to the first message sequence number and the second message sequence And update at least one of the message buffer queues of the first data channel and the second data channel.
  • the data transmission method provided in this embodiment may further include:
  • the sending device obtains a message to be sent.
  • the sending device queues the message to be sent in the message buffer queues of the first data channel and the second data channel, respectively.
  • the sending device continuously obtains a message to be sent. For each message to be sent, the sending device needs to determine whether the message needs to be sent on both the first data channel and the second data channel. For a message that needs to be sent on both the first data channel and the second data channel, the sending device queues the message in the message buffer queues of the first data channel and the second data channel, respectively.
  • the sending device separates the messages to be sent on the first data channel and the second data channel, respectively. Queued in the message buffer queue can include:
  • the sending device sets the priority of a message to be sent higher than the priority of a message of a data stream other than the data stream to which the message to be sent belongs.
  • the sending device queues the messages to be sent in the message buffer queues of the first data channel and the second data channel respectively according to the priorities of the messages to be sent.
  • the priority of the packets of the data stream may be set to the highest. In this way, when the packets of the data stream are queued in the message buffer queue, the packets of the data stream will be located in the same queue due to the highest priority. It is convenient for subsequent updating of the message cache queue of the data channel, which improves the efficiency of queue adjustment, thereby improving the efficiency and effect of data transmission.
  • This embodiment provides a data transmission method, including: a sending device periodically obtains a first message sequence number and a second message sequence number, and the sending device updates the first message sequence number according to the first message sequence number and the second message sequence number.
  • the data transmission method provided in this embodiment can dynamically adjust at least one of the message buffer queues of the first data channel and the second data channel according to the first message sequence number and the second message sequence number, thereby improving data transmission. Efficiency and effect, reducing data transmission delay.
  • FIG. 6 is a flowchart of a data transmission method provided in Embodiment 2 of the present application.
  • an execution subject may be a sending device, and a message sending set of multiple data streams on a data channel may be adjusted.
  • This embodiment does not limit the number of multiple data streams. Among them, any one of the multiple data streams may be referred to as a first data stream.
  • the data transmission method provided in this embodiment may include:
  • the sending device periodically obtains adjustment reference information.
  • the adjustment reference information is used to indicate the congestion state when the sending device sends a message through any of the two data channels between the sending device and the receiving device, or to indicate the first data sent by the sending device to the receiving device.
  • the transmission rate of the stream is used to indicate the congestion state when the sending device sends a message through any of the two data channels between the sending device and the receiving device, or to indicate the first data sent by the sending device to the receiving device.
  • the adjustment reference information may indicate a congestion state of the data channel. The more congested the data channel, the larger the transmission delay.
  • the adjustment reference information may indicate a transmission rate of the first data stream sent to the receiving device.
  • the transmission rate of the first data stream sent by the sending device to the receiving device may include: the average rate of the first data stream for the receiving device received by the sending device from the upstream device during the statistical period, or within the statistical period The average rate of the first data stream sent by the sending device to the receiving device.
  • the adjustment reference information may be the average rate of the first data stream received by the HGW / AP from the server for different STAs. The larger the average rate, the larger the amount of data that needs to be sent to the receiving device for the STA and the first data stream.
  • the specific value of the period for obtaining the adjustment reference information is not limited. For example, 10ms.
  • the sending device adjusts a set of sent packets for at least one data channel for the first data stream according to the adjustment reference information.
  • the union of the sent message sets corresponding to the two data channels is the first message set.
  • the first message set includes all pending messages of the first data stream, and the two data channels respectively send corresponding messages.
  • the intersection of the text set is not empty.
  • a set of sending messages for the multi-stream data stream on at least one data channel of the multi-stream data stream may be adjusted according to the adjustment reference information.
  • all packets of multiple data streams can be sent through two data channels.
  • at least one message of the multiple data stream needs to be sent in both data channels.
  • the data transmission method provided in this embodiment can obtain data transmission status by periodically obtaining adjustment reference information. Further, a set of sent packets of multiple data streams on at least one data channel may be adjusted according to the adjustment reference information. Improved the adaptability, efficiency and effect of data transmission.
  • the adjustment reference information may include an evaluation value corresponding to each data channel.
  • the evaluation value can be any of the following:
  • the queue utilization rate X of the queue corresponding to the first data stream is the queue utilization rate X of the queue corresponding to the first data stream.
  • the normalized value of the link delay Y is used to indicate the ratio between the link delay and the preset maximum link delay.
  • the link delay is the link delay of the data channel and the first data in the data channel.
  • is a weight value corresponding to the queue utilization
  • is a weight value corresponding to the normalized value Y of the link delay.
  • the sending device can evaluate the congestion status of the data channel based on indicators such as queue utilization and / or link delay respectively corresponding to the two data channels. For a data channel in a congested state, it can reduce the sending of packets.
  • the queue utilization X is calculated for the queues corresponding to the multiple data streams. For example, as shown in FIG. 4, STA 1 is taken as an example. If the queue corresponding to the multiple data stream is queue 1, the evaluation value is the queue utilization of queue 1.
  • the link delay may be calculated for a data channel, multiple data streams, or a queue corresponding to multiple data streams.
  • the first data channel and STA1 are taken as an example.
  • the queue corresponding to the multiple data stream A is queue 1.
  • the link delay may be the link delay of the first data channel, the link delay of the multiple data stream A in the first data channel, or the link delay of queue 1 in the first data channel.
  • the normalized value Y of the link delay may be a ratio between the link delay and a preset maximum link delay.
  • the preset maximum link delay is 100ms.
  • the specific values of the preset link delay, ⁇ , and ⁇ are not limited.
  • the sending device adjusts at least one data channel sending packet set for the first data stream according to the adjustment reference information, which may include:
  • the sending device For any one of the evaluation values corresponding to the two data channels, if the evaluation value is less than the first threshold value, the sending device adjusts the set of sent messages of the data channel corresponding to the evaluation value to the first message set. .
  • the sending device adjusts, according to the evaluation value, a set of sent packets of a data channel corresponding to the evaluation value.
  • the corresponding evaluation value of the data channel is less than the first threshold value, it means that the data channel is not congested, and all packets of the first data stream can be sent on the data channel. If the evaluation value corresponding to the data channel is greater than the first threshold value, the data channel is congested. Since the evaluation value corresponding to the data channel is between 0 and 100%, the set of sent packets of the data channel can be adjusted proportionally according to the evaluation value corresponding to the data channel.
  • the evaluation value corresponding to the data channel is greater than the first threshold value, and the evaluation value is 30%. Then, the ratio of the sent packet set to the first packet set of the data channel may be adjusted to 30%. That is, 30% of all messages of the first data stream are transmitted. Assume that there are 100 messages in the first data stream, which are labeled as messages 1 to 30 in order. Then, messages 1-30, or messages 71-100, or messages 51-80, and so on can be sent through this data channel.
  • the specific value of the first threshold is not limited in this embodiment.
  • the sending device adjusts, according to the adjustment reference information, the set of sent packets for the first data stream for at least one data channel, and may further include:
  • this data channel can be a data channel with a faster transmission speed.
  • adjusting the reference information may include a transmission rate of the first data stream sent by the sending device to the receiving device.
  • the adjustment reference information may reflect the situation of the to-be-sent traffic of the first data stream of the receiving device, and whether there is a burst of traffic.
  • the sending device adjusts at least one data channel sending packet set for the first data stream according to the adjustment reference information, which may include:
  • the sending device adjusts the set of sent messages of the first data channel to the first set of messages.
  • the sending device adjusts at least one data channel sending packet set for the first data stream according to the adjustment reference information, which may include:
  • the sending device adjusts the set of sent messages of the second data channel to the first set of messages.
  • the sending device adjusts a set of sent messages of the second data channel according to a ratio of the second threshold value to the adjustment reference information.
  • the second threshold is determined according to the negotiation rate between the receiving device and the sending device for the second data channel.
  • the two data channels between the sending device and the receiving device may be a first data channel and a second data channel. It can be ensured that all packets of the first data stream are sent on one of the data channels (the first data channel), and the set of sent messages of the other data channel (the second data channel) is adjusted according to the adjustment reference information.
  • the message transmission rate of the first data channel is fast, and if the message transmission rate of the second data channel is slow, it can be ensured that all the messages of the first data stream can be sent on the fast data channel.
  • Adjust the reference information to adjust the set of sent packets for the slow data channel. When the transmission rate is less than the second threshold, it means that no burst data flow has occurred.
  • the sending device can send all the packets of the first data stream on the slow data channel. When the transmission rate is greater than the second threshold, it indicates that a burst data flow has occurred.
  • the sending device can adjust the sending packet set of the slow data channel according to the adjustment reference information.
  • the ratio is a ratio between the adjustment reference information and the second threshold value.
  • the second threshold value is less than or equal to the negotiation rate for the second data channel between the receiving device and the sending device.
  • the specific value of the second threshold is not limited in this embodiment.
  • the negotiation rate of the second data channel is 50 Mbps / s
  • the second threshold is equal to the negotiation rate, which is also 50 Mbps / s.
  • the transmission rate of the first data stream sent by the sending device to the receiving device is 100 Mbps / s.
  • the sending device may adjust the set of sent messages of the second data channel to be 50% of the first set of messages. That is, half of the messages of the first data stream are sent through the second data channel.
  • This embodiment provides a data transmission method, including: a sending device periodically obtains adjustment reference information, and the sending device adjusts at least one data channel to send a set of sent messages for a first data stream according to the adjustment reference information.
  • the data transmission method provided in this embodiment adjusts a set of sent packets of multiple data streams in at least one data channel according to the adjustment reference information, thereby improving the adaptability, efficiency, and effect of data transmission.
  • the following uses an AP as an example to describe the software structure of a sending device or a receiving device provided in this embodiment of the present application by way of example.
  • FIG. 7 is a schematic diagram of a software architecture of an AP applicable to an embodiment of the present application. Take WLAN technology as an example.
  • the software structure of the AP may include a protocol stack 711 and a WLAN driver module.
  • the protocol stack 711 runs on the main CPU 71.
  • the WLAN driving module may include a WLAN driving module 712 running on the main CPU 71.
  • the WLAN driving module may further include a WLAN driving module running on a WiFi chip.
  • the protocol stack 711 may be used to receive a message sent by an uplink device (for example, HGW), and forward the message to the WLAN driving module.
  • the WLAN driving module may be configured to process a packet according to the 802.11 protocol, and finally send the packet to a downstream device (for example, a STA) through the WLAN interface 722 and / or the WLAN interface 732.
  • the WLAN driving module mainly runs on the main CPU 71, that is, the WLAN driving module 712.
  • a WLAN driving module that is, a WLAN driving module 721 and a WLAN driving module 731 may be provided on the WiFi chip.
  • Part of the WLAN driver functions (such as frame aggregation, MAC layer acknowledgement packet reception processing, rate control, etc.) can be offloaded to the WiFi chip for execution.
  • WLAN drive module 721 and the WLAN drive module 731 cannot directly communicate due to a communication frequency band or other reasons. At this time, communication between the WLAN driving module 721 and the WLAN driving module 731 needs to be relayed through the WLAN driving module 712 on the main CPU 71.
  • the main CPU 71 and the WiFi chip are connected through a high-speed serial computer extended bus standard (peripheral, interconnect, express, PCIE) interface.
  • PCIE serial computer extended bus standard
  • WiFi chips is not limited in this embodiment.
  • FIG. 8 is a schematic structural diagram of a sending device according to Embodiment 1 of the present application.
  • the sending device provided in this embodiment is configured to execute a data transmission method provided in the embodiment shown in FIG. 5.
  • the sending device provided in this embodiment may include:
  • the obtaining module 81 is configured to periodically obtain the first message sequence number and the second message sequence number, where the first message sequence number is a first data channel between the receiving device through the sending device and the receiving device in the statistical period.
  • the maximum value of the message sequence numbers corresponding to the received messages belonging to the first data stream, and the second message sequence number is received by the receiving device through the second data channel between the sending device and the receiving device in the statistical period.
  • the message sequence numbers corresponding to the messages belonging to the first data stream at least one message of the first data stream is sent on the first data channel and the second data channel, and the message sequence number Used to indicate the arrangement order of corresponding messages in the first data stream;
  • the processing module 82 is configured to update a message buffer queue of the first data channel and / or the second data channel according to the first message sequence number and the second message sequence number.
  • processing module 82 is specifically configured to:
  • processing module 82 is specifically configured to:
  • the message of the first data stream whose message sequence number is less than or equal to the first message sequence number is deleted from the message buffer queue of the second data channel.
  • processing module 82 is specifically configured to:
  • the target message is a preset number of attempts to send a message on the first data channel.
  • the first data stream except the target message and the message sequence number is less than or equal to the first message sequence number is deleted.
  • the obtaining module 81 is specifically configured to:
  • a confirmation message sent by the receiving device is received through the data channel, and the confirmation message is used to instruct the receiving device to receive the message received through the data channel.
  • the obtaining module 81 is further configured to:
  • the processing module 82 is specifically configured to:
  • the first data channel is a first WLAN link
  • the second data channel is a second WLAN link.
  • it further includes a receiving module 83;
  • a receiving module 83 configured to obtain a message to be sent
  • the processing module 82 is further configured to: if it is determined that the message to be sent is sent on both the first data channel and the second data channel, buffer the messages to be sent in the message of the first data channel and the second data channel respectively Line up in the queue.
  • the processing module 82 is specifically configured to:
  • the messages to be sent are queued in the message buffer queues of the first data channel and the second data channel, respectively.
  • the obtaining module 81 and the processing module 82 in this embodiment may be any one of the WLAN driving module 712, the driving module 721, and the driving module 731 in FIG. 7.
  • the receiving module 83 may be the protocol stack 711 in FIG. 7.
  • the sending device provided in this embodiment is configured to execute the data transmission method provided in the embodiment shown in FIG. 5.
  • the technical principles and technical effects are similar, and details are not described herein again.
  • FIG. 9 is a schematic structural diagram of a sending device according to Embodiment 2 of the present application.
  • the sending device provided in this embodiment is configured to execute a data transmission method provided in the embodiment shown in FIG. 6.
  • the sending device provided in this embodiment may include:
  • the obtaining module 86 is configured to periodically obtain adjustment reference information, and the adjustment reference information is used to indicate a congestion state when the sending device sends a message through any one of two data channels between the sending device and the receiving device, or Instruct the transmission rate of the first data stream sent by the sending device to the receiving device;
  • a processing module 87 is configured to adjust, according to the adjustment reference information, a set of sent packets for at least one data channel for the first data stream, where a union of sets of sent packets corresponding to the two data channels respectively is a first packet set, A message set includes all to-be-sent messages of the first data stream, and the intersection of the sent message sets corresponding to the two data channels is not empty.
  • the adjustment reference information includes an evaluation value corresponding to each data channel, and the evaluation value is any of the following:
  • the normalized value Y of the link delay is used to indicate the ratio between the link delay and the preset maximum link delay, and the link delay is the data channel's The link delay, the link delay of the queue corresponding to the first data flow in the data channel, or the link delay of the first data flow in the data channel;
  • processing module 87 is specifically configured to:
  • the set of sent packets of the data channel corresponding to the evaluation value is adjusted according to the evaluation value.
  • adjusting the reference information includes the transmission rate of the first data stream sent by the sending device to the receiving device, and the set of sent messages of the first data channel is the first set of messages;
  • the processing module 87 is specifically configured to:
  • the transmission rate is greater than the second threshold, adjusting a set of sent packets of the second data channel according to a ratio of the second threshold to the adjustment reference information;
  • the obtaining module 86 and the processing module 87 in this embodiment may be any one of the WLAN driving module 712, the driving module 721, and the driving module 731 in FIG. 7.
  • the second threshold is determined according to the negotiation rate between the receiving device and the sending device for the second data channel.
  • the sending device provided in this embodiment is configured to execute the data transmission method provided in the embodiment shown in FIG. 6.
  • the technical principles and technical effects are similar, and details are not described herein again.
  • FIG. 10 is a schematic structural diagram of a sending device according to Embodiment 3 of the present application.
  • the sending device includes a processor 91, a memory 92, and a transceiver 93.
  • the memory 92 is used to store instructions
  • the transceiver 93 is used to communicate with other devices
  • the processor 91 is used to
  • the instructions stored in the memory 92 are executed to cause the sending device to execute the data transmission method provided in the embodiment shown in FIG. 5 or FIG. 6.
  • the specific implementation manner and technical effect are similar, and details are not described herein again.
  • each module of the above device is only a division of logical functions. In actual implementation, it may be fully or partially integrated into a physical entity, or it may be physically separated. And these modules can all be implemented in the form of software called by processing elements; they can also be all implemented in hardware; some modules can be implemented in the form of software called by processing elements, and some modules can be implemented in hardware.
  • the determination module may be a separately established processing element, or it may be integrated and implemented in a certain chip of the above device.
  • it may also be stored in the form of a program code in the memory of the above device, and a certain processing element of the above device Invoke and execute the functions of the above identified modules.
  • the implementation of other modules is similar.
  • each step of the above method or each of the above modules may be completed by an integrated logic circuit of hardware in a processor element or an instruction in the form of software.
  • the above modules may be one or more integrated circuits configured to implement the above method, such as one or more application specific integrated circuits (ASICs), or one or more microprocessors (digital signal processor (DSP), or one or more field programmable gate array (FPGA).
  • ASICs application specific integrated circuits
  • DSP digital signal processor
  • FPGA field programmable gate array
  • the processing element may be a general-purpose processor, such as a central processing unit (CPU) or other processors that can call program code.
  • CPU central processing unit
  • these modules can be integrated together and implemented in the form of a system-on-a-chip (SOC).
  • SOC system-on-a-chip
  • the computer program product includes one or more computer instructions.
  • the computer may be a general-purpose computer, a special-purpose computer, a computer network, or other programmable devices.
  • the computer instructions may be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another computer-readable storage medium, for example, the computer instructions may be from a website site, computer, server, or data center Transmission by wire (for example, coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (for example, infrared, wireless, microwave, etc.) to another website site, computer, server, or data center.
  • the computer-readable storage medium may be any available medium that can be accessed by a computer or a data storage device such as a server, a data center, and the like that includes one or more available medium integration.
  • the available medium may be a magnetic medium (for example, a floppy disk, a hard disk, a magnetic tape), an optical medium (for example, a DVD), or a semiconductor medium (for example, a solid state disk (SSD)).
  • an embodiment of the present application further provides a storage medium.
  • the storage medium stores instructions, and when the storage medium is run on a computer, the computer is caused to execute the methods in the embodiments shown in FIG. 5 to FIG. 6.
  • an embodiment of the present application further provides a chip for running instructions, where the chip is configured to execute the methods in the embodiments shown in FIG. 5 to FIG. 6.
  • An embodiment of the present application further provides a program product, where the program product includes a computer program stored in a storage medium, and at least one processor may read the computer program from the storage medium, and the at least one When the processor executes the computer program, the methods in the embodiments shown in FIG. 5 to FIG. 6 may be implemented.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Communication Control (AREA)

Abstract

本申请实施例提供一种数据传输方法和设备。其中,数据传输方法包括:发送设备周期性获取第一报文序列号和第二报文序列号;其中,第一报文序列号为统计周期内接收设备通过第一数据通道接收到的属于第一数据流的报文分别对应的报文序列号中的最大值,第二报文序列号为统计周期内接收设备通过第二数据通道接收到的属于第一数据流的报文分别对应的报文序列号中的最大值,第一数据流的至少一个报文在第一数据通道上和第二数据通道上均进行发送,发送设备根据第一报文序列号和第二报文序列号,更新第一数据通道和/或第二数据通道的报文缓存队列。通过动态调整第一数据通道和第二数据通道的报文缓存队列中的至少一个,提升了数据传输的效率和效果。

Description

数据传输方法和设备 技术领域
本申请实施例涉及通信技术领域,尤其涉及一种数据传输方法和设备。
背景技术
无线局域网络(Wireless Local Area Networks,WLAN)技术是一种常用的无线通信技术,广泛应用在手机、平板电脑、笔记本电脑等终端设备上。WLAN技术广泛使用的通信标准是电气电子工程师学会(Institute of Electrical and Electronics Engineers,IEEE)802.11协议标准。不同的协议标准支持不同的频段。比如,802.11g工作在2.4G频段,802.11ac工作在5G频段,802.11n可以工作在2.4G或5G频段。
目前,支持WLAN技术的通信设备可以包括多个WLAN芯片,通过不同的WLAN芯片可以同时发送或者接收数据。比如,通信设备包括两个WLAN芯片,一个WLAN芯片工作在2.4G频段,另一个WLAN芯片工作在5G频段。当通信双方的两条WLAN链路的信号质量很好,并且链路都比较空闲时,在两条链路上传输报文的时延都比较小,接收方会选择时延更小的报文,而丢弃另外一条链路上晚到的相同报文。当通信双方的两条WLAN链路中一条链路的信号比较差或者存在很大的干扰时,在该链路上传输报文的时延将会很大。在另外一条信号较好或者干扰较小的链路上传输报文的时延会较小。接收方会选择信号较好或者干扰较小的链路上的报文。
由于接收方始终选择时延小的链路上的报文,使得慢速链路中的无效报文增多,增加了网络拥塞,通过两条链路起不到很好的数据传输效果。
发明内容
本申请实施例提供一种数据传输方法和设备,提升了数据传输的效率和效果。
第一方面,本申请实施例提供一种数据传输方法,包括:发送设备周期性获取第一报文序列号和第二报文序列号;其中,第一报文序列号为统计周期内接收设备通过发送设备与接收设备之间的第一数据通道接收到的属于第一数据流的报文分别对应的报文序列号中的最大值,第二报文序列号为统计周期内接收设备通过发送设备与接收设备之间的第二数据通道接收到的属于第一数据流的报文分别对应的报文序列号中的最大值,第一数据流的至少一个报文在第一数据通道上和第二数据通道上均进行发送,报文序列号用于指示对应报文在第一数据流中的排列顺序;发送设备根据第一报文序列号和第二报文序列号,更新第一数据通道和/或第二数据通道的报文缓存队列。
通过第一方面提供的数据传输方法,通过两个数据通道传输同一个数据流的至少一个报文,周期性获取接收设备通过两个数据通道分别接收到的同一个数据流的报文的报文序列号的最大值,根据第一报文序列号和第二报文序列号,可以更新第一数据通道和第二数据通道的报文缓存队列中的至少一个。由于动态调整了数据通道的报文缓存队列,提升了数据传输的效率和效果,降低了数据传输时延。
可选的,在第一方面的一种可能的实施方式中,发送设备根据第一报文序列号和第二报 文序列号,更新第一数据通道和/或第二数据通道的报文缓存队列,可以包括:若第一报文序列号与第二报文序列号之间的差值大于预设阈值,则发送设备根据第一报文序列号和第二报文序列号,更新第一数据通道和/或第二数据通道的报文缓存队列。
通过该可能的实施方式提供的数据传输方法,避免了频繁的更新数据通道的报文缓存队列,提升了数据传输效率和效果。
可选的,在第一方面的一种可能的实施方式中,发送设备根据第一报文序列号和第二报文序列号,更新第一数据通道和/或第二数据通道的报文缓存队列,可以包括:若第一报文序列号大于第二报文序列号,则发送设备在第二数据通道的报文缓存队列中,删除报文序列号小于或者等于第一报文序列号的第一数据流的报文。
通过该可能的实施方式提供的数据传输方法,可以删除慢速数据通道的报文缓存队列中的报文,使得两条数据通道强制对齐,避免了慢速数据通道中无效报文的发送,利用两条数据通道的同步发送,降低了报文传输时延。
可选的,在第一方面的一种可能的实施方式中,发送设备根据第一报文序列号和第二报文序列号,更新第一数据通道和/或第二数据通道的报文缓存队列,可以包括:若第一报文序列号大于第二报文序列号,且第二数据通道的报文缓存队列中存在目标报文,目标报文为发送设备在第一数据通道上尝试发送报文的次数达到预设最大重发次数的报文,则发送设备在第二数据通道的报文缓存队列中,删除除目标报文之外的,且报文序列号小于或者等于第一报文序列号的第一数据流的报文。
通过该可能的实施方式提供的数据传输方法,删除慢速数据通道的报文缓存队列中的报文时,保留快速数据通道传输失败的报文,使得该报文可以在慢速数据通道中继续发送,提升数据传输效率的同时降低了丢包率。
可选的,在第一方面的一种可能的实施方式中,发送设备周期性获取第一报文序列号和第二报文序列号,可以包括:针对第一数据通道和第二数据通道中的任一数据通道,在统计周期内,发送设备通过该数据通道接收接收设备发送的确认消息,该确认消息用于指示接收设备通过该数据通道接收到的报文;发送设备根据该确认消息获取指示接收到的报文的报文序列号;发送设备根据指示接收到的报文的报文序列号,获取第一报文序列号或第二报文序列号。
可选的,在第一方面的一种可能的实施方式中,还可以包括:发送设备根据该确认消息获取指示接收到的报文所属数据流的流标识;发送设备根据第一报文序列号和第二报文序列号,更新第一数据通道和/或第二数据通道的报文缓存队列,包括:在第一报文序列号对应的流标识与第二报文序列号对应的流标识相同时,根据第一报文序列号和第二报文序列号,更新第一数据通道和/或第二数据通道的报文缓存队列。
可选的,在第一方面的一种可能的实施方式中,第一数据通道为第一WLAN链路,第二数据通道为第二WLAN链路。
可选的,在第一方面的一种可能的实施方式中,还可以包括:发送设备获取待发送报文;若确定待发送报文在第一数据通道上和第二数据通道上均进行发送,则发送设备将待发送报文分别在第一数据通道和第二数据通道的报文缓存队列中排队。
可选的,在第一方面的一种可能的实施方式中,若在第一数据通道上和第二数据通道上均进行发送的待发送报文所属的数据流为一个,发送设备将待发送报文分别在第一数据通道和第二数据通道的报文缓存队列中排队,包括:发送设备设置待发送报文的优先级高于除待发送报文所属数据流之外的其他数据流的报文的优先级;发送设备根据待发送报文的优先级 将待发送报文分别在第一数据通道和第二数据通道的报文缓存队列中排队。
通过该可能的实施方式提供的数据传输方法,通过设置唯一一个在两个数据通道中传输的数据流的报文的优先级为最高,该数据流的报文可以位于同一个队列中。便于后续更新数据通道的报文缓存队列,提升了队列调整效率,进而提升了数据传输效率和效果。
第二方面,本申请实施例提供一种数据传输方法,包括:发送设备周期性获取调整参考信息,调整参考信息用于指示发送设备通过发送设备与接收设备之间的两个数据通道的任一数据通道发送报文时的拥塞状态,或者用于指示发送设备向接收设备待发送的数据流的传输速率;发送设备根据调整参考信息调整至少一个数据通道的发送报文集合;其中,两个数据通道分别对应的发送报文集合的并集为第一报文集合,第一报文集合包括数据流的全部的待发送报文,两个数据通道分别对应的发送报文集合的交集非空。
通过该可能的实施方式提供的数据传输方法,通过周期性获取调整参考信息,可以获得数据发送情况。进而可以根据调整参考信息调整多发数据流在至少一个数据通道的发送报文集合。提升了数据传输的适应性、效率和效果。
可选的,在第二方面的一种可能的实施方式中,调整参考信息包括每个数据通道分别对应的评估值,评估值为下列中的任意一种:数据流对应的队列的队列利用率X;链路时延的归一化值Y;链路时延的归一化值Y用于指示链路时延与预设链路时延最大值之间的比值,链路时延为数据通道的链路时延、数据通道中数据流对应的队列的链路时延,或者数据通道中数据流的链路时延;α*X+β*Y;其中,α为队列利用率对应的权重值,β为链路时延的归一化值Y对应的权重值。
通过该可能的实施方式提供的数据传输方法,通过队列利用率和/或链路时延可以动态反映数据通道的拥塞状态。发送设备根据两个数据通道分别对应的队列利用率和/或链路时延等指标评估数据通道的拥塞状态,对于处于拥塞状态的数据通道,可以减少报文的发送,提升了数据传输的适应性、效率和效果。
可选的,在第二方面的一种可能的实施方式中,发送设备根据调整参考信息调整至少一个数据通道的发送报文集合,可以包括:针对两个数据通道分别对应的评估值中的任一评估值,若该评估值小于第一门限值,则发送设备调整该评估值对应的数据通道的发送报文集合为第一报文集合;若该评估值大于第一门限值,则发送设备根据该评估值调整该评估值对应的数据通道的发送报文集合。
可选的,在第二方面的一种可能的实施方式中,调整参考信息包括发送设备向接收设备待发送的数据流的传输速率,第一数据通道的发送报文集合为第一报文集合;发送设备根据调整参考信息调整至少一个数据通道的发送报文集合,包括:若调整参考信息小于第二门限值,则发送设备调整第二数据通道的发送报文集合为第一报文集合;若调整参考信息大于第二门限值,则发送设备根据第二门限值与调整参考信息的比值,调整第二数据通道的发送报文集合;其中,第二门限值为根据接收设备与发送设备之间针对第二数据通道的协商速率确定的。
通过该可能的实施方式提供的数据传输方法,可以确保快速数据通道上可以发送数据流的全部报文,只根据调整参考信息调整慢速数据通道的发送报文集合。提升了数据传输的适应性、效率和效果。
第三方面,本申请实施例提供发送设备,包括:获取模块,用于周期性获取第一报文序列号和第二报文序列号;其中,第一报文序列号为统计周期内接收设备通过发送设备与接收设备之间的第一数据通道接收到的属于第一数据流的报文分别对应的报文序列号中的最大值, 第二报文序列号为统计周期内接收设备通过发送设备与接收设备之间的第二数据通道接收到的属于第一数据流的报文分别对应的报文序列号中的最大值,第一数据流的至少一个报文在第一数据通道上和第二数据通道上均进行发送,报文序列号用于指示对应报文在第一数据流中的排列顺序;处理模块,用于根据第一报文序列号和第二报文序列号,更新第一数据通道和/或第二数据通道的报文缓存队列。
可选的,在第三方面的一种可能的实施方式中,处理模块具体用于:若第一报文序列号与第二报文序列号之间的差值大于预设阈值,则根据第一报文序列号和第二报文序列号,更新第一数据通道和/或第二数据通道的报文缓存队列。
可选的,在第三方面的一种可能的实施方式中,处理模块具体用于:若第一报文序列号大于第二报文序列号,则在第二数据通道的报文缓存队列中,删除报文序列号小于或者等于第一报文序列号的第一数据流的报文。
可选的,在第三方面的一种可能的实施方式中,处理模块具体用于:若第一报文序列号大于第二报文序列号,且第二数据通道的报文缓存队列中存在目标报文,目标报文为在第一数据通道上尝试发送报文的次数达到预设最大重发次数的报文,则在第二数据通道的报文缓存队列中,删除除目标报文之外的,且报文序列号小于或者等于第一报文序列号的第一数据流的报文。
可选的,在第三方面的一种可能的实施方式中,获取模块具体用于:针对第一数据通道和第二数据通道中的任一数据通道,在统计周期内,通过该数据通道接收接收设备发送的确认消息,该确认消息用于指示接收设备通过该数据通道接收到的报文;根据该确认消息获取指示接收到的报文的报文序列号;根据指示接收到的报文的报文序列号,获取第一报文序列号或第二报文序列号。
可选的,在第三方面的一种可能的实施方式中,获取模块还用于:根据该确认消息获取指示接收到的报文所属数据流的流标识;处理模块具体用于:在第一报文序列号对应的流标识与第二报文序列号对应的流标识相同时,根据第一报文序列号和第二报文序列号,更新第一数据通道和/或第二数据通道的报文缓存队列。
可选的,在第三方面的一种可能的实施方式中,第一数据通道为第一WLAN链路,第二数据通道为第二WLAN链路。
可选的,在第三方面的一种可能的实施方式中,还包括接收模块;接收模块,用于获取待发送报文;处理模块还用于,若确定待发送报文在第一数据通道上和第二数据通道上均进行发送,则将待发送报文分别在第一数据通道和第二数据通道的报文缓存队列中排队。
可选的,在第三方面的一种可能的实施方式中,若在第一数据通道上和第二数据通道上均进行发送的待发送报文所属的数据流为一个,处理模块具体用于:设置待发送报文的优先级高于除待发送报文所属数据流之外的其他数据流的报文的优先级;根据待发送报文的优先级将待发送报文分别在第一数据通道和第二数据通道的报文缓存队列中排队。
第四方面,本申请实施例提供一种发送设备,包括:获取模块,用于周期性获取调整参考信息,调整参考信息用于指示发送设备通过发送设备与接收设备之间的两个数据通道的任一数据通道发送报文时的拥塞状态,或者用于指示发送设备向接收设备待发送的数据流的传输速率;处理模块,用于根据调整参考信息调整至少一个数据通道的发送报文集合;其中,两个数据通道分别对应的发送报文集合的并集为第一报文集合,第一报文集合包括数据流的全部的待发送报文,两个数据通道分别对应的发送报文集合的交集非空。
可选的,在第四方面的一种可能的实施方式中,调整参考信息包括每个数据通道分别对 应的评估值,评估值为下列中的任意一种:数据流对应的队列的队列利用率X;链路时延的归一化值Y;链路时延的归一化值Y用于指示链路时延与预设链路时延最大值之间的比值,链路时延为数据通道的链路时延、数据通道中数据流对应的队列的链路时延,或者数据通道中数据流的链路时延;α*X+β*Y;其中,α为队列利用率对应的权重值,β为链路时延的归一化值Y对应的权重值。
可选的,在第四方面的一种可能的实施方式中,处理模块具体用于:针对两个数据通道分别对应的评估值中的任一评估值,若该评估值小于第一门限值,则调整该评估值对应的数据通道的发送报文集合为第一报文集合;若该评估值大于第一门限值,则根据该评估值调整该评估值对应的数据通道的发送报文集合。
可选的,在第四方面的一种可能的实施方式中,调整参考信息包括发送设备向接收设备待发送的数据流的传输速率,第一数据通道的发送报文集合为第一报文集合;处理模块具体用于:若调整参考信息小于第二门限值,则调整第二数据通道的发送报文集合为第一报文集合;若调整参考信息大于第二门限值,则根据第二门限值与调整参考信息的比值,调整第二数据通道的发送报文集合;其中,第二门限值为根据接收设备与发送设备之间针对第二数据通道的协商速率确定的。
第五方面,本申请实施例提供一种发送设备,该发送设备包括处理器、存储器和收发器。存储器用于存储指令,收发器用于和其他设备通信,处理器用于执行存储器中存储的指令,以使发送设备执行上述第一方面任一实施方式提供的数据传输方法。
第六方面,本申请实施例提供一种发送设备,该发送设备包括处理器、存储器和收发器。存储器用于存储指令,收发器用于和其他设备通信,处理器用于执行存储器中存储的指令,以使发送设备执行上述第二方面任一实施方式提供的数据传输方法。
第七方面,本申请实施例提供一种存储介质,包括:可读存储介质和计算机程序,所述计算机程序用于实现第一方面任一实施方式提供的数据传输方法。
第八方面,本申请实施例提供一种存储介质,包括:可读存储介质和计算机程序,所述计算机程序用于实现第二方面任一实施方式提供的数据传输方法。
第九方面,本申请实施例提供一种程序产品,该程序产品包括计算机程序(即执行指令),该计算机程序存储在可读存储介质中。处理器可以从可读存储介质读取该计算机程序,处理器执行该计算机程序用于执行上述第一方面任一实施方式提供的数据传输方法。
第十方面,本申请实施例提供一种程序产品,该程序产品包括计算机程序(即执行指令),该计算机程序存储在可读存储介质中。处理器可以从可读存储介质读取该计算机程序,处理器执行该计算机程序用于执行上述第二方面任一实施方式提供的数据传输方法。
本申请实施例提供一种数据传输方法和设备,包括:发送设备周期性获取第一报文序列号和第二报文序列号,发送设备根据第一报文序列号和第二报文序列号,更新第一数据通道和/或第二数据通道的报文缓存队列。由于两个数据通道传输同一个数据流的报文可能有快有慢,周期性获取接收设备通过两个数据通道分别接收到的同一个数据流的报文的报文序列号的最大值,可以动态调整数据通道的报文缓存队列,提升了数据传输的效率和效果。
附图说明
图1为本申请实施例适用的通信系统的架构图;
图2A为本申请实施例适用的一种应用场景的示意图;
图2B为本申请实施例适用的另一种应用场景的示意图;
图3为本申请实施例适用的HGW的硬件架构示意图;
图4为本申请实施例提供的报文缓冲队列的示意图;
图5为本申请实施例一提供的数据传输方法的流程图;
图6为本申请实施例二提供的数据传输方法的流程图;
图7为本申请实施例适用的AP的软件架构示意图;
图8为本申请实施例一提供的发送设备的结构示意图;
图9为本申请实施例二提供的发送设备的结构示意图;
图10为本申请实施例三提供的发送设备的结构示意图。
具体实施方式
图1为本申请实施例适用的通信系统的架构图。
如图1所示,通信系统可以包括发送设备100和接收设备200。发送设备100与接收设备200之间具有至少两个数据通道。本实施例对于数据通道的类型、数量、通信频段和遵循的通信协议不做限定。可选的,数据通道可以为WLAN链路,遵循的通信协议可以为电气电子工程师学会(Institute of Electrical and Electronics Engineers,IEEE)802.11协议。可选的,发送设备100与接收设备200可以针对数据通道协商通信速率。
示例性的,在图1中,数据通道可以为WLAN链路。数据通道的数量为3个。发送设备100包括WLAN接口A1、WLAN接口B1和WLAN接口C1。接收设备200包括WLAN接口A2、WLAN接口B2和WLAN接口C2。其中,WLAN接口A1与WLAN接口A2的通信频段和通信协议相同,组成数据通道A。相似的,WLAN接口B1与WLAN接口B2组成数据通道B,WLAN接口C1与WLAN接口C2组成数据通道C。可选的,WLAN接口A1和WLAN接口A2的通信频段可以为2.4G,通信协议可以为802.11g协议。WLAN接口B1和WLAN接口B2的通信频段可以为2.4G,通信协议可以为802.11n协议。WLAN接口C1和WLAN接口C2的通信频段可以为5G,通信协议可以为802.11ac协议。
在本申请实施例中,发送设备100可以向接收设备200发送至少一条数据流的报文。其中,存在至少一条数据流,该数据流的至少一个报文需要在至少两个数据通道中发送。在本申请实施例中,若数据流的所有报文只需要在一个数据通道中发送,该数据流可以称为单发数据流。若数据流的至少一个报文需要在至少两个数据通道中发送,该数据流可以称为多发数据流。对于多发数据流,至少两个数据通道分别对应的发送报文集合的并集为第一报文集合。第一报文集合包括该多发数据流的全部的待发送报文。至少两个数据通道分别对应的发送报文集合的交集非空。
示例性的,在图1中,发送设备100可以向接收设备200发送3条数据流,分别标记为数据流1、数据流2和数据流3。数据流1为单发数据流。数据流2和数据流3为多发数据流。对于数据流1,发送设备100可以通过数据通道A向接收设备200发送数据流1的报文。相应的,接收设备200可以通过数据通道A接收发送设备100发送的数据流1的报文。对于数据流2,发送设备100可以通过数据通道A、数据通道B和数据通道C向接收设备200分别发送数据流2的报文。相应的,接收设备200可以通过数据通道A、数据通道B和数据通道C分别接收发送设备100发送的数据流2的报文。对于数据流3,发送设备100可以通过数据通道B和数据通道C向接收设备200分别发送数据流3的报文。相应的,接收设备200可 以通过数据通道B和数据通道C分别接收发送设备100发送的数据流3的报文。
示例性的,假设数据流3包括100个报文,依次标记为报文1~报文100。在一个示例中,数据通道C对应的发送报文集合包括报文1~报文100,数据通道B对应的发送报文集合包括报文1~报文100。在另一个示例中,数据通道C对应的发送报文集合包括报文1~报文100,数据通道B对应的发送报文集合包括报文1~报文50。在又一个示例中,数据通道C对应的发送报文集合包括报文1~报文90,数据通道B对应的发送报文集合包括报文80~报文100。
需要说明的是,在本申请实施例中,针对每个数据通道,“发送设备需要发送的报文”、“发送设备发送的报文或者已发送的报文”和“接收设备接收的报文”含义不同。
“发送设备需要发送的报文”是指该报文可以在数据通道的报文缓存队列中排队,等待发送设备通过该数据通道发送。但是,发送设备不一定将该报文发送出去,这与数据通道的实际状态相关。例如,数据通道的带宽、拥塞状态、干扰状态、信号质量状态等等。“发送设备发送的报文或者已发送的报文”是指发送设备通过数据通道已经发送的报文。“接收设备接收的报文”是指接收设备通过数据通道接收到的报文。发送设备发送的报文,接收设备可能接收到,也可能接收不到。
还以上述数据流3为例进行说明。
对于数据通道B,“发送设备需要发送的报文”可以为报文1~报文100,“发送设备发送的报文或者已发送的报文”可以为报文1~报文40,“接收设备接收的报文”可以为报文1~报文30。对于数据通道C,“发送设备需要发送的报文”可以为报文1~报文100,“发送设备发送的报文或者已发送的报文”可以为报文1~报文70,“接收设备接收的报文”可以为报文1~报文50、报文60~报文70。
需要说明的是,本申请实施例对于发送设备100、接收设备200的数量和类型不做限定。在一些实施例中,发送设备100和接收设备200也可以称为通信设备。
可选的,发送设备100或者接收设备200可以包括:家庭网关(Home Gateway,HGW)、接入点(Access Point,AP)、终端(Station,STA)以及其他具有无线连接功能的手机、平板电脑、手持设备、车载设备、可穿戴设备、计算设备,以及各种形式的用户设备(user equipment,UE)、移动台(mobile station,MS)及终端(terminal)等,本申请实施例不作限制。
示例性的,图2A为本申请实施例适用的一种应用场景的示意图。
如图2A所示,在家庭网络场景中,通信设备可以包括HGW/AP和STA。HGW/AP可以与服务器进行有线连接,例如铜线连接或者光纤连接,已使HGW/AP接入互联网。HGW/AP可以与STA进行无线连接,例如通过WiFi网络连接。HGW/AP和STA之间可以具有多个WLAN链路。
其中,HGW在上行方向可以通过数字用户线路(Digital Subscriber Line,DSL)、吉比特无源光网络(Gigabit Passive Optical Network,GPON)/以太网无源光网络(Ethernet Passive Optical Network,EPON)等技术接入互联网,在下行方向可以通过以太网、WiFi技术为STA提供网络接入。AP在上行方向可以通过以太网接入互联网,在下行方向可以通过以太网、WiFi技术为STA提供网络接入。
示例性的,图2B为本申请实施例适用的另一种应用场景的示意图。
如图2B所示,在家庭网络场景中,通信设备可以包括HGW、AP和STA。其中,HGW可以与服务器进行有线连接,以使HGW接入互联网。HGW和AP之间、AP和STA之间可以进行无线连接,例如通过WiFi网络连接。为了增加WiFi网络的覆盖范围,可以通过部署多个AP实现。HGW和AP之间、AP和STA之间均可以具有多个WLAN链路。
示例性的,本申请实施例还可以应用于企业场景的AP和STA之间,或者AP与AP之间。
下面以HGW为例,对本申请实施例提供的发送设备或者接收设备的硬件结构进行示例性说明。
图3为本申请实施例适用的HGW的硬件架构示意图。
如图3所示,HGW的硬件结构可以包括:主芯片31和内存32。还可以包括下列接口中的至少一种:光纤接口33、WiFi芯片34、1000M传输速率的以太网(Gigabit Ethernet,GE)接口35和铜线接口36。WiFi芯片34可以包括WiFi接口。WiFi接口341的通信频段可以为2.4G,WiFi接口342的通信频段可以为5G。
在图3中,HGW在上行方向可以通过光纤接口33利用GPON/EPON技术接入互联网,或者通过铜线接口36利用DSL技术接入互联网。HGW在下行方向可以通过WiFi接口341、WiFi接口342或者GE接口35为AP或者STA提供网络接入。可选的,主芯片31上可以集成主中央处理器(Central Processing Unit,CPU)和转发芯片。主CPU可以用于执行计算机程序(即执行指令),以实现报文的转发处理、HGW的设备管理等功能。转发芯片用于通过硬件执行报文的二层转发,提高了转发性能,减轻了主CPU的处理负担。内存32可以用于存储数据。所述数据可以包括计算机程序(即执行指令)。
需要说明的是,本实施例对于主芯片31、主CPU、转发芯片和WiFi芯片34的型号和实现方式不做限定。本实施例对于内存32的实现方式不做限定,例如,动态随机存取存储器(Dynamic Random Access Memory,DRAM)。本实施例对于光纤接口33、WiFi芯片34和GE接口35的数量不做限定。例如,GE接口可以为4个。
示例性的,本申请实施例适用的AP的硬件结构可以参考图3所示示例。
可选的,在图2A所示场景中,AP在上行方向可以通过GE接口接入互联网,在下行方向可以通过WiFi接口或者GE接口与STA通信。可选的,在图2B所示场景中,AP在上行方向可以通过WiFi接口或者GE接口与HGW通信,在下行方向可以通过WiFi接口或者GE接口与STA通信。
示例性的,本申请实施例适用的STA的硬件结构可以参考图3所示示例。
可选的,在图2A或者图2B所示场景中,STA可以采用WiFi接口或者GE接口与HGW或者AP通信。
下面,对本申请实施例涉及的数据发送方法进行说明。执行主体可以为发送设备。
示例性的,发送设备与接收设备之间具有2个WLAN链路,可以分别标记为第一WLAN链路和第二WLAN链路。第一WLAN链路的通信频段可以为2.4G,第二WLAN链路的通信频段可以为5G。
步骤1、获取待发送报文。
步骤2、若待发送报文需要在2个WLAN链路上均进行发送,则生成标识信息。
具体的,发送设备和接收设备可以通过人工配置或者控制消息的交互,确定多发数据流。对于多发数据流的报文,可以在2个WLAN链路上均进行发送。
可选的,可以通过待发送报文的五元组信息确定待发送报文是否需要在2个WLAN链路上均进行发送。
可选的,五元组信息可以包括:源IP地址、目的IP地址、协议号、源端口和目的端口。
可选的,标识信息可以包括报文序列号。其中,报文序列号用于指示报文在所属数据流 中的排列顺序。
通过报文序列号,可以区分待发送报文是否需要在2个WLAN链路上均进行发送。
可选的,标识信息还可以包括流标识。流标识用于唯一区分不同的数据流。
具体的,对于多发数据流,发送设备每获取到该多发数据流的一个报文,就将报文序列号加1。例如,报文序列号当前已经标记到100。对于新获得的该多发数据流的报文,对应的报文序列号为101。
可选的,流标识可以根据待发送报文的五元组信息生成。
可选的,若待发送报文不需要在2个WLAN链路上均进行发送,也可以生成标识信息。
可选的,对于非多发数据流,标识信息中的流标识和报文序列号可以均为0。
可选的,标识信息可以携带在报文的描述符中。
所述描述符,是IP转发过程中的一种数据结构。获取报文后,可以把报文存储在内存中。描述符中携带报文的基本信息,在协议栈一层一层的处理。处理过程中可以不传输报文,只传输描述符。
步骤3、封装待发送报文。
可选的,对待发送报文可以进行通用路由封装(Generic Routing Encapsulation,GRE)或者添加标签头。例如,在网络之间互连协议(Internet Protocol,IP)层和媒体访问控制(Media Access Control,MAC)层之间添加新的标签头。
可选的,封装后的待发送报文可以包括待发送报文的标识信息。
步骤4、将待发送报文在WLAN链路的报文缓存队列中排队。
具体的,报文缓冲队列用于缓存发送给接收设备的报文。若待发送报文不需要在2个WLAN链路上均进行发送,则将待发送报文在需要发送的WLAN链路的报文缓存队列中排队。若待发送报文需要在2个WLAN链路上均进行发送,则将待发送报文分别在2个WLAN链路的报文缓存队列中排队。
下面参照图4对报文缓存队列进行示例性说明。假设,发送设备为AP,接收设备为STA。
AP可以与至少一个STA通信。针对每个WLAN链路和每个STA,AP中管理有与WLAN链路和STA对应的报文缓冲队列。
例如,AP与STA1和STA2通信。则AP管理的报文缓冲队列可以包括:与第一WLAN链路和STA1对应的报文缓冲队列、与第一WLAN链路和STA2对应的报文缓冲队列、与第二WLAN链路和STA1对应的报文缓冲队列和与第二WLAN链路和STA2对应的报文缓冲队列。
图4为本申请实施例提供的报文缓冲队列的示意图,示出了针对一个WLAN链路和不同STA的报文缓冲队列。
如图4所示,AP可以与STA 1~STA N通信。对于每个STA,AP可以维护若干个不同优先级的队列,例如,队列1~队列n。AP会根据报文的优先级将报文缓存到不同的队列中。
可选的,发送设备可以设置多发数据流的报文的优先级高于非多发数据流的报文的优先级。
可选的,不同的多发数据流的报文的优先级不同。
通过将多发数据流的报文的优先级设置为较高,便于在报文缓冲队列中排队,易于区分多发数据流和非多发数据流分别对应的队列,便于队列的管理。
例如,AP向STA 1发送3条数据流。其中,数据流1为单发数据流。数据流2和数据流3为多发数据流。在一个示例中,数据流2和数据流3的报文的优先级相同,均高于数据流1 的报文的优先级。在另一个示例中,数据流2的报文的优先级高于数据流3的报文的优先级,均高于数据流1的报文的优先级。
例如,AP向STA 1发送3条数据流。其中,数据流1和数据流2为单发数据流。数据流3为多发数据流。在一个示例中,数据流3的报文的优先级均高于数据流1和数据流2的报文的优先级。
需要说明的是,将待发送报文在WLAN链路的报文缓存队列中排队,可以根据报文的描述符的优先级,将待发送报文在WLAN链路的报文缓存队列中排队。
可选的,发送设备可以设置多发数据流的报文的描述符的优先级高于非多发数据流的报文的描述符的优先级。
可选的,不同的多发数据流的报文的描述符的优先级不同。
设置报文的优先级与设置报文的描述符的优先级相似,可以参见上述描述,此处不再赘述。
步骤5、根据2个WLAN链路的报文缓存队列分别通过2个WLAN链路发送报文。
具体的,可以根据802.11协议进行802.11帧格式封装、报文聚合等,最后通过硬件发送给接收设备。其中,根据802.11协议进行802.11帧格式封装后,每个报文具有根据802.11协议生成的序号,可以称为WLAN帧序列号。对于多发数据流的报文,报文的WLAN帧序列号与报文序列号之间具有一定的对应关系。
下面,对本申请实施例涉及的数据接收方法进行说明。执行主体可以为接收设备。
示例性的,发送设备与接收设备之间具有2个WLAN链路,可以分别标记为第一WLAN链路和第二WLAN链路。第一WLAN链路的通信频段可以为2.4G,第二WLAN链路的通信频段可以为5G。
步骤1、分别通过2个WLAN链路接收发送设备发送的报文,并分别通过2个WLAN链路向发送设备发送反馈消息。
具体的,接收设备在接收到报文后,向发送设备发送反馈消息。发送设备根据反馈消息可以确定接收设备接收到了哪些报文或者没有接收到哪些报文。对于没有接收到的报文,发送设备可以主动发起重传。如果报文的重传次数超过预设的最大重发次数,则发送设备可以放弃发送该报文,造成丢包。
可选的,反馈消息可以包括确认消息。所述确认消息用于指示接收设备是否接收到单个报文。
可选的,确认消息可以包括确认指示(acknowlegde,ACK)。
可选的,反馈消息可以包括组确认消息。所述组确认消息用于指示接收设备已经接收到多个报文中的哪些报文。
可选的,组确认消息可以包括起始WLAN帧序列号和K比特的指示信息,K为大于1的整数。起始WLAN帧序列号为一个报文的WLAN帧序列号。K比特的指示信息中的每个比特,用于分别指示接收设备是否接收到以该报文为起始的在排列顺序上连续的K个报文。
步骤2、对报文解封装。若报文在2个WLAN链路上均进行了发送,对于同一报文,只接收最先达到的报文,丢弃另一条WLAN链路上晚到达的报文。
可选的,对报文解封装,可以获得报文的报文序列号。
根据报文的报文序列号,可以确定报文是否在2个WLAN链路上均进行了发送。
可选的,对报文解封装后,可以根据报文的五元组信息生成报文的流标识。
需要说明的是,发送设备和接收设备根据报文的五元组信息生成报文的流标识,方法可以相同。
本申请实施例提供的数据传输方法,旨在解决目前通过两条链路起不到很好的数据传输效果的技术问题。
下面以具体实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。
示例性的,本申请各实施例中,以发送设备与接收设备之间具有两个数据通道为例进行说明。可选的,第一数据通道可以为第一WLAN链路,第二数据通道可以为第二WLAN链路。
图5为本申请实施例一提供的数据传输方法的流程图。本实施例提供的数据传输方法,执行主体可以为发送设备。如图5所示,本实施例提供的数据传输方法,可以包括:
S501、发送设备周期性获取第一报文序列号和第二报文序列号。
其中,第一报文序列号为统计周期内接收设备通过发送设备与接收设备之间的第一数据通道接收到的属于第一数据流的报文分别对应的报文序列号中的最大值,第二报文序列号为统计周期内接收设备通过发送设备与接收设备之间的第二数据通道接收到的属于第一数据流的报文分别对应的报文序列号中的最大值,第一数据流的至少一个报文在第一数据通道上和第二数据通道上均进行发送,报文序列号用于指示对应报文在第一数据流中的排列顺序。
具体的,发送设备与接收设备之间具有2个数据通道,分别称为第一数据通道和第二数据通道。发送设备分别通过第一数据通道和第二数据通道向接收设备发送第一数据流的报文。在统计周期内,接收设备通过第一数据通道接收到第一数据流的至少一个报文。其中,报文序列号的最大值称为第一报文序列号。接收设备通过第二数据通道接收到第一数据流的至少一个报文。其中,报文序列号的最大值称为第二报文序列号。
由于两个数据通道的带宽、拥塞情况、干扰情况、协商通信速率等因素的不同,第一报文序列号和第二报文序列号可能不同。如果第一报文序列号大于第二报文序列号,说明通过第一数据通道传输第一数据流的报文的速度较快。此时,第一数据通道可以称为快速数据通道,第二数据通道可以称为慢速数据通道。如果第二报文序列号大于第一报文序列号,说明通过第二数据通道传输第一数据流的报文的速度较快。此时,第二数据通道可以称为快速数据通道,第一数据通道可以称为慢速数据通道。
可选的,第一数据流的所有报文均需要在第一数据通道上和第二数据通道上进行发送。
下面通过示例进行说明。
假设,第一数据流的报文的报文序列号顺序标记为:1,2,…,100,101,…。第一数据流的所有报文均需要在第一数据通道上和第二数据通道上进行发送。在当前的统计周期中,接收设备通过第一数据通道接收到报文10~15,17~20,通过第二数据通道接收到报文15~31,35~40。此时,第一报文序列号为20,第二报文序列号为40。通过第二数据通道传输第一数据流的报文的速度较快。
需要说明的是,本实施例对于统计周期的具体取值不做限定。
S502、发送设备根据第一报文序列号和第二报文序列号,更新第一数据通道和/或第二数据通道的报文缓存队列。
本实施例提供的数据传输方法,通过两个数据通道传输同一个数据流的报文可能有快有 慢,周期性获取接收设备通过两个数据通道分别接收到的同一个数据流的报文的报文序列号的最大值,根据第一报文序列号和第二报文序列号,可以更新第一数据通道和第二数据通道的报文缓存队列中的至少一个。通过动态调整数据通道的报文缓存队列,提升了数据传输的效率和效果,降低了数据传输时延。
可选的,在一种实现方式中,S502,发送设备根据第一报文序列号和第二报文序列号,更新第一数据通道和/或第二数据通道的报文缓存队列,可以包括:
若第一报文序列号与第二报文序列号之间的差值大于预设阈值,则发送设备根据第一报文序列号和第二报文序列号,更新第一数据通道和/或第二数据通道的报文缓存队列。
具体的,第一报文序列号与第二报文序列号之间的差值是指绝对值。若第一报文序列号大于第二报文序列号,则判断第一报文序列号减去第二报文序列号的值是否大于预设阈值。若第一报文序列号小于第二报文序列号,则判断第二报文序列号减去第一报文序列号的值是否大于预设阈值。当第一报文序列号与第二报文序列号之间的差值足够大,已经大于预设阈值时,可以更新第一数据通道和第二数据通道的报文缓存队列中的至少一个。
通过设置预设阈值,避免了频繁的更新数据通道的报文缓存队列,提升了数据传输效率和效果。
需要说明的是,本实施例对于预设阈值的具体取值不做限定。
可选的,在另一种实现方式中,S502,发送设备根据第一报文序列号和第二报文序列号,更新第一数据通道和/或第二数据通道的报文缓存队列,可以包括:
若第一报文序列号大于第二报文序列号,则发送设备在第二数据通道的报文缓存队列中,删除报文序列号小于或者等于第一报文序列号的第一数据流的报文。
若第二报文序列号大于第一报文序列号,则发送设备在第一数据通道的报文缓存队列中,删除报文序列号小于或者等于第二报文序列号的第一数据流的报文。
具体的,对于慢速数据通道,该数据通道的报文缓存队列中部分未发送的报文,接收设备通过另一个快速数据通道已经接收到了。因此,可以删除慢速数据通道的报文缓存队列中的报文,使得两条数据通道强制对齐,避免了慢速数据通道中无效报文的发送,利用两条数据通道的同步发送,降低了报文传输时延。
可选的,在又一种实现方式中,S502,发送设备根据第一报文序列号和第二报文序列号,更新第一数据通道和/或第二数据通道的报文缓存队列,可以包括:
若第一报文序列号大于第二报文序列号,且第二数据通道的报文缓存队列中存在目标报文,目标报文为发送设备在第一数据通道上尝试发送报文的次数达到预设最大重发次数的报文,则发送设备在第二数据通道的报文缓存队列中,删除除目标报文之外的,且报文序列号小于或者等于第一报文序列号的第一数据流的报文。
若第二报文序列号大于第一报文序列号,且第一数据通道的报文缓存队列中存在目标报文,目标报文为发送设备在第二数据通道上尝试发送报文的次数达到预设最大重发次数的报文,则发送设备在第一数据通道的报文缓存队列中,删除除目标报文之外的,且报文序列号小于或者等于第二报文序列号的第一数据流的报文。
具体的,接收设备通过数据通道接收发送设备发送的报文,可能接收到,也可能没有接收到。对于通过快速数据通道没有接收到的报文,发送设备可以通过快速数据通道重新发送该报文。当发送设备通过快速数据通道发送该报文的次数达到预设最大重发次数时,该报文通过快速数据通道传输失败。在该场景中,删除慢速数据通道的报文缓存队列中的报文时,保留快速数据通道传输失败的报文,使得该报文可以在慢速数据通道中继续发送,提升数据 传输效率的同时降低了丢包率。
需要说明的是,在本实施例中,比较第一报文序列号和第二报文序列号时,需要注意序列号翻转的问题。
具体的,报文序列号通常采用预设二进制长度表示,例如,16bit。传输一段时间后,报文序列号可能发生翻转,例如从0xFFFF翻转为0。此时,报文序列号的数值会突然产生跳变。因此,在比较第一报文序列号和第二报文序列号时,需要确定是否发生序列号翻转。
例如,在上一个统计周期,第一报文序列号和第二报文序列号分别为0xFFF0和0xFFD0。在当前的统计周期,第一报文序列号和第二报文序列号分别为0x0012和0xFFF2。由于第一报文序列号的取值发生跳变,因此,在比较第一报文序列号和第二报文序列号时,第一报文序列号实际为0x0012+0xFFFF。
可选的,S501,发送设备周期性获取第一报文序列号和第二报文序列号,可以包括:
针对第一数据通道和第二数据通道中的任一数据通道,在统计周期内,发送设备通过该数据通道接收接收设备发送的确认消息,该确认消息用于指示接收设备通过该数据通道接收到的报文。
发送设备根据该确认消息获取指示接收到的报文的报文序列号。
发送设备根据指示接收到的报文的报文序列号,获取第一报文序列号或第二报文序列号。
需要说明的是,这里的“确认消息”与本申请上述数据接收方法中的“反馈消息”含义相同。
其中,确认消息的实现方式不同,根据确认消息获取报文序列号的方式不同。
可选的,在一种实现方式中,确认消息可以为组确认消息。组确认消息可以包括起始WLAN帧序列号和K比特的指示信息。
其中,关于确认消息和组确认消息可以参见本申请数据接收方法中的相关描述,此处不再赘述。
发送设备根据该确认消息获取指示接收到的报文的报文序列号,可以包括:
发送设备根据报文的WLAN帧序列号获取报文的报文序列号。
具体的,报文的WLAN帧序列号为根据802.11协议确定的802.11帧中的序号。报文的WLAN帧序列号与报文的报文序列号之间具有一定的对应关系。发送设备存储有该对应关系。因此,发送设备可以根据报文的WLAN帧序列号获得报文的报文序列号。
可选的,本实施例提供的数据传输方法,还可以包括:
发送设备根据该确认消息获取指示接收到的报文所属数据流的流标识。
发送设备根据第一报文序列号和第二报文序列号,更新第一数据通道和/或第二数据通道的报文缓存队列,可以包括:
在第一报文序列号对应的流标识与第二报文序列号对应的流标识相同时,根据第一报文序列号和第二报文序列号,更新第一数据通道和/或第二数据通道的报文缓存队列。
具体的,接收设备通过数据通道接收报文,这些报文可能属于不同的数据流。发送设备根据确认消息可以获取同一个数据流的报文序列号。其中,不同的数据流通过流标识进行区分。当第一报文序列号对应的流标识与第二报文序列号对应的流标识相同,且为第一数据流的流标识时,发送设备根据第一报文序列号和第二报文序列号,更新第一数据通道和第二数据通道的报文缓存队列中的至少一个。
可选的,本实施例提供的数据传输方法,还可以包括:
发送设备获取待发送报文。
若确定待发送报文在第一数据通道上和第二数据通道上均进行发送,则发送设备将待发送报文分别在第一数据通道和第二数据通道的报文缓存队列中排队。
具体的,发送设备持续获取待发送报文。对于每个待发送报文,发送设备需要判断该报文是否需要在第一数据通道和第二数据通道上均进行发送。对于需要在第一数据通道和第二数据通道上均进行发送的报文,发送设备将该报文分别在第一数据通道和第二数据通道的报文缓存队列中排队。
可选的,若在第一数据通道上和第二数据通道上均进行发送的待发送报文所属的数据流为一个,发送设备将待发送报文分别在第一数据通道和第二数据通道的报文缓存队列中排队,可以包括:
发送设备设置待发送报文的优先级高于除待发送报文所属数据流之外的其他数据流的报文的优先级。
发送设备根据待发送报文的优先级将待发送报文分别在第一数据通道和第二数据通道的报文缓存队列中排队。
具体的,当多发数据流的数量为一个时,可以将该数据流的报文的优先级设置为最高。这样,将该数据流的报文在报文缓存队列中排队时,由于优先级最高,该数据流的报文将位于同一个队列中。便于后续更新数据通道的报文缓存队列,提升了队列调整效率,进而提升了数据传输效率和效果。
本实施例提供一种数据传输方法,包括:发送设备周期性获取第一报文序列号和第二报文序列号,发送设备根据第一报文序列号和第二报文序列号,更新第一数据通道和/或第二数据通道的报文缓存队列。本实施例提供的数据传输方法,根据第一报文序列号和第二报文序列号,可以动态调整第一数据通道和第二数据通道的报文缓存队列中的至少一个,提升了数据传输的效率和效果,降低了数据传输时延。
图6为本申请实施例二提供的数据传输方法的流程图。本实施例提供的数据传输方法,执行主体可以为发送设备,可以调整多发数据流在数据通道上的报文发送集合。本实施例不限定多发数据流的数量。其中,任意一个多发数据流均可以称为第一数据流。如图6所示,本实施例提供的数据传输方法,可以包括:
S601、发送设备周期性获取调整参考信息。
其中,调整参考信息用于指示发送设备通过发送设备与接收设备之间的两个数据通道的任一数据通道发送报文时的拥塞状态,或者用于指示发送设备向接收设备发送的第一数据流的传输速率。
具体的,在数据传输过程中,由于数据通道的拥塞情况、干扰情况、信号质量情况以及向接收设备发送第一数据流的待发送业务量是实时变化的,通过周期性获取调整参考信息,可以实时获取数据发送情况,以便及时调整数据通道上的数据发送量。
其中,在一种实现方式中,调整参考信息可以指示数据通道的拥塞状态。数据通道越拥塞,发送时延越大。
在另一种实现方式中,调整参考信息可以指示向接收设备发送的第一数据流的传输速率。可选的,发送设备向接收设备发送的第一数据流的传输速率,可以包括:统计周期内发送设备从上游设备接收到的针对接收设备的第一数据流的平均速率,或者,统计周期内发送设备向接收设备发送的第一数据流的平均速率。比如,如图2A所示,调整参考信息可以为HGW/AP从服务器接收到的针对不同STA的第一数据流的平均速率。平均速率越大,说明针对该STA 和第一数据流需要发送给接收设备的数据量越大。
需要说明的是,本实施例对于获取调整参考信息的周期的具体取值不做限定。例如,10ms。
S602、发送设备根据调整参考信息调整至少一个数据通道针对第一数据流的发送报文集合。
其中,两个数据通道分别对应的发送报文集合的并集为第一报文集合,第一报文集合包括第一数据流的全部的待发送报文,两个数据通道分别对应的发送报文集合的交集非空。
具体的,对于多发数据流,可以根据调整参考信息调整该多发数据流在至少一个数据通道针对多发数据流的发送报文集合。在调整过程中,通过两个数据通道可以发送多发数据流的全部报文。并且,多发数据流的至少一个报文需要在两个数据通道中均进行发送。
本实施例提供的数据传输方法,通过周期性获取调整参考信息,可以获得数据发送情况。进而可以根据调整参考信息调整多发数据流在至少一个数据通道的发送报文集合。提升了数据传输的适应性、效率和效果。
可选的,在一种实现方式中,调整参考信息可以包括每个数据通道分别对应的评估值。评估值可以为下列中的任意一种:
第一数据流对应的队列的队列利用率X。
链路时延的归一化值Y。链路时延的归一化值Y用于指示链路时延与预设链路时延最大值之间的比值,链路时延为数据通道的链路时延、数据通道中第一数据流对应的队列的链路时延,或者数据通道中第一数据流的链路时延。
α*X+β*Y。其中,α为队列利用率对应的权重值,β为链路时延的归一化值Y对应的权重值。
具体的,当数据通道受到空口干扰、信号变差等原因造成链路拥塞时,队列利用率和链路时延都会变大。这些指标可以动态反映数据通道的拥塞状态。发送设备可以根据两个数据通道分别对应的队列利用率和/或链路时延等指标评估数据通道的拥塞状态,对于处于拥塞状态的数据通道,可以减少报文的发送。
其中,队列利用率X是针对多发数据流对应的队列进行统计的。比如,如图4所示,以STA 1为例。假如多发数据流对应的队列为队列1,则评估值为队列1的队列利用率。
其中,链路时延可以针对数据通道、多发数据流或者多发数据流对应的队列进行统计。比如,如图4所示,以第一数据通道和STA 1为例。假如多发数据流A对应的队列为队列1。则,链路时延可以为第一数据通道的链路时延、第一数据通道中多发数据流A的链路时延,或者是第一数据通道中队列1的链路时延。
其中,链路时延的归一化值Y可以为链路时延与预设链路时延最大值之间的比值。比如,预设链路时延最大值为100ms。链路时延用Z表示。若0≤Z≤100ms,则Y=(Z/100ms)*100%。若Z>100ms,则Y=100%。
需要说明的是,本实施例对于预设链路时延、α和β的具体取值不做限定。
可见,X、Y、α*X+β*Y为0到100%之间的数值。
可选的,S602中,发送设备根据调整参考信息调整至少一个数据通道针对第一数据流的发送报文集合,可以包括:
针对两个数据通道分别对应的评估值中的任一评估值,若该评估值小于第一门限值,则发送设备调整该评估值对应的数据通道的发送报文集合为第一报文集合。
若该评估值大于第一门限值,则发送设备根据该评估值调整该评估值对应的数据通道的发送报文集合。
具体的,对于每个数据通道,如果该数据通道对应的评估值小于第一门限值,说明该数据通道不拥塞,可以在该数据通道上发送第一数据流的全部报文。如果该数据通道对应的评估值大于第一门限值,说明该数据通道拥塞。由于数据通道对应的评估值位于0到100%之间,可以根据数据通道对应的评估值按比例调整数据通道的发送报文集合。
比如,数据通道对应的评估值大于第一门限值,该评估值为30%。则可以调整该数据通道的发送报文集合与第一报文集合的比例为30%。即,发送第一数据流的全部报文的30%。假设,第一数据流的报文为100个,依次标记为报文1~报文30。则,通过该数据通道可以发送报文1~30,或者报文71-100,或者报文51-80,等等。
需要说明的是,本实施例对于第一门限值的具体取值不做限定。
可选的,S602中,发送设备根据调整参考信息调整至少一个数据通道针对第一数据流的发送报文集合,还可以包括:
调整其中一个数据通道的发送报文集合为第一报文集合。
在该种实现方式中,可以确保在一个数据通道上可以发送第一数据流的全部报文。通常,该数据通道可以为传输报文速度较快的数据通道。
可选的,在另一种实现方式中,调整参考信息可以包括发送设备向接收设备发送的第一数据流的传输速率。
在该种实现方式中,调整参考信息可以反映针对接收设备的第一数据流的待发送业务量的情况,是否发生突发业务流量。
可选的,S602中,发送设备根据调整参考信息调整至少一个数据通道针对第一数据流的发送报文集合,可以包括:
发送设备调整第一数据通道的发送报文集合为第一报文集合。
可选的,S602中,发送设备根据调整参考信息调整至少一个数据通道针对第一数据流的发送报文集合,可以包括:
若传输速率小于第二门限值,则发送设备调整第二数据通道的发送报文集合为第一报文集合。
若传输速率大于第二门限值,则发送设备根据第二门限值与调整参考信息的比值,调整第二数据通道的发送报文集合。
其中,第二门限值为根据接收设备与发送设备之间针对第二数据通道的协商速率确定的。
在该种实现方式中,发送设备与接收设备之间的两个数据通道可以为第一数据通道和第二数据通道。可以确保其中一个数据通道上(第一数据通道)发送第一数据流的全部报文,根据调整参考信息调整另一个数据通道(第二数据通道)的发送报文集合。可选的,若第一数据通道的报文传输速率较快,若第二数据通道的报文传输速率较慢,则可以确保快速数据通道上可以发送第一数据流的全部报文,只根据调整参考信息调整慢速数据通道的发送报文集合。当传输速率小于第二门限值时,说明没有发生突发数据流。发送设备可以在慢速数据通道上发送第一数据流的全部报文。当传输速率大于第二门限值时,说明发生了突发数据流。发送设备可以根据调整参考信息按比例调整慢速数据通道的发送报文集合。该比例为调整参考信息与第二门限值之间的比值。
可选的,第二门限值小于或者等于接收设备与发送设备之间针对第二数据通道的协商速率。
需要说明的是,本实施例对于第二门限值的具体取值不做限定。
例如,第二数据通道的协商速率为50Mbps/s,第二门限值等于该协商速率,也为50Mbps/s。 发送设备向接收设备发送的第一数据流的传输速率为100Mbps/s。则,发送设备可以调整第二数据通道的发送报文集合为第一报文集合的50%。即,通过第二数据通道发送第一数据流的一半的报文。
本实施例提供一种数据传输方法,包括:发送设备周期性获取调整参考信息,发送设备根据调整参考信息调整至少一个数据通道针对第一数据流的发送报文集合。本实施例提供的数据传输方法,根据调整参考信息调整多发数据流在至少一个数据通道的发送报文集合,提升了数据传输的适应性、效率和效果。
下面以AP为例,对本申请实施例提供的发送设备或者接收设备的软件结构进行示例性说明。
图7为本申请实施例适用的AP的软件架构示意图。以WLAN技术为例进行说明。
如图7所示,AP的软件结构可以包括协议栈711和WLAN驱动模块。其中,协议栈711运行于主CPU71上。WLAN驱动模块可以包括运行于主CPU71上的WLAN驱动模块712。可选的,WLAN驱动模块还可以包括运行于WiFi芯片上的WLAN驱动模块。例如,WiFi芯片72中的WLAN驱动模块721,WiFi芯片73中的WLAN驱动模块731。
协议栈711可以用于接收上行设备(例如HGW)发送的报文,并将报文转发给WLAN驱动模块。WLAN驱动模块可以用于按照802.11协议对报文进行处理,并最终通过WLAN接口722和/或WLAN接口732发送给下行设备(例如STA)。其中,WLAN驱动模块主要在主CPU71上运行,即WLAN驱动模块712。但是,为了减轻主CPU71的处理负担,WiFi芯片上也可以设置WLAN驱动模块,即,WLAN驱动模块721和WLAN驱动模块731。可以将一部分WLAN驱动功能(如帧聚合,MAC层确认报文的接收处理,速率控制等)卸载到WiFi芯片上执行。
需要说明的是,若WiFi芯片上设置WLAN驱动模块,通常,WLAN驱动模块721和WLAN驱动模块731由于通信频段或其他原因无法直接通信。此时,WLAN驱动模块721和WLAN驱动模块731之间的通信需要通过主CPU71上的WLAN驱动模块712进行中转。
可选的,主CPU71与WiFi芯片之间通过高速串行计算机扩展总线标准(peripheral component interconnect express,PCIE)接口连接。
需要说明的是,本实施例对于WiFi芯片的数量不做限定。
图8为本申请实施例一提供的发送设备的结构示意图。本实施例提供的发送设备,用于执行图5所示实施例提供的数据传输方法。如图8所示,本实施例提供的发送设备,可以包括:
获取模块81,用于周期性获取第一报文序列号和第二报文序列号;其中,第一报文序列号为统计周期内接收设备通过发送设备与接收设备之间的第一数据通道接收到的属于第一数据流的报文分别对应的报文序列号中的最大值,第二报文序列号为统计周期内接收设备通过发送设备与接收设备之间的第二数据通道接收到的属于第一数据流的报文分别对应的报文序列号中的最大值,第一数据流的至少一个报文在第一数据通道上和第二数据通道上均进行发送,报文序列号用于指示对应报文在第一数据流中的排列顺序;
处理模块82,用于根据第一报文序列号和第二报文序列号,更新第一数据通道和/或第二数据通道的报文缓存队列。
可选的,处理模块82具体用于:
若第一报文序列号与第二报文序列号之间的差值大于预设阈值,则根据第一报文序列号和第二报文序列号,更新第一数据通道和/或第二数据通道的报文缓存队列。
可选的,处理模块82具体用于:
若第一报文序列号大于第二报文序列号,则在第二数据通道的报文缓存队列中,删除报文序列号小于或者等于第一报文序列号的第一数据流的报文。
可选的,处理模块82具体用于:
若第一报文序列号大于第二报文序列号,且第二数据通道的报文缓存队列中存在目标报文,目标报文为在第一数据通道上尝试发送报文的次数达到预设最大重发次数的报文,则在第二数据通道的报文缓存队列中,删除除目标报文之外的,且报文序列号小于或者等于第一报文序列号的第一数据流的报文。
可选的,获取模块81具体用于:
针对第一数据通道和第二数据通道中的任一数据通道,在统计周期内,通过该数据通道接收接收设备发送的确认消息,该确认消息用于指示接收设备通过该数据通道接收到的报文;
根据该确认消息获取指示接收到的报文的报文序列号;
根据指示接收到的报文的报文序列号,获取第一报文序列号或第二报文序列号。
可选的,获取模块81还用于:
根据该确认消息获取指示接收到的报文所属数据流的流标识;
处理模块82具体用于:
在第一报文序列号对应的流标识与第二报文序列号对应的流标识相同时,根据第一报文序列号和第二报文序列号,更新第一数据通道和/或第二数据通道的报文缓存队列。
可选的,第一数据通道为第一WLAN链路,第二数据通道为第二WLAN链路。
可选的,还包括接收模块83;
接收模块83,用于获取待发送报文;
处理模块82还用于,若确定待发送报文在第一数据通道上和第二数据通道上均进行发送,则将待发送报文分别在第一数据通道和第二数据通道的报文缓存队列中排队。
可选的,若在第一数据通道上和第二数据通道上均进行发送的待发送报文所属的数据流为一个,处理模块82具体用于:
设置待发送报文的优先级高于除待发送报文所属数据流之外的其他数据流的报文的优先级;
根据待发送报文的优先级将待发送报文分别在第一数据通道和第二数据通道的报文缓存队列中排队。
需要说明的是,结合图7和图8,本实施例中的获取模块81、处理模块82可以为图7中的WLAN驱动模块712、驱动模块721和驱动模块731的任意一个。接收模块83可以为图7中的协议栈711。
本实施例提供的发送设备,用于执行图5所示实施例提供的数据传输方法,其技术原理和技术效果类似,此处不再赘述。
图9为本申请实施例二提供的发送设备的结构示意图。本实施例提供的发送设备,用于执行图6所示实施例提供的数据传输方法。如图9所示,本实施例提供的发送设备,可以包括:
获取模块86,用于周期性获取调整参考信息,调整参考信息用于指示发送设备通过发送 设备与接收设备之间的两个数据通道的任一数据通道发送报文时的拥塞状态,或者用于指示发送设备向接收设备发送的第一数据流的传输速率;
处理模块87,用于根据调整参考信息调整至少一个数据通道针对第一数据流的发送报文集合;其中,两个数据通道分别对应的发送报文集合的并集为第一报文集合,第一报文集合包括第一数据流的全部的待发送报文,两个数据通道分别对应的发送报文集合的交集非空。
可选的,调整参考信息包括每个数据通道分别对应的评估值,评估值为下列中的任意一种:
第一数据流对应的队列的队列利用率X;
链路时延的归一化值Y;链路时延的归一化值Y用于指示链路时延与预设链路时延最大值之间的比值,链路时延为数据通道的链路时延、数据通道中第一数据流对应的队列的链路时延,或者数据通道中第一数据流的链路时延;
α*X+β*Y;其中,α为队列利用率对应的权重值,β为链路时延的归一化值Y对应的权重值。
可选的,处理模块87具体用于:
针对两个数据通道分别对应的评估值中的任一评估值,若该评估值小于第一门限值,则调整该评估值对应的数据通道的发送报文集合为第一报文集合;
若该评估值大于第一门限值,则根据该评估值调整该评估值对应的数据通道的发送报文集合。
可选的,调整参考信息包括发送设备向接收设备发送的第一数据流的传输速率,第一数据通道的发送报文集合为第一报文集合;
处理模块87具体用于:
若传输速率小于第二门限值,则调整第二数据通道的发送报文集合为第一报文集合;
若传输速率大于第二门限值,则根据第二门限值与调整参考信息的比值,调整第二数据通道的发送报文集合;
需要说明的是,结合图7和图9,本实施例中的获取模块86和处理模块87可以为图7中的WLAN驱动模块712、驱动模块721和驱动模块731的任意一个。
其中,第二门限值为根据接收设备与发送设备之间针对第二数据通道的协商速率确定的。
本实施例提供的发送设备,用于执行图6所示实施例提供的数据传输方法,其技术原理和技术效果类似,此处不再赘述。
图10为本申请实施例三提供的发送设备的结构示意图。如图10所示,所述发送设备包括处理器91、存储器92和收发器93,所述存储器92用于存储指令,所述收发器93用于和其他设备通信,所述处理器91用于执行所述存储器92中存储的指令,以使所述发送设备执行图5或图6所示实施例中提供的数据传输方法,具体实现方式和技术效果类似,这里不再赘述。
需要说明的是,应理解以上装置的各个模块的划分仅仅是一种逻辑功能的划分,实际实现时可以全部或部分集成到一个物理实体上,也可以物理上分开。且这些模块可以全部以软件通过处理元件调用的形式实现;也可以全部以硬件的形式实现;还可以部分模块通过处理元件调用软件的形式实现,部分模块通过硬件的形式实现。例如,确定模块可以为单独设立的处理元件,也可以集成在上述装置的某一个芯片中实现,此外,也可以以程序代码的形式 存储于上述装置的存储器中,由上述装置的某一个处理元件调用并执行以上确定模块的功能。其它模块的实现与之类似。此外这些模块全部或部分可以集成在一起,也可以独立实现。这里所述的处理元件可以是一种集成电路,具有信号的处理能力。在实现过程中,上述方法的各步骤或以上各个模块可以通过处理器元件中的硬件的集成逻辑电路或者软件形式的指令完成。
例如,以上这些模块可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(application specific integrated circuit,ASIC),或,一个或多个微处理器(digital signal processor,DSP),或,一个或者多个现场可编程门阵列(field programmable gate array,FPGA)等。再如,当以上某个模块通过处理元件调度程序代码的形式实现时,该处理元件可以是通用处理器,例如中央处理器(central processing unit,CPU)或其它可以调用程序代码的处理器。再如,这些模块可以集成在一起,以片上系统(system-on-a-chip,SOC)的形式实现。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘solid state disk(SSD))等。
可选的,本申请实施例还提供一种存储介质,所述存储介质中存储有指令,当其在计算机上运行时,使得计算机执行如上述图5至图6所示实施例的方法。
可选的,本申请实施例还提供一种运行指令的芯片,所述芯片用于执行上述图5至图6所示实施例的方法。
本申请实施例还提供一种程序产品,所述程序产品包括计算机程序,所述计算机程序存储在存储介质中,至少一个处理器可以从所述存储介质读取所述计算机程序,所述至少一个处理器执行所述计算机程序时可实现上述图5至图6所示实施例的方法。

Claims (31)

  1. 一种数据传输方法,其特征在于,包括:
    发送设备周期性获取第一报文序列号和第二报文序列号;其中,所述第一报文序列号为统计周期内接收设备通过所述发送设备与所述接收设备之间的第一数据通道接收到的属于第一数据流的报文分别对应的报文序列号中的最大值,所述第二报文序列号为所述统计周期内所述接收设备通过所述发送设备与所述接收设备之间的第二数据通道接收到的属于所述第一数据流的报文分别对应的报文序列号中的最大值,所述第一数据流的至少一个报文在所述第一数据通道上和所述第二数据通道上均进行发送,所述报文序列号用于指示对应报文在所述第一数据流中的排列顺序;
    所述发送设备根据所述第一报文序列号和所述第二报文序列号,更新所述第一数据通道和/或所述第二数据通道的报文缓存队列。
  2. 根据权利要求1所述的方法,其特征在于,所述发送设备根据所述第一报文序列号和所述第二报文序列号,更新所述第一数据通道和/或所述第二数据通道的报文缓存队列,包括:
    若所述第一报文序列号与所述第二报文序列号之间的差值大于预设阈值,则所述发送设备根据所述第一报文序列号和所述第二报文序列号,更新所述第一数据通道和/或所述第二数据通道的报文缓存队列。
  3. 根据权利要求1或2所述的方法,其特征在于,所述发送设备根据所述第一报文序列号和所述第二报文序列号,更新所述第一数据通道和/或所述第二数据通道的报文缓存队列,包括:
    若所述第一报文序列号大于所述第二报文序列号,则所述发送设备在所述第二数据通道的报文缓存队列中,删除报文序列号小于或者等于所述第一报文序列号的所述第一数据流的报文。
  4. 根据权利要求1或2所述的方法,其特征在于,所述发送设备根据所述第一报文序列号和所述第二报文序列号,更新所述第一数据通道和/或所述第二数据通道的报文缓存队列,包括:
    若所述第一报文序列号大于所述第二报文序列号,且所述第二数据通道的报文缓存队列中存在目标报文,所述目标报文为所述发送设备在所述第一数据通道上尝试发送报文的次数达到预设最大重发次数的报文,则所述发送设备在所述第二数据通道的报文缓存队列中,删除除所述目标报文之外的,且报文序列号小于或者等于所述第一报文序列号的所述第一数据流的报文。
  5. 根据权利要求1-4中任一项所述的方法,其特征在于,所述发送设备周期性获取第一报文序列号和第二报文序列号,包括:
    针对所述第一数据通道和所述第二数据通道中的任一数据通道,在所述统计周期内,所述发送设备通过该数据通道接收所述接收设备发送的确认消息,该确认消息用于指示所述接收设备通过该数据通道接收到的报文;
    所述发送设备根据该确认消息获取指示接收到的报文的报文序列号;
    所述发送设备根据所述指示接收到的报文的报文序列号,获取所述第一报文序列号或所述第二报文序列号。
  6. 根据权利要求5所述的方法,其特征在于,还包括:
    所述发送设备根据该确认消息获取指示接收到的报文所属数据流的流标识;
    所述发送设备根据所述第一报文序列号和所述第二报文序列号,更新所述第一数据通道和/或所述第二数据通道的报文缓存队列,包括:
    在所述第一报文序列号对应的流标识与所述第二报文序列号对应的流标识相同时,根据所述第一报文序列号和所述第二报文序列号,更新所述第一数据通道和/或所述第二数据通道的报文缓存队列。
  7. 根据权利要求5所述的方法,其特征在于,所述第一数据通道为第一无线局域网络WLAN链路,所述第二数据通道为第二WLAN链路。
  8. 根据权利要求1-7中任一项所述的方法,其特征在于,还包括:
    所述发送设备获取待发送报文;
    若确定所述待发送报文在所述第一数据通道上和所述第二数据通道上均进行发送,则所述发送设备将所述待发送报文分别在所述第一数据通道和所述第二数据通道的报文缓存队列中排队。
  9. 根据权利要求8所述的方法,其特征在于,若在所述第一数据通道上和所述第二数据通道上均进行发送的待发送报文所属的数据流为一个,所述发送设备将所述待发送报文分别在所述第一数据通道和所述第二数据通道的报文缓存队列中排队,包括:
    所述发送设备设置所述待发送报文的优先级高于除所述待发送报文所属数据流之外的其他数据流的报文的优先级;
    所述发送设备根据所述待发送报文的优先级将所述待发送报文分别在所述第一数据通道和所述第二数据通道的报文缓存队列中排队。
  10. 一种数据传输方法,其特征在于,包括:
    发送设备周期性获取调整参考信息;
    所述发送设备根据所述调整参考信息调整所述发送设备与接收设备之间的两个数据通道中至少一个所述数据通道针对第一数据流的发送报文集合;其中,所述两个数据通道分别对应的发送报文集合的并集为第一报文集合,所述第一报文集合包括所述第一数据流的全部的待发送报文,所述两个数据通道分别对应的发送报文集合的交集非空。
  11. 根据权利要求10所述的方法,其特征在于,所述调整参考信息用于指示所述两个数据通道的任一数据通道发送报文时的拥塞状态。
  12. 根据权利要求11所述的方法,其特征在于,所述调整参考信息包括每个所述数据通道分别对应的评估值,所述评估值为下列中的任意一种:
    所述第一数据流对应的队列的队列利用率X;
    链路时延的归一化值Y;所述链路时延的归一化值Y用于指示所述链路时延与预设链路时延最大值之间的比值,所述链路时延为所述数据通道的链路时延、所述数据通道中所述第一数据流对应的队列的链路时延,或者所述数据通道中所述第一数据流的链路时延;
    α*X+β*Y;其中,α为所述队列利用率对应的权重值,β为所述链路时延的归一化值Y对应的权重值。
  13. 根据权利要求12所述的方法,其特征在于,所述发送设备根据所述调整参考信息调整所述发送设备与接收设备之间的两个数据通道中至少一个所述数据通道针对第一数据流的发送报文集合,包括:
    针对所述两个数据通道分别对应的评估值中的任一评估值,若该评估值小于第一门限值,则所述发送设备调整该评估值对应的数据通道的发送报文集合为所述第一报文集合;
    若该评估值大于所述第一门限值,则所述发送设备根据该评估值调整该评估值对应的数 据通道的发送报文集合。
  14. 根据权利要求10所述的方法,其特征在于,所述调整参考信息用于指示所述发送设备向接收设备发送的所述第一数据流的传输速率。
  15. 根据权利要求14所述的方法,其特征在于,所述调整参考信息包括所述发送设备向接收设备发送的所述第一数据流的传输速率,第一数据通道的发送报文集合为所述第一报文集合;
    所述发送设备根据所述调整参考信息调整所述发送设备与接收设备之间的两个数据通道中至少一个所述数据通道针对第一数据流的发送报文集合,包括:
    若所述传输速率小于第二门限值,则所述发送设备调整第二数据通道的发送报文集合为所述第一报文集合;
    若所述传输速率大于第二门限值,则所述发送设备根据所述第二门限值与所述调整参考信息的比值,调整第二数据通道的发送报文集合;
    其中,所述第二门限值为根据所述接收设备与所述发送设备之间针对所述第二数据通道的协商速率确定的。
  16. 一种发送设备,其特征在于,包括:
    获取模块,用于周期性获取第一报文序列号和第二报文序列号;其中,所述第一报文序列号为统计周期内接收设备通过发送设备与接收设备之间的第一数据通道接收到的属于第一数据流的报文分别对应的报文序列号中的最大值,所述第二报文序列号为所述统计周期内所述接收设备通过所述发送设备与所述接收设备之间的第二数据通道接收到的属于所述第一数据流的报文分别对应的报文序列号中的最大值,所述第一数据流的至少一个报文在所述第一数据通道上和所述第二数据通道上均进行发送,所述报文序列号用于指示对应报文在所述第一数据流中的排列顺序;
    处理模块,用于根据所述第一报文序列号和所述第二报文序列号,更新所述第一数据通道和/或所述第二数据通道的报文缓存队列。
  17. 根据权利要求16所述的发送设备,其特征在于,所述处理模块具体用于:
    若所述第一报文序列号与所述第二报文序列号之间的差值大于预设阈值,则根据所述第一报文序列号和所述第二报文序列号,更新所述第一数据通道和/或所述第二数据通道的报文缓存队列。
  18. 根据权利要求16或17所述的发送设备,其特征在于,所述处理模块具体用于:
    若所述第一报文序列号大于所述第二报文序列号,则在所述第二数据通道的报文缓存队列中,删除报文序列号小于或者等于所述第一报文序列号的所述第一数据流的报文。
  19. 根据权利要求16或17所述的发送设备,其特征在于,所述处理模块具体用于:
    若所述第一报文序列号大于所述第二报文序列号,且所述第二数据通道的报文缓存队列中存在目标报文,所述目标报文为在所述第一数据通道上尝试发送报文的次数达到预设最大重发次数的报文,则在所述第二数据通道的报文缓存队列中,删除除所述目标报文之外的,且报文序列号小于或者等于所述第一报文序列号的所述第一数据流的报文。
  20. 根据权利要求16-19中任一项所述的发送设备,其特征在于,所述获取模块具体用于:
    针对所述第一数据通道和所述第二数据通道中的任一数据通道,在所述统计周期内,通过该数据通道接收所述接收设备发送的确认消息,该确认消息用于指示所述接收设备通过该数据通道接收到的报文;
    根据该确认消息获取指示接收到的报文的报文序列号;
    根据所述指示接收到的报文的报文序列号,获取所述第一报文序列号或所述第二报文序列号。
  21. 根据权利要求20所述的发送设备,其特征在于,所述获取模块还用于:
    根据该确认消息获取指示接收到的报文所属数据流的流标识;
    所述处理模块具体用于:
    在所述第一报文序列号对应的流标识与所述第二报文序列号对应的流标识相同时,根据所述第一报文序列号和所述第二报文序列号,更新所述第一数据通道和/或所述第二数据通道的报文缓存队列。
  22. 根据权利要求20所述的发送设备,其特征在于,所述第一数据通道为第一无线局域网络WLAN链路,所述第二数据通道为第二WLAN链路。
  23. 根据权利要求16-22中任一项所述的发送设备,其特征在于,还包括接收模块;
    所述接收模块,用于获取待发送报文;
    所述处理模块还用于,若确定所述待发送报文在所述第一数据通道上和所述第二数据通道上均进行发送,则将所述待发送报文分别在所述第一数据通道和所述第二数据通道的报文缓存队列中排队。
  24. 根据权利要求23所述的发送设备,其特征在于,若在所述第一数据通道上和所述第二数据通道上均进行发送的待发送报文所属的数据流为一个,所述处理模块具体用于:
    设置所述待发送报文的优先级高于除所述待发送报文所属数据流之外的其他数据流的报文的优先级;
    根据所述待发送报文的优先级将所述待发送报文分别在所述第一数据通道和所述第二数据通道的报文缓存队列中排队。
  25. 一种发送设备,其特征在于,包括:
    获取模块,用于周期性获取调整参考信息;
    处理模块,用于根据所述调整参考信息调整发送设备与接收设备之间的两个数据通道中至少一个所述数据通道针对第一数据流的发送报文集合;其中,所述两个数据通道分别对应的发送报文集合的并集为第一报文集合,所述第一报文集合包括所述第一数据流的全部的待发送报文,所述两个数据通道分别对应的发送报文集合的交集非空。
  26. 根据权利要求25所述的发送设备,其特征在于,所述调整参考信息用于指示所述两个数据通道的任一数据通道发送报文时的拥塞状态。
  27. 根据权利要求26所述的发送设备,其特征在于,所述调整参考信息包括每个所述数据通道分别对应的评估值,所述评估值为下列中的任意一种:
    所述第一数据流对应的队列的队列利用率X;
    链路时延的归一化值Y;所述链路时延的归一化值Y用于指示所述链路时延与预设链路时延最大值之间的比值,所述链路时延为所述数据通道的链路时延、所述数据通道中所述数据流对应的队列的链路时延,或者所述数据通道中所述第一数据流的链路时延;
    α*X+β*Y;其中,α为所述队列利用率对应的权重值,β为所述链路时延的归一化值Y对应的权重值。
  28. 根据权利要求27所述的发送设备,其特征在于,所述处理模块具体用于:
    针对所述两个数据通道分别对应的评估值中的任一评估值,若该评估值小于第一门限值,则调整该评估值对应的数据通道的发送报文集合为所述第一报文集合;
    若该评估值大于所述第一门限值,则根据该评估值调整该评估值对应的数据通道的发送报文集合。
  29. 根据权利要求25所述的发送设备,其特征在于,所述调整参考信息用于指示所述发送设备向接收设备发送的所述第一数据流的传输速率。
  30. 根据权利要求29所述的发送设备,其特征在于,所述调整参考信息包括所述发送设备向接收设备发送的所述第一数据流的传输速率,第一数据通道的发送报文集合为所述第一报文集合;
    所述处理模块具体用于:
    若所述传输速率小于第二门限值,则调整第二数据通道的发送报文集合为所述第一报文集合;
    若所述传输速率大于第二门限值,则根据所述第二门限值与所述调整参考信息的比值,调整第二数据通道的发送报文集合;
    其中,所述第二门限值为根据所述接收设备与所述发送设备之间针对所述第二数据通道的协商速率确定的。
  31. 一种存储介质,其特征在于,包括:可读存储介质和计算机程序,所述计算机程序用于实现如权利要求1-15中任一项所述的数据传输方法。
PCT/CN2019/105260 2018-09-25 2019-09-11 数据传输方法和设备 WO2020063340A1 (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP19868099.3A EP3846529B1 (en) 2018-09-25 2019-09-11 Data transmission method and device
US17/211,466 US11509597B2 (en) 2018-09-25 2021-03-24 Data transmission method and device

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201811117085.6A CN110944358B (zh) 2018-09-25 2018-09-25 数据传输方法和设备
CN201811117085.6 2018-09-25

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US17/211,466 Continuation US11509597B2 (en) 2018-09-25 2021-03-24 Data transmission method and device

Publications (1)

Publication Number Publication Date
WO2020063340A1 true WO2020063340A1 (zh) 2020-04-02

Family

ID=69904988

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2019/105260 WO2020063340A1 (zh) 2018-09-25 2019-09-11 数据传输方法和设备

Country Status (4)

Country Link
US (1) US11509597B2 (zh)
EP (1) EP3846529B1 (zh)
CN (1) CN110944358B (zh)
WO (1) WO2020063340A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022047742A1 (en) * 2020-09-04 2022-03-10 Arris Enterprises Llc Improve gaming performance for dual wi-fi device

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111385828B (zh) * 2020-05-19 2020-09-15 成都极米科技股份有限公司 无线局域网收发数据的方法、终端和系统及网络接入设备
CN111988240B (zh) * 2020-07-27 2024-03-29 北京北方华创微电子装备有限公司 一种数据发送方法、装置、电子设备及存储介质
US20240014861A1 (en) * 2020-10-13 2024-01-11 Sony Group Corporation Communication apparatus and communication method
CN114095124B (zh) * 2021-11-03 2023-05-12 中国联合网络通信集团有限公司 通信方法、装置及计算机可读存储介质
CN115484517B (zh) * 2022-09-06 2023-06-23 苏州大学 一种无源光网络中线路速率优化方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9094856B1 (en) * 2014-02-25 2015-07-28 Intelligent Fusion Technology, Inc. Routing method for satellite communication network
CN105656798A (zh) * 2016-01-08 2016-06-08 努比亚技术有限公司 数据传输方法、装置、多通道路由方法及用户设备
CN106572013A (zh) * 2016-11-09 2017-04-19 蔡日基 单连接多路由备份的tcp网络系统
CN108234338A (zh) * 2016-12-21 2018-06-29 华为技术有限公司 报文传输方法及混合接入网关

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7031288B2 (en) * 2000-09-12 2006-04-18 Sri International Reduced-overhead protocol for discovering new neighbor nodes and detecting the loss of existing neighbor nodes in a network
US7573827B2 (en) * 2003-05-06 2009-08-11 Hewlett-Packard Development Company, L.P. Method and apparatus for detecting network congestion
US7751404B2 (en) * 2006-10-06 2010-07-06 Broadcom Corporation Method, system, and computer program product for high performance bonding resequencing
CN101541037B (zh) * 2008-03-20 2011-10-26 华为技术有限公司 数据传输方法、数据传输装置及基站
CN101547469B (zh) * 2008-03-24 2011-10-05 华为技术有限公司 一种发送数据的方法、系统和设备
EP2490501A1 (en) * 2011-02-18 2012-08-22 British Telecommunications Public Limited Company Interference and congestion mitigation in a CSMA/CA system
US9264353B2 (en) * 2011-09-22 2016-02-16 Qualcomm Incorporated Dynamic subflow control for a multipath transport connection in a wireless communication network
JP2015097349A (ja) * 2013-11-15 2015-05-21 株式会社日立製作所 送信装置、通信制御方法及び通信システム
CN105379342B (zh) * 2014-02-28 2019-11-29 华为技术有限公司 一种数据重传的方法和装置
CN104954248B (zh) * 2014-03-27 2018-04-20 华为技术有限公司 报文传送保护倒换方法、设备及系统
CN105812415B (zh) * 2014-12-30 2019-02-26 华为技术有限公司 实现负载均衡的方法及存储系统
CN106027413B (zh) * 2015-08-05 2019-04-02 深圳市恒扬数据股份有限公司 报文缓存方法、装置及设备
CN106330414B (zh) * 2016-08-16 2021-03-26 新华三技术有限公司 一种报文传输方法及装置
US10284480B2 (en) * 2016-12-27 2019-05-07 Netflix, Inc. Packet loss tolerant transmission control protocol congestion control
CN108512708B (zh) * 2017-02-24 2023-01-06 中兴通讯股份有限公司 一种缓存计算的方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9094856B1 (en) * 2014-02-25 2015-07-28 Intelligent Fusion Technology, Inc. Routing method for satellite communication network
CN105656798A (zh) * 2016-01-08 2016-06-08 努比亚技术有限公司 数据传输方法、装置、多通道路由方法及用户设备
CN106572013A (zh) * 2016-11-09 2017-04-19 蔡日基 单连接多路由备份的tcp网络系统
CN108234338A (zh) * 2016-12-21 2018-06-29 华为技术有限公司 报文传输方法及混合接入网关

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022047742A1 (en) * 2020-09-04 2022-03-10 Arris Enterprises Llc Improve gaming performance for dual wi-fi device

Also Published As

Publication number Publication date
US11509597B2 (en) 2022-11-22
US20210211390A1 (en) 2021-07-08
EP3846529A4 (en) 2022-03-02
CN110944358A (zh) 2020-03-31
EP3846529A1 (en) 2021-07-07
EP3846529B1 (en) 2023-11-08
CN110944358B (zh) 2021-12-24

Similar Documents

Publication Publication Date Title
WO2020063340A1 (zh) 数据传输方法和设备
US8370546B2 (en) Communication station and method for communicating aggregate MAC service data units (A-MSDU) under a block acknowledge agreement
WO2021185211A1 (zh) 数据传输的方法和装置
WO2021232568A1 (zh) 无线局域网收发数据的方法、终端和系统及网络接入设备
WO2019057154A1 (zh) 数据传输方法、终端设备和网络设备
WO2018082382A1 (zh) 一种混合接入网络中处理报文的方法及网络设备
WO2020063108A1 (zh) 数据传输的方法和装置
WO2020238360A1 (zh) 数据传输方法及装置
KR102267116B1 (ko) 패킷 전송 방법, 프록시 서버 및 컴퓨터 판독가능 저장 매체
WO2019109949A1 (zh) 一种数据传输的方法及设备
CN111066272B (zh) 移动无线电接入网络中的分组延迟减少
WO2016161594A1 (zh) 一种数据传输的方法及装置
WO2022028342A1 (zh) 一种拥塞流的处理方法及设备
WO2022001738A1 (zh) 一种移动边缘计算处理方法以及相关设备
WO2020038341A1 (zh) 多频段传输方法及装置
US10999210B2 (en) Load sharing method and network device
WO2023103847A1 (zh) 一种通信方法、装置及系统
WO2021180141A1 (zh) 通信方法及装置
WO2024032352A1 (zh) 数据处理方法及装置
WO2023207555A1 (zh) 一种通信方法及装置
WO2023039912A1 (zh) 数据传输方法、装置及系统
WO2023184545A1 (zh) 一种数据传输方法及装置、通信设备
JP2018037937A (ja) 通信制御装置、及びパケットスケジューリング方法

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: 19868099

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2019868099

Country of ref document: EP

Effective date: 20210401