[go: up one dir, main page]

WO2023078232A1 - 一种传输方法及装置 - Google Patents

一种传输方法及装置 Download PDF

Info

Publication number
WO2023078232A1
WO2023078232A1 PCT/CN2022/128920 CN2022128920W WO2023078232A1 WO 2023078232 A1 WO2023078232 A1 WO 2023078232A1 CN 2022128920 W CN2022128920 W CN 2022128920W WO 2023078232 A1 WO2023078232 A1 WO 2023078232A1
Authority
WO
WIPO (PCT)
Prior art keywords
channel
time
data packet
sending
transmission delay
Prior art date
Application number
PCT/CN2022/128920
Other languages
English (en)
French (fr)
Inventor
刘卓瑞
王皓
Original Assignee
华为技术有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 华为技术有限公司 filed Critical 华为技术有限公司
Publication of WO2023078232A1 publication Critical patent/WO2023078232A1/zh

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0823Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0823Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability
    • H04L41/0836Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability to enhance reliability, e.g. reduce downtime
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/22Alternate routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/24Multipath
    • H04L45/247Multipath using M:N active or standby paths
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

Definitions

  • the present application relates to the technical field of communications, and in particular to a transmission method and device.
  • transmission delay refers to the time required for the data packet to be transmitted from the sending end to the receiving end.
  • Packet loss means that a data packet sent from the sender does not reach the receiver.
  • Data jitter refers to the difference in transmission delay between data packets. The greater the difference in transmission delay between adjacent data packets, the more obvious the data jitter.
  • data jitter can be reduced by adding a fixed buffer or adding a data transmission channel at the receiving end, or by adding a redundant data transmission channel. Then, when the data transmission capability of the data transmission channel itself is very poor, the data jitter will still be large after adding a fixed buffer. In the case where the data transmission capabilities of the added data transmission channel and the original data transmission channel are quite different, only the data transmission channel with a small transmission delay can be enabled in the end. If the data jitter on the enabled data transmission channel is serious , still cannot solve the problem of data jitter. Therefore, how to reduce data jitter has become an urgent problem to be solved at present.
  • the embodiment of the present application provides a transmission method, the method is applied to the sending end, and the method includes: obtaining the transmission delay difference between the first channel and the second channel, and the first channel and the second channel
  • the second channel represents two different data transmission channels established between the sending end and the receiving end; the first data packet is sent in parallel through the first channel and the second channel, so that the receiving end uses Among the first data packets that can be sent in parallel through the first channel and the second channel, the first data packet that arrives at the receiving end first; wherein, when transmitting data through the first channel and the second channel
  • the moment when the first data packet is sent by the data transmission channel with a smaller delay is the first moment, and the first data is sent through the data transmission channel with a larger data transmission delay among the first channel and the second channel
  • the time of the packet is the second time, the first time is after the second time, and the difference between the first time and the second time is the transmission delay difference.
  • the data on the data transmission channel with a small transmission delay is cached for a certain period of time, and the transmission delay of the two data transmission channels is supplemented to a similar level , so that the data transmission capabilities of the two data transmission channels complement each other, thereby reducing data jitter and improving fluency.
  • the obtaining the transmission delay difference between the first channel and the second channel includes: respectively sending The first signaling and the second signaling, and record the first sending time of sending the first signaling and the second sending time of sending the second signaling; through the first channel and the second channel Respectively receive the first response corresponding to the first signaling and the second response corresponding to the second signaling, and record the first receiving time of receiving the first response and the first receiving time of receiving the second response
  • Two receiving time according to the first sending time, the first receiving time, the second sending time and the second receiving time, determine the transmission delay difference between the first channel and the second channel .
  • the transmission delay difference between the first channel and the second channel can be obtained, so that the transmission delay of the two data transmission channels can be compensated according to the transmission delay difference. Similar level to reduce data jitter.
  • the acquiring the transmission delay difference between the first channel and the second channel includes: A preset time interval is used to acquire the transmission delay difference between the first channel and the second channel.
  • the transmission delay difference can be updated in real time to obtain a more accurate transmission delay difference, so that after the subsequent cache processing, the two data transmission channels can be better connected.
  • the transmission delay is filled to a similar level, which greatly reduces data jitter and improves fluency and user experience.
  • the The second channel sending the first data packet in parallel includes: at the second moment, sending the first data packet through a data transmission channel with a larger transmission delay among the first channel and the second channel ; Buffering the first data packet starting from the second moment, and when the buffering time of the first data packet reaches the transmission delay difference, passing through the first channel and the second A data transmission channel with a smaller transmission delay difference among the channels sends the first data packet.
  • the data packets of the data transmission channel with a small transmission delay are buffered at the sending end, so that the transmission delays of the first channel and the second channel are compensated to a similar level, reducing data jitter, Improved fluency.
  • the first moment is after the second moment
  • the first The difference between a moment and the second moment is the transmission delay difference, including: when the transmission delay difference is less than a preset threshold, the first moment is after the second moment, and The difference between the first moment and the second moment is the transmission delay difference.
  • the embodiment of the present application provides a transmission method, the method is applied to the receiving end, and the method includes: obtaining the transmission delay difference between the first channel and the second channel, the first channel and the second channel
  • the second channel indicates two different data transmission channels established between the sending end and the receiving end, and the sending end is used to send the second data transmission channel to the receiving end through the first channel and the second channel at the same time.
  • the data on the data transmission channel with a small transmission delay is cached for a certain period of time, and the transmission delay of the two data transmission channels is supplemented to a similar level , so that the data transmission capabilities of the two data transmission channels complement each other, thereby reducing data jitter and improving fluency.
  • the acquiring the transmission delay difference between the first channel and the second channel includes: sending The first signaling and the second signaling, and record the first sending time of sending the first signaling and the second sending time of sending the second signaling; through the first channel and the second channel Respectively receive the first response corresponding to the first signaling and the second response corresponding to the second signaling, and record the first receiving time of receiving the first response and the first receiving time of receiving the second response Two receiving time: according to the first sending time, the first receiving time, the second sending time and the second receiving time, determine the transmission delay difference between the first channel and the second channel .
  • the transmission delay difference between the first channel and the second channel can be obtained, so that the transmission delay of the two data transmission channels can be compensated according to the transmission delay difference. Similar level to reduce data jitter.
  • the acquiring the transmission delay difference between the first channel and the second channel includes: A time interval is set, and a transmission delay difference between the first channel and the second channel is obtained.
  • the transmission delay difference can be updated in real time to obtain a more accurate transmission delay difference, so that after the subsequent cache processing, the two data transmission channels can be better connected.
  • the transmission delay is filled to a similar level, which greatly reduces data jitter and improves fluency and user experience.
  • the enabling the sending end to pass through the first channel and the Among the first data packets sent by the second channel at the same time, the first data packet that first satisfies the enabling condition includes: when the transmission delay difference is less than a preset threshold, enabling the sending end to pass through the first channel and the Among the first data packets sent by the second channel at the same time, the first data packet that satisfies the enabling condition first.
  • an embodiment of the present application provides a transmission device, the device is applied to the sending end, and the device includes: an acquisition module, configured to acquire the transmission delay difference between the first channel and the second channel, the The first channel and the second channel represent two different data transmission channels established between the sending end and the receiving end; the sending module is configured to send the first channel in parallel through the first channel and the second channel A data packet, so that the receiving end enables the first data packet that arrives at the receiving end first among the first data packets sent in parallel through the first channel and the second channel; wherein, through the first channel The time when the first data packet is sent by the data transmission channel with the smaller data transmission delay in the second channel is the first time, and the data transmission delay through the first channel and the second channel is relatively large The time when the data transmission channel of the data transmission channel sends the first data packet is the second time, the first time is after the second time, and the difference between the first time and the second time is the transmission Latency difference.
  • the data on the data transmission channel with a small transmission delay is cached for a certain period of time, and the transmission delay of the two data transmission channels is supplemented to a similar level , so that the data transmission capabilities of the two data transmission channels complement each other, thereby reducing data jitter and improving fluency.
  • the acquiring module is further configured to: send the first signaling and the second signaling through the first channel and the second channel respectively, and record the sending The first sending time of the first signaling and the second sending time of sending the second signaling; respectively receiving the first response corresponding to the first signaling through the first channel and the second channel A second response corresponding to the second signaling, and recording the first receiving time of receiving the first response and the second receiving time of receiving the second response; according to the first sending time, the The first receiving time, the second sending time, and the second receiving time are used to determine the transmission delay difference between the first channel and the second channel.
  • the acquiring module is further configured to: acquire the The transmission delay difference between the first channel and the second channel.
  • the sending module is further configured to: At the second moment, the first data packet is sent through the data transmission channel with a larger transmission delay among the first channel and the second channel; the first data packet is buffered starting from the second moment data packet, and when the cache time of the first data packet reaches the transmission delay difference, send the second data transmission channel through the data transmission channel with the smaller transmission delay difference among the first channel and the second channel a packet.
  • the first moment is after the second moment
  • the first The difference between a moment and the second moment is the transmission delay difference, including: when the transmission delay difference is less than a preset threshold, the first moment is after the second moment, and The difference between the first moment and the second moment is the transmission delay difference.
  • an embodiment of the present application provides a transmission device, the device is applied to a receiving end, and the device includes: an acquisition module, configured to acquire the transmission delay difference between the first channel and the second channel, the The first channel and the second channel represent two different data transmission channels established between the sending end and the receiving end, and the sending end is used to transmit The receiving end sends the first data packet; the enabling module is used to enable the first data packet that first meets the enabling condition among the first data packets received through the first channel and the second channel; wherein, For the first data packet received through the data transmission channel with a smaller data transmission delay in the first channel and the second channel, satisfying the enabling condition includes: the first data packet arrives at the receiving end, and the buffering time of the first data packet at the receiving end reaches the transmission delay difference; For the first data packet, meeting the enabling condition includes: the first data packet arrives at the receiving end.
  • the data on the data transmission channel with a small transmission delay is cached for a certain period of time, and the transmission delay of the two data transmission channels is supplemented to a similar level , so that the data transmission capabilities of the two data transmission channels complement each other, thereby reducing data jitter and improving fluency.
  • the obtaining module is further configured to: send the first signaling and the second signaling through the first channel and the second channel respectively, and record the sending The first sending time of the first signaling and the second sending time of sending the second signaling; respectively receiving the first response corresponding to the first signaling through the first channel and the second channel A second response corresponding to the second signaling, and recording the first receiving time of receiving the first response and the second receiving time of receiving the second response; according to the first sending time, the The first receiving time, the second sending time, and the second receiving time are used to determine the transmission delay difference between the first channel and the second channel.
  • the acquiring module is further configured to: acquire the first The transmission delay difference between the first channel and the second channel.
  • the enabling module is further configured to: when the transmission delay difference is less than In the case of a preset threshold, enable the first data packet that first satisfies the enabling condition among the first data packets simultaneously sent by the sending end through the first channel and the second channel.
  • the embodiments of the present application provide an electronic device, which can implement one or more of the transmission methods of the above-mentioned first aspect or multiple possible implementations of the first aspect, or execute the above-mentioned The transmission method of the second aspect or one or more of the multiple possible implementation manners of the second aspect.
  • the embodiments of the present application provide a possible readable storage medium, on which computer program instructions are stored, and when the computer program instructions are executed by a processor, the above first aspect or multiple possible possibilities of the first aspect can be realized.
  • the embodiments of the present application provide a computer program product, including computer readable code, or a non-volatile computer readable storage medium bearing computer readable code, when the computer readable code is stored in an electronic
  • the processor in the electronic device executes the transmission method of the first aspect or one or more of the multiple possible implementations of the first aspect, or executes the second aspect or the second aspect One or several transmission methods among various possible implementations.
  • Figure 1a shows a schematic diagram of data packet transmission in the related art
  • Figure 1b shows a schematic diagram of the transmission of data packets in the embodiment of the present application
  • FIG. 2 shows a schematic diagram of the architecture of the transmission system provided by the embodiment of the present application
  • FIG. 3a shows a flowchart of a transmission method provided by an embodiment of the present application
  • Figure 3b shows a flow chart of the transmission method provided by the embodiment of the present application.
  • FIG. 4 shows a schematic structural diagram of an electronic device provided by an embodiment of the present application
  • FIG. 5 shows a schematic diagram of an interaction flow of a transmission method provided by an embodiment of the present application
  • FIG. 6 shows a schematic diagram of an interaction flow of a transmission method provided by an embodiment of the present application
  • Fig. 7a shows a schematic structural diagram of a transmission device provided by an embodiment of the present application.
  • Fig. 7b shows a schematic structural diagram of a transmission device provided by an embodiment of the present application.
  • FIG. 8 shows a schematic structural diagram of an electronic device provided by an embodiment of the present application.
  • Fig. 1a shows a schematic diagram of data packet transmission in the related art.
  • two different data transmission channels Channel A and Channel B, are established between the sending end and the receiving end.
  • Both Channel A and Channel B have data jitter issues.
  • the transmission delay of channel A is much smaller than that of channel B.
  • the sender sends data packets 1 to 5 at the same time interval.
  • the box numbered 1 represents data packet 1
  • the box numbered 2 represents data packet 2
  • the box numbered 5 represents data packet 5.
  • the time interval between adjacent data packets arriving at the receiving end is different, for example, the time interval between data packet 1 and data packet 2 arriving at the receiving end is different from 2 is different from the time interval for packet 3 to arrive at the receiving end.
  • the time interval for the vector data packet to reach the receiving end is also different.
  • channel A Because the transmission delay of channel A is much smaller than that of channel B. Therefore, when the sending end sends a data packet through channel A and channel B at the same time, the time when the data packet is transmitted through channel A and reaches the receiving end is before the time when the data packet is transmitted through channel B and reaches the receiving end.
  • the packet has always been a data packet transmitted through channel A, and there is still the problem of data jitter. It can be seen that the introduction of channel B does not eliminate the original data jitter problem.
  • the sending end sends data packets 1 to 5 sequentially through channel A and channel B at the same time.
  • Packet 1 on channel A arrives at the receiver before packet 1 on channel B.
  • the receiving end enables is the data packet 1 transmitted by channel A (as shown by the gray box in Figure 1a).
  • the receiving end also enables data packets 2 to 5 transmitted by channel A.
  • data jitter occurs when data packets 1 to 5 are transmitted on channel A. Therefore, the data packets enabled by the receiving end still have data jitter, causing the receiving end to freeze and not smooth when playing audio and video.
  • the embodiment of the present application provides a transmission method.
  • the data on the data transmission channel with a small transmission delay is cached for a certain period of time, and the two data transmissions
  • the transmission delay of the channel is filled to a similar level, so that the data transmission capabilities of the two data transmission channels complement each other, thereby reducing data jitter and improving fluency.
  • FIG. 1b shows a schematic diagram of data packet transmission in the embodiment of the present application.
  • the sending end receives data packet 1 through channel A at time t1+T, and sends data packet 1 through channel B at time t1.
  • the time difference between when data packet 1 arrives at the receiving end after being transmitted through channel A and channel B is relatively small.
  • the time difference between data packets 2 to 5 arriving at the receiving end after being transmitted through channel A and channel B is relatively small.
  • what the receiving end enables is the data packet that reaches the receiving end first among the data packets sent in parallel through channel A and channel B, that is: data packet 1 transmitted by channel A, data packet 2 transmitted by channel B, Data packet 3 transmitted by channel A, data packet 4 transmitted by channel B, and data packet 5 transmitted by channel A. It can be seen that the difference in arrival time between adjacent data packets enabled at the receiving end is small, which reduces data jitter and improves fluency.
  • the transmission method provided in the embodiment of the present application may be applied to electronic devices.
  • the electronic device can be a sending end that initiates the data packet transmission across devices and sends the data packet, and can also be a receiving end that receives the data packet.
  • an electronic device may be a sender in one scenario, and may also be a receiver in another scenario, that is to say, for an electronic device, it may be a sender of another electronic device. end, and possibly the receiving end of another electronic device.
  • the electronic devices involved in this application may refer to devices with wireless connection function, and the wireless connection function means that it can be connected with other electronic devices through wireless connection methods such as wifi and bluetooth.
  • the electronic device of the present application may also have the function of performing communication through a wired connection.
  • the terminal device of the present application can be a touch screen, or a non-touch screen, or have no screen, and the touch screen can control the terminal device by clicking and sliding on the display screen with a finger, a stylus, etc.
  • Non-touch screen devices can be connected to input devices such as mouse, keyboard, touch panel, etc., and terminal devices can be controlled through input devices.
  • Devices without screens can be Bluetooth speakers without screens, for example.
  • the electronic device in this application may be a smart phone, netbook, tablet computer, notebook computer, wearable electronic device (such as smart bracelet, smart watch, etc.), TV, virtual reality device, stereo, electronic ink, etc. .
  • Fig. 2 shows a schematic diagram of the architecture of the transmission system provided by the embodiment of the present application.
  • the transmission system includes a first device 21 , a second device 22 , a first channel 23 and a second channel 24 .
  • the first device 21 is the sending end of the data packet
  • the second device 22 may be the receiving end of the data packet
  • the first channel 23 and the second channel 24 are two channels established between the first device 21 and the second device 22.
  • the transmission protocols adopted by the first channel 23 and the second channel 24 may be the same or different.
  • the first channel 23 may be a p2p data transmission channel
  • the second channel 24 may be a wlan data transmission channel.
  • the first channel 23 and the second channel 24 may both be p2p data transmission channels, and the first channel 23 and the second channel 24 may also both be wlan data transmission channels. It can be understood that the first channel 23 and the second channel 24 may also be channels using other transmission protocols, which is not limited in this application.
  • Fig. 3a shows a flow chart of the transmission method provided by the embodiment of the present application. This method can be applied to the sending end, for example, the first device 21 shown in FIG. 2 . As shown in Figure 3a, the method may include:
  • Step S301 acquiring the transmission delay difference between the first channel and the second channel.
  • the first channel and the second channel represent two different data transmission channels established between the sending end and the receiving end.
  • the sending end may send data packets to the receiving end in parallel through the first channel and the second channel.
  • the transmission delay difference between the first channel and the second channel may represent a difference between the transmission delay when the first data packet is transmitted through the first channel and the transmission delay when the data packet is transmitted through the second channel.
  • the first data packet may represent any data packet.
  • the first data packet may be video data, audio data, instant chat data, etc.
  • the embodiment of the present application does not limit the data packet.
  • step S301 may include: sending the first signaling and the second signaling through the first channel and the second channel respectively, and recording the first sending time of sending the first signaling and the sending time of the second signaling.
  • the second sending time of the second signaling respectively receive the first response corresponding to the first signaling and the second response corresponding to the second signaling through the first channel and the second channel, and record the first reception of the first response Time and the second receiving time of receiving the second response; according to the first sending time, the first receiving time, the second sending time and the second receiving time, determine the transmission delay difference between the first channel and the second channel.
  • the first signaling may represent the control signaling sent through the first channel
  • the second signaling may represent the control signaling sent through the second channel.
  • the first sending time may indicate the sending time of the first signaling
  • the second sending time may indicate the sending time of the second signaling.
  • the electronic device can send the first signaling and the second signaling at the same time, or send the first signaling first and then the second signaling, or send the second signaling first and then the first signaling. Therefore, the first signaling The time and the second sending time may or may not be the same. In this embodiment of the present application, there is no limitation on the sending order of the first signaling and the second signaling.
  • the first response may be used to represent the response message returned by the electronic device that received the first signaling in response to the first signaling
  • the second response may represent the response returned by the electronic device that received the second signaling in response to the second signaling information. It can be understood that the first response is returned through the first channel, and the second response is returned through the second channel.
  • First Response and Second Response The first receiving time indicates the time when the electronic device sending the first signaling receives the first response, and the second receiving time indicates the time when the electronic device sending the second signaling receives the second response.
  • the transmission delay of the first channel is (first receiving time-first sending time)/2
  • the transmission delay of the second channel is (second receiving time-second sending time)/2
  • the second channel The transmission delay difference between the first channel and the second channel is the absolute value of the difference between the transmission delay of the first channel and the transmission delay of the second channel. It can be seen that the transmission delay difference between the first channel and the second channel is
  • first and “second” are only used for distinction, and no other limitation is intended.
  • first and “second” in “first channel” and “second channel” are only used to distinguish different data transmission channels;
  • first signaling” and “second signaling” are only used to distinguish different control information;
  • first” and “second” in “first sending time” and “second sending time” are only used to distinguish different sending times;
  • “First” and “Second” in “First Response” and “Second Response” are only used to distinguish different response messages;
  • First” and “Second Reception Time” in “First Reception Time” and “Second” is only used to distinguish different reception times.
  • the electronic device may acquire the transmission delay difference between the first channel and the second channel at preset time intervals.
  • the preset time interval can be set as required, for example, it can be set to 10 seconds, 1 minute, 1 hour, or 1 day.
  • the electronic device may trigger a timer after acquiring the transmission delay difference between the first channel and the second channel, and reacquire the first channel and the second channel when the time of the timer reaches a preset time interval.
  • the transmission delay difference of the channel may trigger a timer after sending the first signaling and the second signaling, and resend the first information and the second signaling when the timer reaches a preset time interval , to update the transmission delay difference between the first channel and the second channel.
  • the transmission delay difference can be updated in real time to obtain a more accurate transmission delay difference, so that after the subsequent cache processing, the two data transmission channels can be better connected.
  • the transmission delay is filled to a similar level, which greatly reduces data jitter and improves fluency and user experience.
  • the smaller the preset time interval the higher the accuracy of the obtained transmission delay difference, but the more computing resources and communication resources are occupied; the larger the preset time interval, the more computing resources and communication resources are occupied. The less, but the accuracy of the obtained transmission delay difference is worse. Therefore, for scenarios with large network fluctuations and large changes in the communication environment, a smaller preset time interval can be set to improve the accuracy of the transmission delay difference. For scenarios where the network environment and communication environment are relatively stable, a larger time interval can be set to save resources.
  • the timer may not be started, that is, the same transmission delay difference is always used to cache the data packets.
  • a fixed buffer can be set, which can further save resources, and does not need to repeatedly send signaling, repeatedly record time, and repeatedly calculate transmission delay differences.
  • the effect is more obvious.
  • Step S302 sending the first data packet in parallel through the first channel and the second channel, so that the receiving end enables the first data packet sent in parallel through the first channel and the second channel
  • the first data packet that arrives at the receiving end first wherein the time when the first data packet is sent through the data transmission channel with a smaller data transmission delay in the first channel and the second channel is the first time,
  • the time when the first data packet is sent through the data transmission channel with a relatively large data transmission delay among the first channel and the second channel is the second time, and the first time is after the second time,
  • the difference between the first moment and the second moment is the transmission delay difference.
  • the third channel is used to represent the data transmission channel with a smaller transmission delay among the first channel and the second channel
  • the fourth channel is used to represent the first channel and the second channel.
  • the first channel and the second channel transmit the first data packet in parallel. That is to say, the first data packet will be transmitted through the first channel and the second channel respectively. It can be understood that when the first data packet is transmitted in the data transmission channel (that is, the third channel) with a small transmission delay in the first channel and the second channel, the transmission time used by the first data packet is shorter than that of the first data packet in the first channel.
  • the transmission duration used for transmission in the data transmission channel (that is, the fourth channel) with a relatively large transmission delay in the channel and the second channel. Therefore, before sending the first data packet through the third channel, the sending end can first buffer the first data packet, and send the first data through the third channel when the buffering time of the first data packet reaches the transmission delay difference Bag.
  • the sending end when sending the first data packet through the fourth channel, the sending end does not need to buffer the first data packet. In this way, the time for the first data packet to reach the receiving end after being transmitted through the two data transmission channels can be pulled to a similar level. Since the receiving end enables the first data packet that arrives at the receiving end first among the first data packets sent in parallel through the first channel and the second channel, and the buffered first data packet at the sending end arrives after being transmitted through two data transmission channels The time at the receiving end is pulled to a similar level, so the first data packet that arrives at the receiving end first may be the first data packet sent through the first channel or the first data packet sent through the second channel, that is, the receiving end The enabled first data packet may be the first data packet sent through the first channel or the data packet sent through the second channel, which realizes the complementary data transmission capabilities of the first channel and the second channel, thereby reducing data Jitter to improve fluency.
  • the time when the sender sends the first data packet through the third channel is taken as the first time
  • the time when the sender sends the first data packet through the fourth channel is taken as the second time
  • the first time needs After the second moment, and the difference between the first moment and the second moment is the transmission delay difference, so that the time for the first data packet to reach the receiving end after being transmitted through the two data transmission channels is pulled to a similar level.
  • step S302 may include: at the second moment, sending the first data packet through the fourth channel; starting from the second moment, buffering the first data packet, and When the buffer time reaches the transmission delay difference, the first data packet is sent through the third channel.
  • the first moment when the sender sends the first data packet through the third channel is after the second moment when the sender sends the first data packet through the fourth channel, and the difference between the first moment and the second moment is the transmission delay , so that the time for the first data packet to arrive at the receiving end after being transmitted through the two data transmission channels is pulled to a similar level.
  • the data on the data transmission channel with a small transmission delay is cached for a certain period of time, and the transmission delay of the two data transmission channels is supplemented to a similar level , so that the data transmission capabilities of the two data transmission channels complement each other, thereby reducing data jitter and improving fluency.
  • the first moment in step S302 is after the second moment
  • the difference between the first moment and the second moment is that the transmission delay difference
  • the transmission delay difference may include : When the transmission delay difference is less than a preset threshold, the first moment is after the second moment, and the difference between the first moment and the second moment is the transmission delay Difference.
  • the preset threshold can be set as required.
  • the preset threshold can be set to 10 milliseconds, 100 milliseconds, 1 second and so on. In this way, the transmission delay difference can be limited within a certain range, and the real-time performance will not be affected when the transmission delay difference is small. If the transmission delay difference is greater than the preset threshold, it needs to be cached for a long time, so that the data packets cannot be submitted for a long time, thus affecting the real-time performance. Fluency and real-time can be balanced by setting preset thresholds.
  • the sending end may send the first data packet through the third channel instead of sending the first data packet through the fourth channel. In this way, resources can be saved.
  • FIG. 4 shows a schematic structural diagram of an electronic device provided by an embodiment of the present application.
  • the electronic device includes a service module 41 , a channel management module 42 , a control signaling management module 43 and an interface module 44 .
  • the business module 41 is used for processing business.
  • the service module 41 may include an encoder for encoding service data such as video data and audio data to obtain data packets.
  • the channel management module 42 submits the encoded data packet to the receiving end.
  • the channel management module 42 can be used to manage data transmission channels.
  • the channel management module 42 determines which data transmission channel the first data packet is sent from, and sends the first data packet through the determined data transmission channel. Take channel management module 42 to manage the first channel and the second channel as an example.
  • channel management module 42 can send the first data packet from the first channel or the second channel.
  • the first data packet may also be sent in parallel from the first channel and the second channel.
  • the channel management module 42 may first obtain the transmission delay difference between the first channel and the second channel.
  • the service module 41 provides the first data packet encoded by the encoder to the channel management module 42 .
  • the channel management module 42 After the channel management module 42 obtains the first data packet through the encoder, it will send it to the receiving end through the fourth channel (ie, the data transmission channel with a relatively large transmission delay among the first channel and the second channel) at the second moment.
  • the channel management module buffers the first data packet with the second moment as the starting time, and when the buffering time of the first data packet reaches the transmission delay difference, the third channel of the channel (that is, the first channel and the second channel) The data transmission channel with the smaller transmission delay among the two channels) sends the first data packet to the receiving end.
  • the first data packet on the data transmission channel that requires a small transmission delay is buffered for a certain period of time before being sent, and the transmission delays of the two data transmission channels are filled to a similar level, so that the two data packets
  • the data transmission capabilities of the transmission channels are complementary, thereby reducing data jitter and improving fluency.
  • the second time may be the time when the channel management module 42 obtains the first data packet.
  • the channel management module 42 is connected to the interface module 44 .
  • the interface module 44 can be used to connect the data transmission channel.
  • the interface module 44 may include multiple transceiver interfaces, and each transceiver interface is connected to a data transmission channel.
  • the interface module 44 may include a first channel interface 441 and a second channel interface 442 .
  • the first channel interface 441 represents the transceiver interface of the first channel
  • the second channel interface 442 represents the transceiver interface of the second channel.
  • the transmission delay difference between the first channel and the second channel is T
  • the sending end sends data packet 1 to the receiving end as an example (that is, the first channel is The third channel, the second channel is the fourth channel, and data packet 1 is the first data packet as an example).
  • the channel management module 42 obtains the data packet 1 through the encoder.
  • the channel management module 42 sends the data packet 1 out of the second channel interface 44 at the time t1 (ie, the second time), so that the data packet 1 is sent to the receiving end through the second channel at the time t1.
  • the channel management module 42 caches the data packet 1 with the time t1 as the initial moment, and sends the data packet 1 through the first channel interface 44 after the cache time of the data packet 1 reaches T, so that at the time t1+T (i.e. First moment) Send data packet 1 to the receiving end through the first channel.
  • the sender delays sending data packet 1 in the first channel, so that data packet 1 arrives through the first channel
  • the difference between the time of the receiving end and the time when data packet 1 arrives at the receiving end through the second channel is small, and the transmission delays of the first channel and the second channel are compensated to a similar level.
  • the data packet 1 transmitted through the first channel and the second channel The data packet 1 transmitted by the two channels has the opportunity to be enabled at the receiving end, which reduces data jitter and improves fluency.
  • the channel management module 42 is connected to the control signaling management module 43 .
  • the control signaling management module 43 may be used to generate control signaling.
  • the control signaling management module 43 may generate the first signaling and the second signaling.
  • the first signaling may represent the control signaling transmitted through the first channel
  • the second signaling may represent the control signaling transmitted through the second channel.
  • the channel management module 42 may manage the distribution of the control signaling generated by the control signaling management module 43 .
  • the channel management module 42 may send the first signaling through the first channel interface 441, so as to send the first signaling to the receiving end through the first channel.
  • the channel management module 42 may record the first sending time of sending the first signaling.
  • the channel management module 42 may record the first receiving time of receiving the first response.
  • the channel management module 42 can send the second signaling through the second channel interface 442, receive the second response, and record the second sending time and the second receiving time.
  • the channel management module 42 may determine the transmission delay difference between the first channel and the second channel according to the recorded first sending time, first receiving time, second sending time, and second receiving time.
  • FIG. 5 shows a schematic diagram of an interaction process of a transmission method provided by an embodiment of the present application. This method can be applied to the system shown in FIG. 2 . As shown in Figure 5, the method may include:
  • step S500 a first channel and a second channel are established between the first device and the second device.
  • Step S501 the first device sends the first signaling through the first channel, and records the first sending time of sending the first signaling.
  • step S502 the second device returns a first response through the first channel in response to the received first signaling.
  • Step S503 the first device receives the first response, and records the first receiving time when the first response is received.
  • Step S504 the first device sends the second signaling through the second channel, and records the second sending time of sending the second signaling.
  • Step S505 the second device returns a second response through the second channel in response to the received first signaling.
  • Step S506 the first device receives the second response, and records the second receiving time when the second response is received.
  • Step S507 the first device determines the transmission delay difference between the first channel and the second channel according to the first sending time, the first receiving time, the second sending time, and the second receiving time.
  • step S508 the first device sends the first data packet through the data transmission channel with a larger transmission delay among the first channel and the second channel at the second moment.
  • Step S509 the first device caches the first data packet starting from the second moment, and when the buffering time of the first data packet reaches the transmission delay difference, the transmission delay difference between the first channel and the second channel is relatively small.
  • the small data transmission channel sends the first data packet.
  • step S510 the second device enables the first data packet that arrives at the second device first among the first data packets sent in parallel through the first channel and the second channel.
  • the second device when the second device receives the first data packet sent through the first channel, if the second device does not receive the first data packet sent through the second channel, the second device enables The first packet sent. Subsequently, when the second device receives the first data packet sent through the second channel, the second device may discard the first data packet sent through the second channel. When the second device receives the first data packet sent through the first channel, if the second device has received the first data packet sent through the second channel, the second device may discard the first data sent through the first channel Bag.
  • the second device when the second device receives the first data packet sent through the second channel, if the second device does not receive the first data packet sent through the first channel, the second device enables The first packet sent by the channel. Subsequently, when the second device receives the first data packet sent through the first channel, the second device may discard the first data packet sent through the first channel. When the second device receives the first data packet sent through the second channel, if the second device has received the first data packet sent through the first channel, the second device may discard the first data sent through the second channel Bag.
  • the first data packet may be the first data packet sent via the first channel, or the first data packet sent via the second channel, which reduces data jitter and improves fluency.
  • Fig. 3b shows a flow chart of the transmission method provided by the embodiment of the present application.
  • the method can be applied to the receiving end, such as the second device 22 shown in FIG. 2, as shown in FIG. 3b, the method can include:
  • Step S303 acquiring the transmission delay difference between the first channel and the second channel.
  • step S301 the transmitting end obtains the transmission delay difference between the first channel and the second channel by sending the first signaling and the second signaling.
  • step S301 and step S303 the manner of acquiring the transmission delay difference between the first channel and the second channel is the same.
  • step S303 the receiving end obtains the transmission delay difference between the first channel and the second channel by sending the first signaling and the second signaling.
  • the difference between step S301 and step S303 lies in that the devices for sending the first signaling and the second signaling are different, and the difference in transmission delay for obtaining the first channel and the second channel is different.
  • step S303 reference may be made to step S301, which will not be repeated here.
  • Step S304 enabling the first data packet first satisfying the enabling condition among the first data packets received through the first channel and the second channel.
  • satisfying the enabling condition includes: the first data packet arrives at the at the receiving end, and the buffering time of the first data packet at the receiving end reaches the transmission delay difference; for receiving through the data transmission channel with a larger transmission delay in the first channel and the second channel Satisfying the enabling condition includes: the first data packet arrives at the receiving end.
  • the data received through the data transmission channel with a smaller transmission delay is buffered for a period of time, so that when the transmission of the two data transmission channels After the delay is filled to a similar level, it is determined whether to enable the first received data packet, so that the data transmission capabilities of the two data transmission channels complement each other, thereby reducing data jitter and improving fluency.
  • the first data packet is transmitted relatively quickly in the third channel (that is, the data transmission channel with a small transmission delay in the first channel and the second channel)
  • the first data packet is transmitted in the fourth channel (that is, in the first channel) Therefore, when the sending end sends the first data packet to the receiving end through the first channel and the second channel at the same time, the receiving end cannot pass through the first channel and the second channel at the same time.
  • the second channel receives the first data packet, and the receiving end is more likely to receive the first data packet through the third channel first, and then receive the first data packet through the fourth channel.
  • the receiving end is receiving the first data packet through the third channel
  • the receiving end is likely to enable The first data packet received through the third channel, at this time, the probability that the first data packet received by the receiving end through the fourth channel is enabled is extremely low, and the data jitter of the third channel cannot be eliminated.
  • the receiving end when the receiving end receives the first data packet through the third channel, it buffers the first data packet, and when the buffering time of the first data packet reaches the transmission delay difference, it is determined to pass the third channel
  • the first packet received by the channel satisfies the enable condition.
  • the receiving end determines that the first data packet received through the fourth channel satisfies the enabling condition. Therefore, whether to enable the received first data packet is determined after the transmission delays of the two data transmission channels are compensated to a similar level. In this way, the first data packet transmitted through the fourth channel is given a chance to be enabled, so that the data transmission capabilities of the two data transmission channels are complementary, thereby reducing data jitter and improving fluency.
  • step S304 may include: when the transmission delay difference is less than a preset threshold, enabling the sending end to simultaneously send the first channel through the first channel and the second channel.
  • the receiving end may enable the first data packet that arrives earlier among the first data packets sent through the first channel and the second channel. In this way, real-time performance can be improved.
  • the service module 41 may include a decoder for decoding the data packets submitted by the channel management module 42 to obtain service data such as video data and audio data, thereby performing video or audio processing. play.
  • the channel management module 42 can be used to manage data transmission channels. When receiving the first data packet, the channel management module 42 can determine which data transmission channel the first data packet comes from. The channel management module 42 manages the first channel and the second channel as an example, the channel management module may receive the first data packet from the first channel, and may also receive the first data packet from the second channel. As shown in FIG. 4 , the channel management module 42 is connected to the interface module 44 . The channel management module 44 may determine the first data packet received from the first channel interface 441 as the first data packet received through the first channel, and determine the first data packet received from the second channel interface 442 as the first data packet received through the first channel interface 442. The first packet received by the second channel.
  • the channel management module 42 may first obtain the transmission delay difference between the first channel and the second channel.
  • the channel management module 42 receives the first data packet through the third channel (that is, the data transmission channel with less transmission delay in the first channel and the second channel)
  • it can buffer the data packet, and
  • the buffering time reaches the transmission delay difference, it is determined that the first data packet satisfies the enabling condition.
  • the channel management module 42 receives the first data packet through the fourth channel (that is, the data transmission channel with a relatively large transmission delay in the first channel and the second channel), it can directly determine that the first data packet meets the enabling condition .
  • the channel management module 42 can enable the first data packet that satisfies the enabling condition first among the first data packets received through the first channel and the second channel, and send the enabled first data packet to The decoder performs decoding processing.
  • the first data packet on the data transmission channel with a smaller transmission delay is buffered for a certain period of time before determining whether to enable it, so that the transmission delays of the two data transmission channels can be supplemented to a similar level, so that The data transmission capabilities of the two data transmission channels complement each other, thereby reducing data jitter and improving fluency.
  • the transmission delay difference between the first channel and the second channel is T
  • the sending end sends data packet 1 to the receiving end as an example.
  • the sending end sends data packet 1 through the first channel and the second channel at the same time at time t3.
  • the channel management module 42 receives the data packet 1 through the first channel at time t3, the channel management module 42 caches the data packet 1, and determines that the data packet 1 satisfies the enabling condition after the cache time of the data packet 1 reaches T, thereby determining to pass
  • the data packet 1 received by the first channel satisfies the enable condition at time t3+T.
  • the channel management module 42 determines that the data packet 1 received through the second channel satisfies the enabling condition at time t4. If the time t3+T is before the time t4, the channel management module 42 enables the data packet 1 received through the first channel, and discards the data packet 1 received through the second channel. If the time t3+T is after the time t4, the channel management module 42 discards the data packet 1 received through the first channel, and enables the data packet 1 received through the second channel.
  • the receiving end receives data packet 1 from the first channel for T time Cache, which fills the transmission delay of the first channel and the second channel to a similar level, so that the time t3+T may be before the time t4, or after the time t4, the data packet 1 transmitted through the first channel
  • Both data packet 1 and data packet 1 transmitted through the second channel have the opportunity to be enabled, which reduces data jitter and improves fluency.
  • the channel management module 42 obtains the process of the transmission delay difference. You can refer to the scenario in which the electronic device shown in FIG. 4 is applied to the sending end. The delay process will not be repeated here.
  • FIG. 6 shows a schematic diagram of an interaction process of a transmission method provided by an embodiment of the present application. This method can be applied to the system shown in FIG. 2 . As shown in Figure 6, the method may include:
  • step S600 a first channel and a second channel are established between the first device and the second device.
  • Step S601 the second device sends the first signaling through the first channel, and records the first sending time of sending the first signaling.
  • step S602 the first device returns a first response through the first channel in response to the received first signaling.
  • Step S603 the second device receives the first response, and records the first receiving time when the first response is received.
  • Step S604 the second device sends the second signaling through the second channel, and records the second sending time of sending the second signaling.
  • Step S605 the first device returns a second response through the second channel in response to the received second signaling.
  • Step S606 the second device receives the second response, and records a second receiving time when the second response is received.
  • Step S607 the second device determines the transmission delay difference between the first channel and the second channel according to the first sending time, the first receiving time, the second sending time, and the second receiving time.
  • Step S608 the first device sends the first data packet to the second device through the first channel and the second channel at the same time.
  • Step S609 when the second device receives the first data packet through the data transmission channel with a smaller transmission delay in the first channel and the second channel, it buffers the first data packet, and reaches the transmission at the buffering time of the first data packet In the case of poor delay, it is determined that the first data packet satisfies the enabling condition.
  • step S610 the second device determines that the first data packet satisfies an enabling condition when receiving the first data packet through a data transmission path with a relatively large transmission delay among the first path and the second path.
  • step S611 the second device enables the first data packet that first satisfies the enabling condition among the first data packets received through the first channel and the second channel.
  • the data packets of the data transmission channel with a small transmission delay are buffered at the receiving end, so that the transmission delays of the first channel and the second channel are compensated to a similar level, reducing data jitter, Improved fluency.
  • Fig. 7a shows a schematic structural diagram of a transmission device provided by an embodiment of the present application. This apparatus can be applied to the sending end, for example, the first device 21 shown in FIG. 2 . As shown in Figure 7a, the device 70 may include:
  • An acquisition module 71 configured to acquire a transmission delay difference between a first channel and a second channel, the first channel and the second channel representing two different data transmission channels established between the sending end and the receiving end ;
  • a sending module 72 configured to send a first data packet in parallel through the first channel and the second channel, so that the receiving end enables the first data packet sent in parallel through the first channel and the second channel Among the data packets, the first data packet that arrives at the receiving end first;
  • the moment when the first data packet is sent through the data transmission path with a smaller data transmission delay among the first path and the second path is the first moment
  • the moment through the first path and the second path is
  • the time when the first data packet is sent by the data transmission channel with a relatively large data transmission delay in the channel is the second time
  • the first time is after the second time
  • the first time is the same as the second time
  • the time difference is the transmission delay difference.
  • the acquisition module is also used for:
  • the acquisition module is also used for:
  • the sending module is also used for:
  • the first moment is after the second moment
  • the difference between the first moment and the second moment is the transmission delay difference, including:
  • the first moment is after the second moment, and the difference between the first moment and the second moment is the transmission delay difference .
  • the data on the data transmission channel with a small transmission delay is cached for a certain period of time, and the transmission delay of the two data transmission channels is supplemented to a similar level , so that the data transmission capabilities of the two data transmission channels complement each other, thereby reducing data jitter and improving fluency.
  • An embodiment of the present application provides an electronic device, including: a processor, a cache for caching data packets, and a memory for storing instructions executable by the processor; wherein the processor is configured to execute the instructions implement the above method.
  • Fig. 7b shows a schematic structural diagram of a transmission device provided by an embodiment of the present application. This apparatus can be applied to a receiving end, such as the second device 22 shown in FIG. 2 . As shown in Figure 7a, the device 90 may include:
  • An acquisition module 91 configured to acquire the transmission delay difference between the first channel and the second channel, where the first channel and the second channel represent two different data transmission channels established between the sending end and the receiving end , the sending end is configured to simultaneously send a first data packet to the receiving end through the first channel and the second channel;
  • An enabling module 92 configured to enable a first data packet that first satisfies an enabling condition among the first data packets received through the first channel and the second channel;
  • satisfying the enabling condition includes: the first data packet arrives at the The receiving end, and the buffering time of the first data packet at the receiving end reaches the transmission delay difference;
  • satisfying the enabling condition includes: the first data packet arrives at the receiving end .
  • the acquisition module is also used for:
  • the acquisition module is also used for:
  • the enabling module is also used for:
  • the data on the data transmission channel with a small transmission delay is cached for a certain period of time, and the transmission delay of the two data transmission channels is supplemented to a similar level , so that the data transmission capabilities of the two data transmission channels complement each other, thereby reducing data jitter and improving fluency.
  • FIG. 8 shows a schematic structural diagram of an electronic device provided by an embodiment of the present application.
  • the electronic device may be the first device 21 shown in FIG. 2 or the second device 22 shown in FIG. 2 .
  • the electronic device may include at least one processor 801 , a memory 802 , an input and output device 803 , and a bus 804 .
  • processor 801 the electronic device may include at least one processor 801 , a memory 802 , an input and output device 803 , and a bus 804 .
  • memory 802 the electronic device may include at least one processor 801 , a memory 802 , an input and output device 803 , and a bus 804 .
  • the processor 801 is the control center of the electronic device, and may be one processor, or may be a general term for multiple processing elements.
  • the processor 801 is a CPU, and may also be an Application Specific Integrated Circuit (ASIC), or one or more integrated circuits configured to implement the embodiments of the present disclosure, for example: one or more microprocessors (Digital Signal Processor, DSP), or, one or more Field Programmable Gate Arrays (Field Programmable Gate Array, FPGA).
  • ASIC Application Specific Integrated Circuit
  • the processor 801 can execute various functions of the electronic device by running or executing software programs stored in the memory 802 and calling data stored in the memory 802 .
  • the processor 801 may include one or more CPUs, such as CPU 0 and CPU 1 shown in the figure.
  • the electronic device may include multiple processors, for example, the processor 801 and the processor 805 shown in FIG. 8 .
  • processors can be a single-core processor (single-CPU) or a multi-core processor (multi-CPU).
  • a processor herein may refer to one or more devices, circuits, and/or processing cores for processing data (eg, computer program instructions).
  • the memory 802 may be a read-only memory (Read-Only Memory, ROM) or other types of static storage devices that can store static information and instructions, and a random access memory (Random Access Memory, RAM) or other types that can store information and instructions It can also be an electrically erasable programmable read-only memory (Electrically Erasable Programmable Read-Only Memory, EEPROM), a read-only disc (Compact Disc Read-Only Memory, CD-ROM) or other optical disc storage, optical disc storage (including compact discs, laser discs, optical discs, digital versatile discs, Blu-ray discs, etc.), magnetic disk storage media or other magnetic storage devices, or can be used to carry or store desired program code in the form of instructions or data structures and can be programmed by a computer Any other medium accessed, but not limited to.
  • the memory 802 may exist independently, and is connected to the processor 801 through the bus 804 .
  • the memory 802 can also be integrated with the processor 801.
  • the memory can be used to store the data packet, the first signaling, the second signaling, the first response, the second response, the first sending time, the first receiving time, the second sending time, the second Receiving time, transmission delay difference, etc.
  • the memory 802 may include a buffer, and the buffer may be used to buffer data packets according to the transmission delay difference.
  • the input and output device 803 is used for communicating with other devices or a communication network. For example, it is used to communicate with communication networks such as Ethernet, Radio access network (RAN), and Wireless Local Area Networks (WLAN).
  • the input and output device 803 may include all or part of a baseband processor, and may also optionally include a radio frequency (Radio Frequency, RF) processor.
  • the RF processor is used to send and receive RF signals
  • the baseband processor is used to process the baseband signals converted from RF signals or the baseband signals to be converted into RF signals.
  • the input and output device 803 may include a transmitter and a receiver.
  • the transmitter is used to send signals to other devices or communication networks
  • the receiver is used to receive signals sent by other devices or communication networks.
  • the transmitter and receiver can exist independently or be integrated together.
  • the input and output device may be used to send and receive: first signaling, second signaling, first response, second response, data packet, and the like.
  • the bus 804 may be an Industry Standard Architecture (Industry Standard Architecture, ISA) bus, a Peripheral Component Interconnect (PCI) bus, or an Extended Industry Standard Architecture (Extended Industry Standard Architecture, EISA) bus, etc.
  • ISA Industry Standard Architecture
  • PCI Peripheral Component Interconnect
  • EISA Extended Industry Standard Architecture
  • the bus can be divided into address bus, data bus, control bus and so on. For ease of representation, only one thick line is used in FIG. 8 , but it does not mean that there is only one bus or one type of bus.
  • the device structure shown in FIG. 8 does not constitute a limitation to the electronic device, and may include more or less components than shown in the illustration, or combine some components, or arrange different components.
  • An embodiment of the present application provides a computer-readable storage medium, on which computer program instructions are stored, and the above method is implemented when the computer program instructions are executed by a processor.
  • An embodiment of the present application provides a computer program product, including computer-readable codes, or a non-volatile computer-readable storage medium bearing computer-readable codes, when the computer-readable codes are stored in a processor of an electronic device When running in the electronic device, the processor in the electronic device executes the above method.
  • a computer readable storage medium may be a tangible device that can retain and store instructions for use by an instruction execution device.
  • a computer readable storage medium may be, for example, but is not limited to, an electrical storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the foregoing.
  • Non-exhaustive list of computer-readable storage media include: portable computer disk, hard disk, random access memory (Random Access Memory, RAM), read only memory (Read Only Memory, ROM), erasable Electrically Programmable Read-Only-Memory (EPROM or flash memory), Static Random-Access Memory (Static Random-Access Memory, SRAM), Portable Compression Disk Read-Only Memory (Compact Disc Read-Only Memory, CD -ROM), Digital Video Disc (DVD), memory sticks, floppy disks, mechanically encoded devices such as punched cards or raised structures in grooves with instructions stored thereon, and any suitable combination of the foregoing .
  • RAM Random Access Memory
  • ROM read only memory
  • EPROM or flash memory erasable Electrically Programmable Read-Only-Memory
  • Static Random-Access Memory SRAM
  • Portable Compression Disk Read-Only Memory Compact Disc Read-Only Memory
  • CD -ROM Compact Disc Read-Only Memory
  • DVD Digital Video Disc
  • Computer readable program instructions or codes described herein may be downloaded from a computer readable storage medium to a respective computing/processing device, or downloaded to an external computer or external storage device over a network, such as the Internet, local area network, wide area network, and/or wireless network.
  • the network may include copper transmission cables, fiber optic transmission, wireless transmission, routers, firewalls, switches, gateway computers, and/or edge servers.
  • a network adapter card or a network interface in each computing/processing device receives computer-readable program instructions from the network and forwards the computer-readable program instructions for storage in a computer-readable storage medium in each computing/processing device .
  • Computer program instructions for performing the operations of the present application may be assembly instructions, instruction set architecture (Instruction Set Architecture, ISA) instructions, machine instructions, machine-related instructions, microcode, firmware instructions, state setting data, or in one or more source or object code written in any combination of programming languages, including object-oriented programming languages—such as Smalltalk, C++, etc., and conventional procedural programming languages—such as the “C” language or similar programming languages.
  • Computer readable program instructions may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer, or entirely on the remote computer or server implement.
  • the remote computer can be connected to the user's computer through any kind of network, including a Local Area Network (LAN) or a Wide Area Network (WAN), or it can be connected to an external computer such as use an Internet service provider to connect via the Internet).
  • electronic circuits such as programmable logic circuits, field-programmable gate arrays (Field-Programmable Gate Array, FPGA) or programmable logic arrays (Programmable Logic Array, PLA), the electronic circuit can execute computer-readable program instructions, thereby realizing various aspects of the present application.
  • These computer-readable program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine such that when executed by the processor of the computer or other programmable data processing apparatus , producing an apparatus for realizing the functions/actions specified in one or more blocks in the flowchart and/or block diagram.
  • These computer-readable program instructions can also be stored in a computer-readable storage medium, and these instructions cause computers, programmable data processing devices and/or other devices to work in a specific way, so that the computer-readable medium storing instructions includes An article of manufacture comprising instructions for implementing various aspects of the functions/acts specified in one or more blocks in flowcharts and/or block diagrams.
  • each block in a flowchart or block diagram may represent a module, a portion of a program segment, or an instruction that includes one or more Executable instructions.
  • the functions noted in the block may occur out of the order noted in the figures. For example, two blocks in succession may, in fact, be executed substantially concurrently, or they may sometimes be executed in the reverse order, depending upon the functionality involved.
  • each block in the block diagrams and/or flowcharts, and combinations of blocks in the block diagrams and/or flowcharts can be implemented with hardware (such as circuits or ASIC (Application Specific Integrated Circuit, application-specific integrated circuit)), or can be implemented with a combination of hardware and software, such as firmware.
  • hardware such as circuits or ASIC (Application Specific Integrated Circuit, application-specific integrated circuit)
  • firmware such as firmware

Landscapes

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

Abstract

本申请涉及一种传输方法及装置,所述方法包括:获取第一通道和第二通道的传输时延差,通过所述第一通道和所述第二通道并行发送第一数据包,以使所述接收端使能通过所述第一通道和所述第二通道并行发送的第一数据包中先到达所述接收端的数据包;其中,通过所述第一通道和所述第二通道中数据传输时延较小的数据传输通道发送所述第一数据包的时刻为第一时刻,通过所述第一通道和所述第二通道中数据传输时延较大的数据传输通道发送所述第一数据包的时刻为第二时刻,所述第一时刻在所述第二时刻之后,且所述第一时刻与所述第二时刻的差值为所述传输时延差。本申请实施例提供的传输方法及装置,能够减少数据抖动,提高流畅性。

Description

一种传输方法及装置
本申请要求于2021年11月04日提交中国专利局、申请号为202111301895.9、申请名称为“一种传输方法及装置”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及通信技术领域,尤其涉及一种传输方法及装置。
背景技术
数据包的传输有三个主要指标,分别为传输时延、丢包和数据抖动。其中,传输时延是指数据包从发送端传输至接收端所需要的时间。丢包是指一个数据包从发送端发出后没有到达接收端。数据抖动是指各数据包之间传输时延不同。相邻数据包之间传输时延相差越大,数据抖动越明显。
在视频播放或者音频播放等实时性要求较高的场景下,较大的数据抖动会造成播放卡顿,硬性播放的流畅性,从而降低用户体验。
相关技术中,可以通过在接收端增加固定缓存或者增加数据传输通道来减少数据抖动,或者,通过增加冗余的数据传输通道。然后,在数据传输通道的数据传输能力本身就很差的情况下,增加固定缓存后数据抖动依旧会很大。在增加的数据传输通道和原数据传输通道的数据传输能力相差较大的情况下,最终只能使能传输时延较小的数据传输通道,若使能的数据传输通道上数据抖动比较严重的话,依旧不能解决数据抖动的问题。因此,如何减少数据抖动成为当前亟需解决的问题。
发明内容
有鉴于此,提出了一种传输方法及装置,能够减少数据抖动,提高流畅性。
第一方面,本申请的实施例提供了一种传输方法,所述方法应用于发送端,所述方法包括:获取第一通道和第二通道的传输时延差,所述第一通道和所述第二通道表示所述发送端与接收端之间建立的两条不同的数据传输通道;通过所述第一通道和所述第二通道并行发送第一数据包,以使所述接收端使能通过所述第一通道和所述第二通道并行发送的第一数据包中先到达所述接收端的第一数据包;其中,通过所述第一通道和所述第二通道中数据传输时延较小的数据传输通道发送所述第一数据包的时刻为第一时刻,通过所述第一通道和所述第二通道中数据传输时延较大的数据传输通道发送所述第一数据包的时刻为第二时刻,所述第一时刻在所述第二时刻之后,且所述第一时刻与所述第二时刻的差值为所述传输时延差。
在本申请实施例中,在双路冗余的基础上对时传输延较小的数据传输通道上的数据进行一定时间的缓存,将两条数据传输通道的传输时延补齐到相近的水平,使两条数据传输通道的数据传输能力互补,从而减少数据抖动,提高流畅性。
根据第一方面,在所述方法的第一种可能的实现方式中,所述获取所述第一通道和所述第二通道的传输时延差包括:通过第一通道和第二通道分别发送第一信令和第二信令,并记录发送所述第一信令的第一发送时间和发送所述第二信令的第二发送时间;通过所述第一通 道和所述第二通道分别接收所述第一信令对应的第一响应和所述第二信令对应的第二响应,并记录接收到所述第一响应的第一接收时间和接收到所述第二响应的第二接收时间;根据所述第一发送时间、所述第一接收时间、所述第二发送时间以及所述第二接收时间,确定所述第一通道和所述第二通道的传输时延差。
这样,通过发送第一信令和第二信令,可以获取第一通道和第二通道的传输时延差,从而可以按照传输时延差,将两条数据传输通道的传输时延补齐到相近的水平,以减少数据抖动。
根据第一方面,或者第一方面的第一种可能的实现方式,在所述方法的第二种可能的实现方式中,所述获取第一通道和第二通道的传输时延差包括:按照预设时间间隔,获取所述第一通道和所述第二通道的传输时延差。
这样,在网络波动较大、通信环境变化较大的情况下,可以实时更新传输时延差,获得更加准确的传输时延差,从而在后续缓存处理后,更好的将两条数据传输通道的传输时延补齐到相近的水平,较大程度的减少数据抖动,提高流畅性和用户体验。
根据第一方面,或者第一方面的第一种可能的实现方式或者第二种可能的实现方式,在所述方法的第三种可能的实现方式中,所述通过所述第一通道和所述第二通道并行发送所述第一数据包包括:在所述第二时刻,通过所述第一通道和所述第二通道中传输时延较大的数据传输通道发送所述第一数据包;以所述第二时刻为起始时刻缓存所述第一数据包,并在所述第一数据包的缓存时间达到所述传输时延差时,通过所述第一通道和所述第二通道中传输时延差较小的数据传输通道发送所述第一数据包。
在本申请实施例中,在发送端对传输时延较小的数据传输通道的数据包进行缓存,使第一通道和第二通道的传输时延补齐到了相近的水平,减少了数据抖动,提高了流畅性。
根据第一方面,或者以上第一方面的任意一种可能的实现方式,在所述方法的第四种可能的实现方式中,所述第一时刻在所述第二时刻之后,且所述第一时刻与所述第二时刻的差值为所述传输时延差,包括:在所述传输时延差小于预设阈值的情况下,所述第一时刻在所述第二时刻之后,且所述第一时刻与所述第二时刻的差值为所述传输时延差。
这样,可以平衡流畅性和实时性。
第二方面,本申请的实施例提供了一种传输方法,所述方法应用于接收端,所述方法包括:获取第一通道和第二通道的传输时延差,所述第一通道和所述第二通道表示发送端与所述接收端之间建立的两条不同的数据传输通道,所述发送端用于通过所述第一通道和所述第二通道同时向所述接收端发送第一数据包;使能通过所述第一通道和所述第二通道接收到的第一数据包中先满足使能条件的第一数据包;其中,对于通过所述第一通道和所述第二通道中数据传输时延较小的数据传输通道接收到的第一数据包,满足所述使能条件包括:所述第一数据包到达所述接收端,且所述第一数据包在所述接收端的缓存时间达到所述传输时延差;对于通过所述第一通道和所述第二通道中传输时延较大的数据传输通道接收到的第一数据包,满足所述使能条件包括:所述第一数据包到达所述接收端。
在本申请实施例中,在双路冗余的基础上对时传输延较小的数据传输通道上的数据进行一定时间的缓存,将两条数据传输通道的传输时延补齐到相近的水平,使两条数据传输通道的数据传输能力互补,从而减少数据抖动,提高流畅性。
根据第二方面,在所述方法的第一种可能的实现方式中,所述获取所述第一通道和所述 第二通道的传输时延差包括:通过第一通道和第二通道分别发送第一信令和第二信令,并记录发送所述第一信令的第一发送时间和发送所述第二信令的第二发送时间;通过所述第一通道和所述第二通道分别接收所述第一信令对应的第一响应和所述第二信令对应的第二响应,并记录接收到所述第一响应的第一接收时间和接收到所述第二响应的第二接收时间;根据所述第一发送时间、所述第一接收时间、所述第二发送时间以及所述第二接收时间,确定所述第一通道和所述第二通道的传输时延差。
这样,通过发送第一信令和第二信令,可以获取第一通道和第二通道的传输时延差,从而可以按照传输时延差,将两条数据传输通道的传输时延补齐到相近的水平,以减少数据抖动。
根据第二方面或者第二方面的第一种可能的实现方式,在所述方法的第二种可能的实现方式中,所述获取第一通道和第二通道的传输时延差包括:按照预设时间间隔,获取所述第一通道和所述第二通道的传输时延差。
这样,在网络波动较大、通信环境变化较大的情况下,可以实时更新传输时延差,获得更加准确的传输时延差,从而在后续缓存处理后,更好的将两条数据传输通道的传输时延补齐到相近的水平,较大程度的减少数据抖动,提高流畅性和用户体验。
根据第二方面,或者以上第二方面的任意一种可能的实现方式,在所述方法的第三种可能的实现方式中,所述使能所述发送端通过所述第一通道和所述第二通道同时发送的第一数据包中先满足使能条件的第一数据包包括:在所述传输时延差小于预设阈值的情况下,使能发送端通过所述第一通道和所述第二通道同时发送的第一数据包中先满足使能条件的第一数据包。
这样,可以平衡流畅性和实时性。
第三方面,本申请的实施例提供了一种传输装置,所述装置应用于发送端,所述装置包括:获取模块,用于获取第一通道和第二通道的传输时延差,所述第一通道和所述第二通道表示所述发送端与接收端之间建立的两条不同的数据传输通道;发送模块,用于通过所述第一通道和所述第二通道并行发送第一数据包,以使所述接收端使能通过所述第一通道和所述第二通道并行发送的第一数据包中先到达所述接收端的第一数据包;其中,通过所述第一通道和所述第二通道中数据传输时延较小的数据传输通道发送所述第一数据包的时刻为第一时刻,通过所述第一通道和所述第二通道中数据传输时延较大的数据传输通道发送所述第一数据包的时刻为第二时刻,所述第一时刻在所述第二时刻之后,且所述第一时刻与所述第二时刻的差值为所述传输时延差。
在本申请实施例中,在双路冗余的基础上对时传输延较小的数据传输通道上的数据进行一定时间的缓存,将两条数据传输通道的传输时延补齐到相近的水平,使两条数据传输通道的数据传输能力互补,从而减少数据抖动,提高流畅性。
根据第三方面,在所述装置的第一种可能的实现方式中,所述获取模块还用于:通过第一通道和第二通道分别发送第一信令和第二信令,并记录发送所述第一信令的第一发送时间和发送所述第二信令的第二发送时间;通过所述第一通道和所述第二通道分别接收所述第一信令对应的第一响应和所述第二信令对应的第二响应,并记录接收到所述第一响应的第一接收时间和接收到所述第二响应的第二接收时间;根据所述第一发送时间、所述第一接收时间、所述第二发送时间以及所述第二接收时间,确定所述第一通道和所述第二通道的传输时延差。
根据第三方面,或者第三方面的第一种可能的实现方式中,在所述装置的第二种可能的实现方式中,所述获取模块还用于:按照预设时间间隔,获取所述第一通道和所述第二通道的传输时延差。
根据第三方面,或者第三方面的第一种可能的实现方式或者第二种可能的实现方式,在所述装置的第三种可能的实现方式中,所述发送模块还用于:在所述第二时刻,通过所述第一通道和所述第二通道中传输时延较大的数据传输通道发送所述第一数据包;以所述第二时刻为起始时刻缓存所述第一数据包,并在所述第一数据包的缓存时间达到所述传输时延差时,通过所述第一通道和所述第二通道中传输时延差较小的数据传输通道发送所述第一数据包。
根据第三方面,或者以上第三方面的任意一种可能的实现方式,在所述装置的第四种可能的实现方式中,所述第一时刻在所述第二时刻之后,且所述第一时刻与所述第二时刻的差值为所述传输时延差,包括:在所述传输时延差小于预设阈值的情况下,所述第一时刻在所述第二时刻之后,且所述第一时刻与所述第二时刻的差值为所述传输时延差。
第四方面,本申请的实施例提供了一种传输装置,所述装置应用于接收端,所述装置包括:获取模块,用于获取第一通道和第二通道的传输时延差,所述第一通道和所述第二通道表示发送端与所述接收端之间建立的两条不同的数据传输通道,所述发送端用于通过所述第一通道和所述第二通道同时向所述接收端发送第一数据包;使能模块,用于使能通过所述第一通道和所述第二通道接收到的第一数据包中先满足使能条件的第一数据包;其中,对于通过所述第一通道和所述第二通道中数据传输时延较小的数据传输通道接收到的第一数据包,满足所述使能条件包括:所述第一数据包到达所述接收端,且所述第一数据包在所述接收端的缓存时间达到所述传输时延差;对于通过所述第一通道和所述第二通道中传输时延较大的数据传输通道接收到的第一数据包,满足所述使能条件包括:所述第一数据包到达所述接收端。
在本申请实施例中,在双路冗余的基础上对时传输延较小的数据传输通道上的数据进行一定时间的缓存,将两条数据传输通道的传输时延补齐到相近的水平,使两条数据传输通道的数据传输能力互补,从而减少数据抖动,提高流畅性。
根据第四方面,在所述装置的第一种可能的实现方式中,所述获取模块还用于:通过第一通道和第二通道分别发送第一信令和第二信令,并记录发送所述第一信令的第一发送时间和发送所述第二信令的第二发送时间;通过所述第一通道和所述第二通道分别接收所述第一信令对应的第一响应和所述第二信令对应的第二响应,并记录接收到所述第一响应的第一接收时间和接收到所述第二响应的第二接收时间;根据所述第一发送时间、所述第一接收时间、所述第二发送时间以及所述第二接收时间,确定所述第一通道和所述第二通道的传输时延差。
根据第四方面,或者第四方面的第一种可能的实现方式,在所述装置的第二种可能的实现方式中,所述获取模块还用于:按照预设时间间隔,获取所述第一通道和所述第二通道的传输时延差。
根据第四方面,或者以上第四方面的任意一种可能的实现方式,在所述装置的第三种可能的实现方式中,所述使能模块还用于:在所述传输时延差小于预设阈值的情况下,使能发送端通过所述第一通道和所述第二通道同时发送的第一数据包中先满足使能条件的第一数据包。
第五方面,本申请的实施例提供了一种电子设备,该电子设备可以执行上述第一方面或 者第一方面的多种可能的实现方式中的一种或几种的传输方法,或者执行上述第二方面或者第二方面的多种可能的实现方式中的一种或几种的传输方法。
第六方面,本申请的实施例提供了一种可能读存储介质,其上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现上述第一方面或者第一方面的多种可能的实现方式中的一种或几种的传输方法,或者实现上述第二方面或者第二方面的多种可能的实现方式中的一种或几种的传输方法。
第七方面,本申请的实施例提供了一种计算机程序产品,包括计算机可读代码,或者承载有计算机可读代码的非易失性计算机可读存储介质,当所述计算机可读代码在电子设备中运行时,所述电子设备中的处理器执行上述第一方面或者第一方面的多种可能的实现方式中的一种或几种的传输方法,或者执行上述第二方面或者第二方面的多种可能的实现方式中的一种或几种的传输方法。
本申请的这些和其他方面在以下(多个)实施例的描述中会更加简明易懂。
附图说明
包含在说明书中并且构成说明书的一部分的附图与说明书一起示出了本申请的示例性实施例、特征和方面,并且用于解释本申请的原理。
图1a示出相关技术中数据包的传输示意图;
图1b示出本申请实施例中数据包的传输示意图;
图2示出本申请实施例提供的传输系统的架构示意图;
图3a示出本申请实施例提供的传输方法的流程图;
图3b示出本申请实施例提供的传输方法的流程图;
图4示出本申请实施例提供的电子设备的结构示意图;
图5示出本申请实施例提供的传输方法的交互流程示意图;
图6示出本申请实施例提供的传输方法的交互流程示意图;
图7a示出本申请实施例提供的传输装置的结构示意图;
图7b示出本申请实施例提供的传输装置的结构示意图;
图8示出本申请实施例提供的电子设备的结构示意图。
具体实施方式
以下将参考附图详细说明本申请的各种示例性实施例、特征和方面。附图中相同的附图标记表示功能相同或相似的元件。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。
在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。
另外,为了更好的说明本申请,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员应当理解,没有某些具体细节,本申请同样可以实施。在一些实例中,对于本领域技术人员熟知的方法、手段、元件和电路未作详细描述,以便于凸显本申请的主旨。
图1a示出相关技术中数据包的传输示意图。如图1a所示,发送端和接收端之间建立了 通道A和通道B两条不同的数据传输通道。通道A和通道B均存在数据抖动问题。通道A的传输时延比通道B的传输时延小很多。
如图1a所示,发送端以相同的时间间隔发送了数据包1至数据包5。在图1a中,以编号为1的方框表示数据包1,以编号为2的方框表示数据包2,依次类推,以编号为5的方框表示数据包5。由于通道A存在数据抖动问题,因此,在通过通道A进行数据包传输时,相邻数据包到达接收端的时间间隔是不同的,例如,数据包1和数据包2到达接收端的时间间隔与数据包2与数据包3到达接收端的时间间隔不同。同理,由于通道B存在数据抖动问题,因此,在通道B进行数据包传输时,向量数据包到达接收端的时间间隔也不同。
由于通道A的传输时延比通道B的传输时延小很多。因此,发送端将一个数据包同时经通道A和通道B发出时,该数据包经通道A传输到达接收端的时刻要在该数据包经过通道B传输到达接收端的时刻之前,接收端使能的数据包一直为经通道A传输的数据包,仍然存在数据抖动问题。可见,通道B的引入并没有消除原有数据抖动的问题。
如图1a所示,发送端同时通过通道A和通道B依次发送数据包1至数据包5。通道A上的数据包1先于通道B上的数据包1到达接收端。接收端使能的是通道A传输的数据包1(如图1a中灰色方框所示)。同理,接收端还使能了通道A传输的数据包2至数据包5。而数据包1至数据包5在通道A上传输时存在数据抖动现象。因此,接收端使能的数据包仍然存在数据抖动现象,造成接收端播放音视频时出现卡顿、不流畅的情况。
为了解决上述技术问题,本申请实施例提供了一种传输方法,在双路冗余的基础上,对时传输延较小的数据传输通道上的数据进行一定时间的缓存,将两条数据传输通道的传输时延补齐到相近的水平,使两条数据传输通道的数据传输能力互补,从而减少数据抖动,提高流畅性。
举例来说,图1b示出本申请实施例中数据包的传输示意图。图1b所示的发送端、接收端、通道A和通道B可以参照图1a。假设通道A和通道B的传输时延差为T。如图1b所示,发送端在获取到数据包1之后,在t1+T时刻通过通道A发送数据包1,在t1时刻通过通道B发送数据包1。这样,数据包1经由通道A和通道B传输后到达接收端的时间相差较小。同理,数据包2至数据包5经由通道A和通道B传输后到达接收端的时间相差较小。如图1b所示,接收端使能的是通过通道A和通道B并行发送的数据包中先达到接收端的数据包,即为:通道A传输的数据包1、通道B传输的数据包2、通道A传输的数据包3、通道B传输的数据包4以及通道A传输的数据包5。可见,接收端使能的相邻数据包之间到达接收端的时间相差较小,减少了数据抖动,提高了流畅性。
本申请实施例提供的传输方法可以应用于电子设备。该电子设备既可以为发起跨设备传输数据包并发送数据包的发送端,也可以为接收数据包的接收端。需要说明的是,一个电子设备在一个场景下可能为发送端,在另一个场景下也可能为接收端,也就是说,对于一个电子设备来说,其既可能是作为另一个电子设备的发送端,也可能是另一个电子设备的接收端。
本申请涉及的电子设备(包括上文所述的发送端和接收端)可以是指具有无线连接功能的设备,无线连接的功能是指可以通过wifi、蓝牙等无线连接方式与其他电子设备进行连接,本申请的电子设备也可以具有有线连接进行通信的功能。本申请的终端设备可以是触屏的、也可以是非触屏的、也可以是没有屏幕的,触屏的可以通过手指、触控笔等在显示屏幕上点击、滑动等方式对终端设备进行控制,非触屏的设备可以连接鼠标、键盘、触控面板等输入 设备,通过输入设备对终端设备进行控制,没有屏幕的设备比如说可以是没有屏幕的蓝牙音箱等。举例来说,本申请的电子设备可以是智能手机、上网本、平板电脑、笔记本电脑、可穿戴电子设备(如智能手环、智能手表等)、TV、虚拟现实设备、音响、电子墨水,等等。
图2示出本申请实施例提供的传输系统的架构示意图。如图2所示,所述传输系统包括第一设备21、第二设备22、第一通道23和第二通道24。其中,第一设备21为数据包的发送端,第二设备22可以为数据包的接收端,第一通道23和第二通道24为第一设备21和第二设备22之间建立的两条不同的数据传输通道。第一通道23和第二通道24采用的传输协议可以相同也可以不同。举例来说,第一通道23可以为p2p数据传输通道,第二通道24可以为wlan数据传输通道。第一通道23和第二通道24可以均为p2p数据传输通道,第一通道23和第二通道24也可以均为wlan数据传输通道。可以理解的是,第一通道23和第二通道24还可以为采用其他传输协议的通道,对此本申请不做限制。
图3a示出本申请实施例提供的传输方法的流程图。该方法可以应用于发送端,例如图2所示的第一设备21。如图3a所示,该方法可以包括:
步骤S301,获取第一通道和第二通道的传输时延差。
其中,第一通道和第二通道表示发送端与接收端之间建立的两条不同的数据传输通道。在本申请实施例中,发送端可以通过所述第一通道和所述第二通道向所述接收端并行发送数据包。第一通道和第二通道的传输时延差可以表示第一数据包通过第一通道传输时的传输时延与该数据包通过第二通道传输时的传输时延之间的差值。其中,第一数据包可以代表任意一个数据包,举例来说,第一数据包可以为视频数据、音频数据、即时聊天数据等,本申请实施例对数据包不做限制。
在一种可能的实现方式中,步骤S301可以包括:通过第一通道和第二通道分别发送第一信令和第二信令,并记录发送第一信令和的第一发送时间和发送第二信令的第二发送时间;通过第一通道和第二通道分别接收第一信令对应的第一响应和第二信令对应的第二响应,并记录接收到第一响应的第一接收时间和接收到第二响应的第二接收时间;根据第一发送时间、第一接收时间、第二发送时间和第二接收时间,确定第一通道和第二通道的传输时延差。
其中,第一信令可以表示通过第一通道发送的控制信令,第二信令可以表示通过第二通道发送的控制信令。第一发送时间可以表示第一信令的发送时间,第二发送时间可以表示第二信令的发送时间。电子设备可以同时发送第一信令和第二信令,也可以先发送第一信令再发送第二信令,或者先发发送第二信令再发送第一信令,因此,第一发送时间和第二发送时间可能相同,也可能不同。本申请实施例中,对第一信令和第二信令的发送顺序不做限制。
第一响应可以用于表示接收到第一信令的电子设备响应于第一信令返回的响应消息,第二响应可以表示接收到第二信令的电子设备响应于第二信令返回的响应消息。可以理解的是,第一响应是通过第一信道返回的,第二响应是通过第二信道返回的。第一响应和第二响应第一接收时间表示发送第一信令的电子设备接收到第一响应的时间,第二接收时间表示发送第二信令的电子设备接收到第二响应的时间。
可以理解的是,第一通道的传输时延为(第一接收时间-第一发送时间)/2,第二通道的传输时延为(第二接收时间-第二发送时间)/2,第一通道和第二通道的传输时延差为第一通道的传输时延和第二通道的传输时延的差值的绝对值,可见,第一通道和第二通道的传输时延差为|(第一接收时间-第一发送时间)-(第二接收时间-第二发送时间)|/2。
需要说明的是,上述“第一”和“第二”仅用作区分,不做其他限定。例如“第一通道”和“第二通道”中的“第一”和“第二”仅用于区分不同的数据传输通道;“第一信令”和“第二信令”中的“第一”和“第二”仅用于区分不同的控制信息;“第一发送时间”和“第二发送时间”中的“第一”和“第二”仅用于区分不同的发送时间;“第一响应”和“第二响应”中的“第一”和“第二”仅用于区分不同的响应消息;“第一接收时间”和“第二接收时间”中的“第一”和“第二”仅用于区分不同的接收时间。
在一种可能的实现方式中,电子设备可以按照预设时间间隔,获取第一通道和第二通道的传输时延差。其中,预设时间间隔可以根据需要进行设置,例如,可以设置为10秒、1分钟、1小时或者1天等。
在一个示例中,电子设备可以在获取第一通道和第二通道的传输时延差之后,触发一个定时器,在该定时器的时间达到预设时间间隔时,重新获取第一通道和第二通道的传输时延差。在又一示例中,电子设备可以在发送第一信令和第二信令之后,触发一个定时器,在该定时器的时间达到预设时间间隔时,重新发送第一信息和第二信令,以更新第一通道和第二通道的传输时延差。
这样,在网络波动较大、通信环境变化较大的情况下,可以实时更新传输时延差,获得更加准确的传输时延差,从而在后续缓存处理后,更好的将两条数据传输通道的传输时延补齐到相近的水平,较大程度的减少数据抖动,提高流畅性和用户体验。
可以理解的是,预设时间间隔越小,获取的传输时延差的准确性越高,但是占用的计算资源和通信资源越多;预设时间间隔越大,占用的计算资源和通信资源越少,但是获取的传输时延差的准确性越差。因此,对于网络波动较大、通信环境变化较大的场景,可以设置较小的预设时间间隔,以提高传输时延差的准确性。对于网路环境比较稳定、通信环境比较稳定的场景,可以设置较大的时间间隔,以节省资源。
在一种可能的实现方式中,电子设备在获取第一通道和第二通道的传输时延差之后,可以不启动定时器,即一直使用同一个传输时延差,进行数据包的缓存。这样,可以设置固定的缓存,可以进一步节省资源,不需要重复发送信令、重复记录时间以及重复计算传输时延差。特别在网路环境比较稳定、通信环境比较稳定的场景,效果更加明显。
需要说明的是,网络环境的稳定性、通信环境的稳定性可以通过相关技术中的方法进行检测,本申请实施例不做限制,这里也不做赘述。
步骤S302,通过所述第一通道和所述第二通道并行发送第一数据包,以使所述接收端使能通过所述第一通道和所述第二通道并行发送的第一数据包中先到达所述接收端的第一数据包,其中,通过所述第一通道和所述第二通道中数据传输时延较小的数据传输通道发送所述第一数据包的时刻为第一时刻,通过所述第一通道和所述第二通道中数据传输时延较大的数据传输通道发送所述第一数据包的时刻为第二时刻,所述第一时刻在所述第二时刻之后,且所述第一时刻与所述第二时刻的差值为所述传输时延差。
为了便于描述,在本申请实施例中,采用第三通道表示所述第一通道和所述第二通道中传输时延较小的数据传输通道,以及采用第四通道表示所述第一通道和所述第二通道中传输时延较大的数据传输通道。
第一通道和第二通道并行传输第一数据包。也就是说,第一数据包会分别经过第一通道和第二通道进行传输。可以理解的是,第一数据包在第一通道和第二通道中传输时延较小的 数据传输通道(即第三通道)中进行传输时所用的传输时长,小于第一数据包在第一通道和第二通道中传输时延较大的数据传输通道(即第四通道)中进行传输时所用的传输时长。因此,发送端在通过第三通道发送第一数据包之前,可以先对第一数据包进行缓存,并在第一数据包的缓存时间达到传输时延差时再通过第三通道发送第一数据包。而发送端在通过第四通道发送第一数据包时,无需对第一数据包进行缓存。这样,可以将第一数据包通过两条数据传输通道传输后到达接收端的时间拉到相近的水平。由于接收端使能的是通过第一通道和第二通道并行发送的第一数据包中先到达接收端的第一数据包,而通过发送端的缓存第一数据包通过两条数据传输通道传输后到达接收端的时间拉到相近的水平,因此先到达接收端的第一数据包可能是通过第一通道发送的第一数据包也可能是通过第二通道发送的第一数据包,也就是说,接收端使能的第一数据包既可能是通过第一通道发送的第一数据包也可能是通过第二通道发送的数据包,实现了第一通道和第二通道的数据传输能力互补,从而减少数据抖动,提高流畅性。
在本申请实施例中,以发送端通过第三通道发送第一数据包的时刻为第一时刻,以发送端通过第四通道发送第一数据包的时刻为第二时刻,则第一时刻需要在第二时刻之后,且第一时刻与第二时刻的差值为传输时延差,从而将第一数据包通过两条数据传输通道传输后到达接收端的时间拉到相近的水平。
在一种可能的实现方式中,步骤S302可以包括:在第二时刻,通过第四通道发送第一数据包;以第二时刻为起始时刻缓存第一数据包,并在第一数据包的缓存时间达到传输时延差时,通过第三通道发送第一数据包。这样,发送端通过第三通道发送第一数据包的第一时刻在发送端通过第四通道发送第一数据包的第二时刻之后,且第一时刻与第二时刻的差值为传输时延,从而将第一数据包通过两条数据传输通道传输后到达接收端的时间拉到相近的水平。
在本申请实施例中,在双路冗余的基础上对时传输延较小的数据传输通道上的数据进行一定时间的缓存,将两条数据传输通道的传输时延补齐到相近的水平,使两条数据传输通道的数据传输能力互补,从而减少数据抖动,提高流畅性。
在一种可能的实现方式中,步骤S302中的所述第一时刻在所述第二时刻之后,且所述第一时刻与所述第二时刻的差值为所述传输时延差可以包括:在所述传输时延差小于预设阈值的情况下,所述第一时刻在所述第二时刻之后,且所述第一时刻与所述第二时刻的差值为所述传输时延差。
其中,预设阈值可以根据需要进行设置。例如,预设阈值可以设置为10毫秒、100毫秒、1秒等等。这样,可以将传输时延差限制在一定范围内,在传输时延差较小的情况下,不会影响实时性。若传输时延差大于预设阈值,需要缓存较长时间,使得数据包长时间无法提交,从而影响实时性。通过设置预设阈值可以平衡流畅性和实时性。
在一种可能的实现方式中,在传输时延差大于或者等于预设阈值的情况下,发送端可以通过第三通道发送第一数据包,而不通过第四通道发送第一数据包。这样,可以节省资源。
图4示出本申请实施例提供的电子设备的结构示意图。如图4所示,该电子设备包括业务模块41、通道管理模块42、控制信令管理模块43和接口模块44。
其中,业务模块41用于处理业务。在图4所示的电子设备作为发送端的场景下,业务模块41可以包括编码器,用于对视频数据、音频数据等业务数据进行编码得到数据包。之后,由通道管理模块42将编码得到的数据包提交至接收端。
如图4所示,通道管理模块42可以用于管理数据传输通道。在需要分发第一数据包时,通道管理模块42确定第一数据包从哪个数据传输通道发送,并将第一数据包从确定的数据传输通道发送出去。以通道管理模块42管理第一通道和第二通道两个通道为例,在需要分发第一数据包时,通道管理模块42可以从第一通道发送第一数据包,也可以从第二通道发送第一数据包,还可以从第一通道和第二通道并行发送第一数据包。
在本申请实施例中,通道管理模块42可以先获取第一通道和第二通道的传输时延差。业务模块41向通道管理模块42提供经编码器编码后得到的第一数据包。通道管理模块42在通过编码器获得第一数据包后,在第二时刻将通过第四通道(即第一通道和第二通道中传输时延较大的数据传输通道)发送至接收端。同时,通道管理模块以第二时刻为起始时刻缓存第一数据包,并在第一数据包的缓存时间达到所述传输时延差的情况下,通道第三通道(即第一通道和第二通道中传输时延较小的数据传输通道)将第一数据包发送至接收端。这样,对需要经由时传输延较小的数据传输通道上的第一数据包进行一定时间的缓存后再发送,将两条数据传输通道的传输时延补齐到相近的水平,使两条数据传输通道的数据传输能力互补,从而减少数据抖动,提高流畅性。在一个示例中,第二时刻可以为通道管理模块42获得第一数据包的时刻。
如图4所示,通道管理模块42与接口模块44连接。接口模块44可以用于连接数据传输通道。接口模块44中可以包括多个收发接口,每个收发接口连接一个数据传输通道。例如,接口模块44可以包括第一通道接口441和第二通道接口442。其中,第一通道接口441表示第一通道的收发接口,第二通道接口442表示第二通道的收发接口。
以第一通道的传输时延小于第二通道的传输时延,第一通道和第二通道的传输时延差为T,发送端向接收端发送数据包1为例(即以第一通道为第三通道,第二通道为第四通道,数据包1为第一数据包为例)。通道管理模块42通过编码器获得数据包1。通道管理模块42在t1时刻(即第二时刻)将数据包1从第二通道接口44发送出去,从而在t1时刻通过第二通道将数据包1发送至接收端。同时,通道管理模块42以t1时刻为起始时刻缓存数据包1,并在数据包1的缓存时间达到T后将数据包1通过第一通道接口44发送出去,从而在t1+T时刻(即第一时刻)通过第一通道将数据包1发送至接收端。这样,虽然数据包1在第一通道中传输的较快,在第二通道中传输的较慢,但是发送端在第一通道中延后发送数据包1,从而使数据包1经第一通道到达接收端的时间与数据包1经第二通道到达接收端的时间相差较小,将第一通道和第二通道的传输时延补齐到了相近的水平,经第一通道传输的数据包1和经第二通道传输的数据包1均有在接收端使能的机会,减少了数据抖动,提高了流畅性。
如图4所示,通道管理模块42与控制信令管理模块43连接。控制信令管理模块43可以用于生成控制信令。在本申请实施例中,控制信令管理模块43可以生成第一信令和第二信令。其中,第一信令可以表示通过第一通道传输的控制信令,第二信令可以表示通过第二通道传输的控制信令。在本申请实施例中,通道管理模块42可以对控制信令管理模块43生成的控制信令的分发进行管理。通道管理模块42可以将第一信令通过第一通道接口441发送出去,以通过第一通道将第一信令发送至接收端。同时,通道管理模块42可以记录发送第一信令的第一发送时间。通道管理模块42通过第一通道接口441接收到第一响应时,表明接收端接收到第一信令,此时,通道管理模块42可以记录接收第一响应的第一接收时间。同理,通道管理模块42可以通过第二通道接口442发送第二信令、接收第二响应,以及记录第二发送时间 和第二接收时间。之后,通道管理模块42可以根据记录的第一发送时间、第一接收时间、第二发送时间以及第二接收时间,确定第一通道和第二通道的传输时延差。
下面结合图5对图3a所示的传输方法应用于发送端的场景的交互过程进行说明。图5示出本申请实施例提供的传输方法的交互流程示意图。该方法可以应用于图2所示的系统。如图5所示,该方法可以包括:
步骤S500,第一设备和第二设备之间建立第一通道和第二通道。
步骤S501,第一设备通过第一通道发送第一信令,并记录发送第一信令的第一发送时间。
步骤S502,第二设备响应于接收到的第一信令,通过第一信道返回第一响应。
步骤S503,第一设备接收第一响应,并记录接收到第一响应的第一接收时间。
步骤S504,第一设备通过第二信道发送第二信令,并记录发送第二信令的第二发送时间。
步骤S505,第二设备响应于接收到的第一信令,通过第二信道返回第二响应。
步骤S506,第一设备接收第二响应,并记录接收到第二响应的第二接收时间。
步骤S507,第一设备根据第一发送时间、第一接收时间、第二发送时间、第二接收时间,确定第一通道和第二通道的传输时延差。
步骤S508,第一设备在第二时刻通过第一通道和第二通道中传输时延较大的数据传输通道发送第一数据包。
步骤S509,第一设备以第二时刻为起始时刻缓存第一数据包,并在第一数据包的缓存时间达到传输时延差时,通过第一通道和第二通道中传输时延差较小的数据传输通道发送第一数据包。
步骤S510,第二设备使能通过第一通道和第二通道并行发送的第一数据包中先到达第二设备的第一数据包。
在一个示例中,第二设备接收到通过第一通道发送的第一数据包时,若第二设备未接收到通过第二通道发送的第一数据包,则第二设备使能通过第一通道发送的第一数据包。后续,第二设备接收到通过第二通道发送的第一数据包时,第二设备可以丢弃通过第二通道发送的第一数据包。第二设备接收到通过第一通道发送的第一数据包时,若第二设备已经接收到了通过第二通道发送的第一数据包,则第二设备可以丢弃通过第一通道发送的第一数据包。
在又一示例中,第二设备接收到通过第二通道发送的第一数据包时,若第二设备未接收到通过第一通道发送的第一数据包,则第二设备使能通过第二通道发送的第一数据包。后续,第二设备接收到通过第一通道发送的第一数据包时,第二设备可以丢弃通过第一通道发送的第一数据包。第二设备接收到通过第二通道发送的第一数据包时,若第二设备已经接收到了通过第一通道发送的第一数据包,则第二设备可以丢弃通过第二通道发送的第一数据包。
由于第一数据包在发送之前已经进行了缓存,因此第一通道和第二通道的传输时延已经被补齐到了相近的水平,因此,第二设备接收到第一数据包时,使能的第一数据包可能是经由第一通道发送的第一数据包,也可能是经由第二通道发送的第一数据包,减少了数据抖动,提高了流畅性。
图3b示出本申请实施例提供的传输方法的流程图。该方法可以应用于接收端,例如图2所示的第二设备22、如图3b所示,该方法可以包括:
步骤S303,获取第一通道和第二通道的传输时延差。
在步骤S301中,由发送端通过发送第一信令和第二信令获取第一通道和第二通道的传输 时延差。在步骤S301和步骤S303中,获取第一通道和第二通道的传输时延差的方式是相同的。在步骤S303中,由接收端通过发送第一信令和第二信令获取第一通道和第二通道的传输时延差。步骤S301和步骤S303的区别在于发送第一信令和第二信令的设备不同,获取第一通道和第二通道的传输时延差不同。步骤S303可以参照步骤S301,这里不再赘述。
步骤S304,使能通过所述第一通道和所述第二通道接收到的第一数据包中先满足使能条件的第一数据包。
其中,对于通过所述第一通道和所述第二通道中数据传输时延较小的数据传输通道接收到的第一数据包,满足所述使能条件包括:所述第一数据包到达所述接收端,且所述第一数据包在所述接收端的缓存时间达到所述传输时延差;对于通过所述第一通道和所述第二通道中传输时延较大的数据传输通道接收到的第一数据包,满足所述使能条件包括:所述第一数据包到达所述接收端。
这样,在通过第一通道和第二通道同时发送第一数据包时,对通过传输时延较小的数据传输通道接收到的数据进行一段时间的缓存,从而在将两条数据传输通道的传输时延补齐到相近的水平后再确定是否使能接收到的第一数据包,使两条数据传输通道的数据传输能力互补,从而减少数据抖动,提高流畅性。
由于第一数据包在第三通道(即第一通道和第二通道中传输时延较小的数据传输通道)中传输的相对较快,第一数据包在第四通道(即第一通道中传输时延较大的数据传输通道)中传输的相对较慢,因此,发送端同时通过第一通道和第二通道向接收端发送第一数据包时,接收端无法同时通过第一通道和第二通道接收到第一数据包,且接收端有较大可能会先通过第三通道接收到第一数据包,后通过第四通道接收到第一数据包,如果接收端在通过第三通道接收到第一数据包时,立刻确定是否已经通过第四通道接收到了第一数据包(即立刻确定通过第三通道接收到的第一数据包是否使能),则接收端很有可能会使能通过第三通道接收到的第一数据包,此时接收端通过第四通道接收到的第一数据包使能的概率极低,无法消除第三通道的数据抖动。
在本申请实施例中,接收端通过第三通道接收到第一数据包时,对第一数据包进行缓存,并在第一数据包缓存时间达到传输时延差的情况下,确定通过第三通道接收到的第一数据包满足使能条件。接收端通过第四通道接收到第一数据包时,即确定通过第四通道接收到的第一数据包满足使能条件。从而在将两条数据传输通道的传输时延补齐到相近的水平后再确定是否使能接收到的第一数据包。这样,给了通过第四通道传输的第一数据包使能的机会,使两条数据传输通道的数据传输能力互补,从而减少数据抖动,提高流畅性。
在一种可能的实现方式中,步骤S304可以包括:在所述传输时延差小于预设阈值的情况下,使能发送端通过所述第一通道和所述第二通道同时发送的第一数据包中先满足使能条件的第一数据包。这样,可以平衡流畅性和实时性。
在一种可能的实现方式中,在传输时延差小于预设阈值的情况下,接收端可以使能通过第一通道和第二通道发送的第一数据包中先到达的第一数据包。这样,可以提高实时性。
在图4所示的电子设备作为接收端的场景下,业务模块41可以包括解码器,用于对通道管理模块42提交的数据包进行解码得到视频数据、音频数据等业务数据,从而进行视频或者音频的播放。
如图4所示,通道管理模块42可以用于管理数据传输通道。在接收到第一数据包时,通 道管理模块42可以确定第一数据包来自哪个数据传输通道。通道管理模块42管理第一通道和第二通道两个通道为例,通道管理模块可以从第一通道接收到第一数据包,也可以从第二通道接收到第一数据包。如图4所示,通道管理模块42与接口模块44连接。通道管理模块44可以将从第一通道接口441接收到的第一数据包确定为通过第一通道接收到的第一数据包,将从第二通道接口442接收到的第一数据包确定为通过第二通道接收到的第一数据包。
在本申请实施例中,通道管理模块42可以先获取第一通道和第二通道的传输时延差。通道管理模块42在通过第三通道(即第一通道和第二通道中传输时延较小的数据传输通道)接收到第一数据包时,可以缓存所述数据包,并在所述数据包的缓存时间达到所述传输时延差的情况下,确定第一数据包满足使能条件。同时,通道管理模块42在通过第四通道(即第一通道和第二通道中传输时延较大的数据传输通道)接收到第一数据包时,可以直接确定第一数据包满足使能条件。在此基础上,通道管理模块42可以使能通过第一通道和第二通道接收到的第一数据包中先满足使能条件的第一数据包,并将使能的第一数据包发送至解码器进行解码处理。这样,对传输时延较小的数据传输通道上的第一数据包进行一定时间的缓存后再确定是否进行使能,可以将两条数据传输通道的传输时延补齐到相近的水平,使两条数据传输通道的数据传输能力互补,从而减少数据抖动,提高流畅性。
以第一通道的传输时延小于第二通道的传输时延,第一通道和第二通道的传输时延差为T,发送端向接收端发送数据包1为例。发送端在t3时刻同时通过第一通道和第二通道发送数据包1。通道管理模块42在t3时刻通过第一通道接收到了数据包1,则通道管理模块42缓存数据包1,并在数据包1的缓存时间达到T后确定数据包1满足使能条件,从而确定通过第一通道接收到的数据包1在t3+T时刻满足使能条件。通道管理模块42在t4时刻通过第二通道接收到了数据包1,则通道管理模块42确定通过第二通道接收到的数据包1在t4时刻满足使能条件。若t3+T时刻在t4时刻之前,则通道管理模块42使能通过第一通道接收到的数据包1,丢弃通过第二通道接收到的数据包1。若t3+T时刻在t4时刻之后,则通道管理模块42丢弃通过第一通道接收到的数据包1,使能通过第二通道接收到的数据包1。这样,虽然数据包1在第一通道中传输的较快,在第二通道中传输的较慢,即t3时刻在t4时刻之前,但是接收端从第一通道接收到数据包1进行T时间的缓存,将第一通道和第二通道的传输时延补齐到了相近的水平,,从而使t3+T时刻可能在t4时刻之前,也可能在t4时刻之后,经第一通道传输的数据包1和经第二通道传输的数据包1均有使能的机会,减少了数据抖动,提高了流畅性。
在图4所示的电子设备应用于接收端的场景下,通道管理模块42获取传输时延差的过程,可以参照图4所示的电子设备应用于发送端的场景下,通道管理模块42获取传输时延差的过程,这里不再赘述。
下面结合图6对图3b所示的传输方法应用于接收端的场景的交互过程进行说明。图6示出本申请实施例提供的传输方法的交互流程示意图。该方法可以应用于图2所示的系统。如图6所示,该方法可以包括:
步骤S600,第一设备和第二设备之间建立第一通道和第二通道。
步骤S601,第二设备通过第一通道发送第一信令,并记录发送第一信令的第一发送时间。
步骤S602,第一设备响应于接收到的第一信令,通过第一信道返回第一响应。
步骤S603,第二设备接收第一响应,并记录接收到第一响应的第一接收时间。
步骤S604,第二设备通过第二通道发送第二信令,并记录发送第二信令的第二发送时间。
步骤S605,第一设备响应于接收到的第二信令,通过第二信道返回第二响应。
步骤S606,第二设备接收第二响应,并记录接收到第二响应的第二接收时间。
步骤S607,第二设备根据第一发送时间、第一接收时间、第二发送时间、第二接收时间,确定第一通道和第二通道的传输时延差。
步骤S608,第一设备同时通过第一通道和第二通道向第二设备发送第一数据包。
步骤S609,第二设备在通过第一通道和第二通道中传输时延较小的数据传输通道接收到第一数据包时,缓存第一数据包,并在第一数据包的缓存时间达到传输时延差的情况下,确定该第一数据包满足使能条件。
步骤S610,第二设备在通过第一通道和第二通道中传输时延较大的数据传输通道接收到第一数据包时,确定该第一数据包满足使能条件。
步骤S611,第二设备使能通过第一通道和第二通道接收到的第一数据包中先满足使能条件的第一数据包。
在本申请实施例中,在接收端对传输时延较小的数据传输通道的数据包进行缓存,使第一通道和第二通道的传输时延补齐到了相近的水平,减少了数据抖动,提高了流畅性。
图7a示出本申请实施例提供的传输装置的结构示意图。该装置可以应用于发送端,例如图2所示的第一设备21。如图7a所示,该装置70可以包括:
获取模块71,用于获取第一通道和第二通道的传输时延差,所述第一通道和所述第二通道表示所述发送端与接收端之间建立的两条不同的数据传输通道;
发送模块72,用于通过所述第一通道和所述第二通道并行发送第一数据包,以使所述接收端使能通过所述第一通道和所述第二通道并行发送的第一数据包中先到达所述接收端的第一数据包;
其中,通过所述第一通道和所述第二通道中数据传输时延较小的数据传输通道发送所述第一数据包的时刻为第一时刻,通过所述第一通道和所述第二通道中数据传输时延较大的数据传输通道发送所述第一数据包的时刻为第二时刻,所述第一时刻在所述第二时刻之后,且所述第一时刻与所述第二时刻的差值为所述传输时延差。
在一种可能的实现方式中,所述获取模块还用于:
通过第一通道和第二通道分别发送第一信令和第二信令,并记录发送所述第一信令的第一发送时间和发送所述第二信令的第二发送时间;
通过所述第一通道和所述第二通道分别接收所述第一信令对应的第一响应和所述第二信令对应的第二响应,并记录接收到所述第一响应的第一接收时间和接收到所述第二响应的第二接收时间;
根据所述第一发送时间、所述第一接收时间、所述第二发送时间以及所述第二接收时间,确定所述第一通道和所述第二通道的传输时延差。
在一种可能的实现方式中,所述获取模块还用于:
按照预设时间间隔,获取所述第一通道和所述第二通道的传输时延差。
在一种可能的实现方式中,所述发送模块还用于:
在所述第二时刻,通过所述第一通道和所述第二通道中传输时延较大的数据传输通道发送所述第一数据包;
以所述第二时刻为起始时刻缓存所述第一数据包,并在所述第一数据包的缓存时间达到所述传输时延差时,通过所述第一通道和所述第二通道中传输时延差较小的数据传输通道发送所述第一数据包。
在一种可能的实现方式中,所述第一时刻在所述第二时刻之后,且所述第一时刻与所述第二时刻的差值为所述传输时延差,包括:
在所述传输时延差小于预设阈值的情况下,所述第一时刻在所述第二时刻之后,且所述第一时刻与所述第二时刻的差值为所述传输时延差。
在本申请实施例中,在双路冗余的基础上对时传输延较小的数据传输通道上的数据进行一定时间的缓存,将两条数据传输通道的传输时延补齐到相近的水平,使两条数据传输通道的数据传输能力互补,从而减少数据抖动,提高流畅性。
本申请的实施例提供了一种电子设备,包括:处理器、用于缓存数据包的缓存器以及用于存储处理器可执行指令的存储器;其中,所述处理器被配置为执行所述指令时实现上述方法。
图7b示出本申请实施例提供的传输装置的结构示意图。该装置可以应用于接收端,例如图2所示的第二设备22。如图7a所示,该装置90可以包括:
获取模块91,用于获取第一通道和第二通道的传输时延差,所述第一通道和所述第二通道表示发送端与所述接收端之间建立的两条不同的数据传输通道,所述发送端用于通过所述第一通道和所述第二通道同时向所述接收端发送第一数据包;
使能模块92,用于使能通过所述第一通道和所述第二通道接收到的第一数据包中先满足使能条件的第一数据包;
其中,对于通过所述第一通道和所述第二通道中数据传输时延较小的数据传输通道接收到的第一数据包,满足所述使能条件包括:所述第一数据包到达所述接收端,且所述第一数据包在所述接收端的缓存时间达到所述传输时延差;
对于通过所述第一通道和所述第二通道中传输时延较大的数据传输通道接收到的第一数据包,满足所述使能条件包括:所述第一数据包到达所述接收端。
在一种可能的实现方式中,所述获取模块还用于:
通过第一通道和第二通道分别发送第一信令和第二信令,并记录发送所述第一信令的第一发送时间和发送所述第二信令的第二发送时间;
通过所述第一通道和所述第二通道分别接收所述第一信令对应的第一响应和所述第二信令对应的第二响应,并记录接收到所述第一响应的第一接收时间和接收到所述第二响应的第二接收时间;
根据所述第一发送时间、所述第一接收时间、所述第二发送时间以及所述第二接收时间,确定所述第一通道和所述第二通道的传输时延差。
在一种可能的实现方式中,所述获取模块还用于:
按照预设时间间隔,获取所述第一通道和所述第二通道的传输时延差。
在一种可能的实现方式中,所述使能模块还用于:
在所述传输时延差小于预设阈值的情况下,使能发送端通过所述第一通道和所述第二通道同时发送的第一数据包中先满足使能条件的第一数据包。
在本申请实施例中,在双路冗余的基础上对时传输延较小的数据传输通道上的数据进行 一定时间的缓存,将两条数据传输通道的传输时延补齐到相近的水平,使两条数据传输通道的数据传输能力互补,从而减少数据抖动,提高流畅性。
图8示出本申请实施例提供的电子设备的结构示意图。该电子设备可以作为图2所示的第一设备21,也可以作为图2所示的第二设备22。
如图8所示,电子设备可以包括至少一个处理器801,存储器802、输入输出设备803、总线804。下面结合图8对电子设备的各个构成部件进行具体的介绍:
处理器801是电子设备的控制中心,可以是一个处理器,也可以是多个处理元件的统称。例如,处理器801是一个CPU,也可以是特定集成电路(Application Specific Integrated Circuit,ASIC),或者是被配置成实施本公开实施例的一个或多个集成电路,例如:一个或多个微处理器(Digital Signal Processor,DSP),或,一个或者多个现场可编程门阵列(Field Programmable Gate Array,FPGA)。
其中,处理器801可以通过运行或执行存储在存储器802内的软件程序,以及调用存储在存储器802内的数据,执行电子设备的各种功能。
在具体的实现中,作为一种实施例,处理器801可以包括一个或多个CPU,例如图中所示的CPU 0和CPU 1。
在具体实现中,作为一种实施例,电子设备可以包括多个处理器,例如图8中所示的处理器801和处理器805。这些处理器中的每一个可以是一个单核处理器(single-CPU),也可以是一个多核处理器(multi-CPU)。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。
存储器802可以是只读存储器(Read-Only Memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(Random Access Memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)、只读光盘(Compact Disc Read-Only Memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器802可以是独立存在,通过总线804与处理器801相连接。存储器802也可以和处理器801集成在一起。在本公开实施例中,存储器可以用于存储数据包、第一信令、第二信令、第一响应、第二响应、第一发送时间、第一接收时间、第二发送时间、第二接收时间、传输时延差等。
在本申请实施例中,存储器802中可以包括缓存器,该缓存器可以用于按照传输时延差缓存数据包。
输入输出设备803,用于与其他设备或通信网络通信。如用于与以太网,无线接入网(Radio access network,RAN),无线局域网(Wireless Local Area Networks,WLAN)等通信网络通信。输入输出设备803可以包括基带处理器的全部或部分,以及还可选择性地包括无线射频(Radio Frequency,RF)处理器。RF处理器用于收发RF信号,基带处理器则用于实现由RF信号转换的基带信号或即将转换为RF信号的基带信号的处理。
在具体实现中,作为一种实施例,输入输出设备803可以包括发射器和接收器。其中,发射器用于向其他设备或通信网络发送信号,接收器用于接收其他设备或通信网络发送的信 号。发射器和接收器可以独立存在,也可以集成在一起。在本公开实施例中,输入输出设备可以用于收发:第一信令、第二信令、第一响应、第二响应以及数据包等。
总线804,可以是工业标准体系结构(Industry Standard Architecture,ISA)总线、外部设备互连(Peripheral Component Interconnect,PCI)总线或扩展工业标准体系结构(Extended Industry Standard Architecture,EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图8中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
图8中示出的设备结构并不构成对电子设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
本申请的实施例提供了一种计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现上述方法。
本申请的实施例提供了一种计算机程序产品,包括计算机可读代码,或者承载有计算机可读代码的非易失性计算机可读存储介质,当所述计算机可读代码在电子设备的处理器中运行时,所述电子设备中的处理器执行上述方法。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是(但不限于)电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(Random Access Memory,RAM)、只读存储器(Read Only Memory,ROM)、可擦式可编程只读存储器(Electrically Programmable Read-Only-Memory,EPROM或闪存)、静态随机存取存储器(Static Random-Access Memory,SRAM)、便携式压缩盘只读存储器(Compact Disc Read-Only Memory,CD-ROM)、数字多功能盘(Digital Video Disc,DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。
这里所描述的计算机可读程序指令或代码可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本申请操作的计算机程序指令可以是汇编指令、指令集架构(Instruction Set Architecture,ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(Local Area Network,LAN)或广域网(Wide Area Network,WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电 路,例如可编程逻辑电路、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或可编程逻辑阵列(Programmable Logic Array,PLA),该电子电路可以执行计算机可读程序指令,从而实现本申请的各个方面。
这里参照根据本申请实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本申请的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本申请的多个实施例的装置、系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。
也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行相应的功能或动作的硬件(例如电路或ASIC(Application Specific Integrated Circuit,专用集成电路))来实现,或者可以用硬件和软件的组合,如固件等来实现。
尽管在此结合各实施例对本发明进行了描述,然而,在实施所要求保护的本发明过程中,本领域技术人员通过查看所述附图、公开内容、以及所附权利要求书,可理解并实现所述公开实施例的其它变化。在权利要求中,“包括”(comprising)一词不排除其他组成部分或步骤,“一”或“一个”不排除多个的情况。单个处理器或其它单元可以实现权利要求中列举的若干项功能。相互不同的从属权利要求中记载了某些措施,但这并不表示这些措施不能组合起来产生良好的效果。
以上已经描述了本申请的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。

Claims (21)

  1. 一种传输方法,其特征在于,所述方法应用于发送端,所述方法包括:
    获取第一通道和第二通道的传输时延差,所述第一通道和所述第二通道表示所述发送端与接收端之间建立的两条不同的数据传输通道;
    通过所述第一通道和所述第二通道并行发送第一数据包,以使所述接收端使能通过所述第一通道和所述第二通道并行发送的第一数据包中先到达所述接收端的第一数据包;
    其中,通过所述第一通道和所述第二通道中数据传输时延较小的数据传输通道发送所述第一数据包的时刻为第一时刻,通过所述第一通道和所述第二通道中数据传输时延较大的数据传输通道发送所述第一数据包的时刻为第二时刻,所述第一时刻在所述第二时刻之后,且所述第一时刻与所述第二时刻的差值为所述传输时延差。
  2. 根据权利要求1所述的方法,其特征在于,所述获取所述第一通道和所述第二通道的传输时延差包括:
    通过第一通道和第二通道分别发送第一信令和第二信令,并记录发送所述第一信令的第一发送时间和发送所述第二信令的第二发送时间;
    通过所述第一通道和所述第二通道分别接收所述第一信令对应的第一响应和所述第二信令对应的第二响应,并记录接收到所述第一响应的第一接收时间和接收到所述第二响应的第二接收时间;
    根据所述第一发送时间、所述第一接收时间、所述第二发送时间以及所述第二接收时间,确定所述第一通道和所述第二通道的传输时延差。
  3. 根据权利要求1或2所述的方法,其特征在于,所述获取第一通道和第二通道的传输时延差包括:
    按照预设时间间隔,获取所述第一通道和所述第二通道的传输时延差。
  4. 根据权利要求1至3中任意一项所述的方法,其特征在于,所述通过所述第一通道和所述第二通道并行发送所述第一数据包包括:
    在所述第二时刻,通过所述第一通道和所述第二通道中传输时延较大的数据传输通道发送所述第一数据包;
    以所述第二时刻为起始时刻缓存所述第一数据包,并在所述第一数据包的缓存时间达到所述传输时延差时,通过所述第一通道和所述第二通道中传输时延差较小的数据传输通道发送所述第一数据包。
  5. 根据权利要求1至4中任意一项所述的方法,其特征在于,所述第一时刻在所述第二 时刻之后,且所述第一时刻与所述第二时刻的差值为所述传输时延差,包括:
    在所述传输时延差小于预设阈值的情况下,所述第一时刻在所述第二时刻之后,且所述第一时刻与所述第二时刻的差值为所述传输时延差。
  6. 一种传输方法,其特征在于,所述方法应用于接收端,所述方法包括:
    获取第一通道和第二通道的传输时延差,所述第一通道和所述第二通道表示发送端与所述接收端之间建立的两条不同的数据传输通道,所述发送端用于通过所述第一通道和所述第二通道同时向所述接收端发送第一数据包;
    使能通过所述第一通道和所述第二通道接收到的第一数据包中先满足使能条件的第一数据包;
    其中,对于通过所述第一通道和所述第二通道中数据传输时延较小的数据传输通道接收到的第一数据包,满足所述使能条件包括:所述第一数据包到达所述接收端,且所述第一数据包在所述接收端的缓存时间达到所述传输时延差;
    对于通过所述第一通道和所述第二通道中传输时延较大的数据传输通道接收到的第一数据包,满足所述使能条件包括:所述第一数据包到达所述接收端。
  7. 根据权利要求6所述的方法,其特征在于,所述获取所述第一通道和所述第二通道的传输时延差包括:
    通过第一通道和第二通道分别发送第一信令和第二信令,并记录发送所述第一信令的第一发送时间和发送所述第二信令的第二发送时间;
    通过所述第一通道和所述第二通道分别接收所述第一信令对应的第一响应和所述第二信令对应的第二响应,并记录接收到所述第一响应的第一接收时间和接收到所述第二响应的第二接收时间;
    根据所述第一发送时间、所述第一接收时间、所述第二发送时间以及所述第二接收时间,确定所述第一通道和所述第二通道的传输时延差。
  8. 根据权利要求6或7所述的方法,其特征在于,所述获取第一通道和第二通道的传输时延差包括:
    按照预设时间间隔,获取所述第一通道和所述第二通道的传输时延差。
  9. 根据权利要求6至8中任意一项所述的方法,其特征在于,所述使能所述发送端通过所述第一通道和所述第二通道同时发送的第一数据包中先满足使能条件的第一数据包包括:
    在所述传输时延差小于预设阈值的情况下,使能发送端通过所述第一通道和所述第二通道同时发送的第一数据包中先满足使能条件的第一数据包。
  10. 一种传输装置,其特征在于,所述装置应用于发送端,所述装置包括:
    获取模块,用于获取第一通道和第二通道的传输时延差,所述第一通道和所述第二通道表示所述发送端与接收端之间建立的两条不同的数据传输通道;
    发送模块,用于通过所述第一通道和所述第二通道并行发送第一数据包,以使所述接收端使能通过所述第一通道和所述第二通道并行发送的第一数据包中先到达所述接收端的第一数据包;
    其中,通过所述第一通道和所述第二通道中数据传输时延较小的数据传输通道发送所述第一数据包的时刻为第一时刻,通过所述第一通道和所述第二通道中数据传输时延较大的数据传输通道发送所述第一数据包的时刻为第二时刻,所述第一时刻在所述第二时刻之后,且所述第一时刻与所述第二时刻的差值为所述传输时延差。
  11. 根据权利要求10所述的装置,其特征在于,所述获取模块还用于:
    通过第一通道和第二通道分别发送第一信令和第二信令,并记录发送所述第一信令的第一发送时间和发送所述第二信令的第二发送时间;
    通过所述第一通道和所述第二通道分别接收所述第一信令对应的第一响应和所述第二信令对应的第二响应,并记录接收到所述第一响应的第一接收时间和接收到所述第二响应的第二接收时间;
    根据所述第一发送时间、所述第一接收时间、所述第二发送时间以及所述第二接收时间,确定所述第一通道和所述第二通道的传输时延差。
  12. 根据权利要求10或11所述的装置,其特征在于,所述获取模块还用于:
    按照预设时间间隔,获取所述第一通道和所述第二通道的传输时延差。
  13. 根据权利要求10至12中任意一项所述的装置,其特征在于,所述发送模块还用于:
    在所述第二时刻,通过所述第一通道和所述第二通道中传输时延较大的数据传输通道发送所述第一数据包;
    以所述第二时刻为起始时刻缓存所述第一数据包,并在所述第一数据包的缓存时间达到所述传输时延差时,通过所述第一通道和所述第二通道中传输时延差较小的数据传输通道发送所述第一数据包。
  14. 根据权利要求10至13中任意一项所述的装置,其特征在于,所述第一时刻在所述第二时刻之后,且所述第一时刻与所述第二时刻的差值为所述传输时延差,包括:
    在所述传输时延差小于预设阈值的情况下,所述第一时刻在所述第二时刻之后,且所述第一时刻与所述第二时刻的差值为所述传输时延差。
  15. 一种传输装置,其特征在于,所述装置应用于接收端,所述装置包括:
    获取模块,用于获取第一通道和第二通道的传输时延差,所述第一通道和所述第二通道表示发送端与所述接收端之间建立的两条不同的数据传输通道,所述发送端用于通过所述第一通道和所述第二通道同时向所述接收端发送第一数据包;
    使能模块,用于使能通过所述第一通道和所述第二通道接收到的第一数据包中先满足使能条件的第一数据包;
    其中,对于通过所述第一通道和所述第二通道中数据传输时延较小的数据传输通道接收到的第一数据包,满足所述使能条件包括:所述第一数据包到达所述接收端,且所述第一数据包在所述接收端的缓存时间达到所述传输时延差;
    对于通过所述第一通道和所述第二通道中传输时延较大的数据传输通道接收到的第一数据包,满足所述使能条件包括:所述第一数据包到达所述接收端。
  16. 根据权利要求15所述的装置,其特征在于,所述获取模块还用于:
    通过第一通道和第二通道分别发送第一信令和第二信令,并记录发送所述第一信令的第一发送时间和发送所述第二信令的第二发送时间;
    通过所述第一通道和所述第二通道分别接收所述第一信令对应的第一响应和所述第二信令对应的第二响应,并记录接收到所述第一响应的第一接收时间和接收到所述第二响应的第二接收时间;
    根据所述第一发送时间、所述第一接收时间、所述第二发送时间以及所述第二接收时间,确定所述第一通道和所述第二通道的传输时延差。
  17. 根据权利要求15或16所述的装置,其特征在于,所述获取模块还用于:
    按照预设时间间隔,获取所述第一通道和所述第二通道的传输时延差。
  18. 根据权利要求15至17中任意一项所述的装置,其特征在于,所述使能模块还用于:
    在所述传输时延差小于预设阈值的情况下,使能发送端通过所述第一通道和所述第二通道同时发送的第一数据包中先满足使能条件的第一数据包。
  19. 一种电子设备,其特征在于,包括:
    处理器;
    用于存储处理器可执行指令的存储器;
    其中,所述处理器被配置为执行所述指令时实现权利要求1至5中任意一项所述的方法,或者实现权利要求6至9中任意一项所述的方法。
  20. 一种计算机可读存储介质,其上存储有计算机程序指令,其特征在于,所述计算机程序指令被处理器执行时实现权利要求1至5中任意一项所述的方法,或者实现权利要求6至9中任意一项所述的方法。
  21. 一种计算机程序产品,包括计算机可读代码,或者承载有计算机可读代码的非易失性计算机可读存储介质,当所述计算机可读代码在电子设备中运行时,所述电子设备中的处理器执行权利要求1至5中任意一项所述的方法,或者执行权利要求6至9中任意一项所述的方法。
PCT/CN2022/128920 2021-11-04 2022-11-01 一种传输方法及装置 WO2023078232A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202111301895.9A CN116074197A (zh) 2021-11-04 2021-11-04 一种传输方法及装置
CN202111301895.9 2021-11-04

Publications (1)

Publication Number Publication Date
WO2023078232A1 true WO2023078232A1 (zh) 2023-05-11

Family

ID=86175722

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2022/128920 WO2023078232A1 (zh) 2021-11-04 2022-11-01 一种传输方法及装置

Country Status (2)

Country Link
CN (1) CN116074197A (zh)
WO (1) WO2023078232A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117579679B (zh) * 2024-01-15 2024-04-19 海马云(天津)信息技术有限公司 信令交互方法和装置、电子设备及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1756230A (zh) * 2004-09-30 2006-04-05 华为技术有限公司 降低实时业务时延及时延抖动的方法
CN107371071A (zh) * 2016-05-13 2017-11-21 中兴通讯股份有限公司 数据的传输方法、装置及系统
CN108063985A (zh) * 2016-11-07 2018-05-22 中兴通讯股份有限公司 一种数据收发方法和装置
CN108989138A (zh) * 2017-05-31 2018-12-11 中兴通讯股份有限公司 数据传输方法、装置、系统及网关
US20200107069A1 (en) * 2018-09-28 2020-04-02 Apple Inc. Systems and methods for reducing latency of a video transmission system
CN112118527A (zh) * 2019-06-19 2020-12-22 华为技术有限公司 多媒体信息的处理方法、装置和存储介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1756230A (zh) * 2004-09-30 2006-04-05 华为技术有限公司 降低实时业务时延及时延抖动的方法
CN107371071A (zh) * 2016-05-13 2017-11-21 中兴通讯股份有限公司 数据的传输方法、装置及系统
CN108063985A (zh) * 2016-11-07 2018-05-22 中兴通讯股份有限公司 一种数据收发方法和装置
CN108989138A (zh) * 2017-05-31 2018-12-11 中兴通讯股份有限公司 数据传输方法、装置、系统及网关
US20200107069A1 (en) * 2018-09-28 2020-04-02 Apple Inc. Systems and methods for reducing latency of a video transmission system
CN112118527A (zh) * 2019-06-19 2020-12-22 华为技术有限公司 多媒体信息的处理方法、装置和存储介质

Also Published As

Publication number Publication date
CN116074197A (zh) 2023-05-05

Similar Documents

Publication Publication Date Title
US10516718B2 (en) Platform for multiple device playout
US9338208B2 (en) Common event-based multidevice media playback
US8762580B2 (en) Common event-based multidevice media playback
US10244023B2 (en) Active offline storage management for streaming media application used by multiple client devices
US9843489B2 (en) System and method for synchronous media rendering over wireless networks with wireless performance monitoring
CN108079578A (zh) 一种基于云游戏的码率调整方法、装置及存储介质
US10778742B2 (en) System and method for sharing multimedia content with synched playback controls
US9780894B2 (en) Systems for synchronous playback of media using a hybrid bluetooth™ and Wi-Fi network
US9973290B2 (en) System for media rebroadcasting for synchronized rendering across multiple devices
KR101528367B1 (ko) 사운드 제어 시스템 및 사운드 제어 방법
WO2016095345A1 (zh) 报文转发的方法及网络设备
EP2920953A1 (en) Common event-based multidevice media playback
EP4287591A1 (en) Data transmission method and apparatus, and server, storage medium and program product
WO2020199929A1 (zh) 分发数据的方法和网络设备
CN113727185B (zh) 视频帧播放方法及系统
US20150006945A1 (en) Indirect clock measuring and media adjustment
US20170019198A1 (en) System for synchronous playback of media using a hybrid bluetooth™ and wi-fi network
WO2023078232A1 (zh) 一种传输方法及装置
CN117453582A (zh) 数据传输方法、设备及存储介质
US11876847B2 (en) System and method for synchronizing networked rendering devices
CN119071275A (zh) 音视频数据传输方法及相关装置
CN112153322B (zh) 数据分发方法、装置、设备及存储介质
CN114666776A (zh) 数据发送方法、装置、设备和可读存储介质
WO2022026553A1 (en) Systems and methods for latency-aware social networking
WO2016134186A1 (en) Synchronous media rendering over wireless networks with wireless performance monitoring

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

Country of ref document: EP

Kind code of ref document: A1

122 Ep: pct application non-entry in european phase

Ref document number: 22889256

Country of ref document: EP

Kind code of ref document: A1