WO2017008612A1 - 数据传输方法、装置及系统 - Google Patents

数据传输方法、装置及系统 Download PDF

Info

Publication number
WO2017008612A1
WO2017008612A1 PCT/CN2016/086170 CN2016086170W WO2017008612A1 WO 2017008612 A1 WO2017008612 A1 WO 2017008612A1 CN 2016086170 W CN2016086170 W CN 2016086170W WO 2017008612 A1 WO2017008612 A1 WO 2017008612A1
Authority
WO
WIPO (PCT)
Prior art keywords
data packets
data
transmission
group
receiving
Prior art date
Application number
PCT/CN2016/086170
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 WO2017008612A1 publication Critical patent/WO2017008612A1/zh
Priority to US15/683,295 priority Critical patent/US10680839B2/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1863Arrangements for providing special services to substations for broadcast or conference, e.g. multicast comprising mechanisms for improved reliability, e.g. status reports
    • H04L12/1877Measures taken prior to transmission
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • H04L1/0006Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission format
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/08Arrangements for detecting or preventing errors in the information received by repeating transmission, e.g. Verdan system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/32Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L2001/0092Error control systems characterised by the topology of the transmission link
    • H04L2001/0096Channel splitting in point-to-point links

Definitions

  • the network transmission mode adopted by the communication device is usually that the transmitting device and the receiving device transmit the same data using the same transmission protocol.
  • Common transmission protocols include TCP (Transmission Control Protocol), UDP (User Datagram Protocol), Bluetooth SPP (Serial Port Profile), and so on.
  • TCP Transmission Control Protocol
  • UDP User Datagram Protocol
  • Bluetooth SPP Serial Port Profile
  • the transmission protocol first divides the data into thousands of data packets, and each data packet is assigned a serial number, and the data transmission device sequentially transmits the data packets to the receiving device.
  • reliable transmission protocols such as TCP
  • TCP For reliable transmission protocols such as TCP, it has a packet loss retransmission mechanism. If the current data packet received by the receiving device is not the correct data packet, the receiving device will notify the transmitting device to retransmit the correct data packet while continuing to receive the next new data packet.
  • a non-reliable transport protocol such as UDP
  • UDP For a non-reliable transport protocol such as UDP, if the current number received by the receiving device is not the correct packet, the packet will be dropped by default and the next new packet will continue to be received. Therefore, reliable transmission protocols are applicable to logarithmic services that require integrity, such as file transfers;
  • the -5 ⁇ type transmission protocol is fast and efficient, and is suitable for services such as streaming media that have real-time requirements for data.
  • services such as streaming media that have real-time requirements for data.
  • both reliable and non-reliable transport protocols can only meet some of the service requirements. Therefore, the existing data transmission mode cannot meet the integrity and real-time service requirements at the same time. Summary of the invention
  • the embodiments of the present invention provide a data transmission method, apparatus, and system, which can meet the service requirements for the integrity and real-time performance of data transmission between devices.
  • the data transmission method is provided by the embodiment of the present invention, and is used by the sending end device to transmit data to the receiving end device, where the method includes: the sending end device acquiring a set of data packets, where the set of data packets includes at least one data a packet, all data packets in the group of data packets have corresponding sequence numbers; the sender device and the receiver device initialize at least two transmission protocols and establish at least two transmission channels corresponding to at least two transmission protocols, Wherein, one transmission channel corresponds to one transmission protocol; the transmitting end device copies the group of data packets into multiple groups of data packets according to the number of the at least two transmission channels; and the transmitting end device simultaneously uses the at least two transmission channels Transmitting the copied plurality of data packets to the receiving end device, wherein one transmission channel transmits a group of data packets; the receiving end device pre-receives data packets transmitted by the at least two transmission channels; and for the same sequence The data packet of the number, the receiving end device receives the first arrival of the transmission of the at least two
  • the embodiment of the present invention further provides a data transmission method, which is used by a source device, where the method includes: acquiring a group of data packets, where the group of data packets includes at least one data packet, and all the numbers in the group of data packets.
  • the it packet has a corresponding sequence number; at least two transmission protocols are initialized and at least two transmission channels corresponding to at least two transmission protocols are established with the receiving end device, wherein one transmission channel corresponds to one transmission protocol; according to the at least two Copying the set of data packets into a plurality of sets of data packets; and simultaneously transmitting the copied plurality of sets of data through the at least two transmission channels.
  • Packets are transmitted to the receiving end device, wherein one transmission channel Transfer a set of packets.
  • a data transmission method provided by the embodiment of the present invention is used for a receiving end device, where the method includes: “initiating at least two transmission protocols and establishing at least two transmissions corresponding to at least two transmission protocols with the transmitting end device.
  • Channel wherein one transmission channel corresponds to one transmission protocol, and the at least two transmission channels are used to transmit the same group of data packets, all data packets in the group of data packets have corresponding sequence numbers, and the group of data packets are copied in advance Multiple groups, such that one transmission channel is used to transmit a group of data packets; pre-receiving data packets transmitted by the transmitting end device through the at least two transmission channels; and receiving at least two data packets for the same serial number The first arriving packet transmitted by the transmission channel and discarded and arrived at other packets with the same sequence number.
  • the data transmission device configured to run on a transmitting device, where the device includes: an acquiring module, configured to acquire a group of data packets, where the group of data packets includes at least one data packet, and the group of data packets All the data packets have a corresponding serial number; a multi-protocol channel establishing module, configured to initialize at least two transmission protocols and establish at least two transmission channels corresponding to at least two transmission protocols with the receiving end device, wherein one transmission channel Corresponding to a transmission protocol; a copying module, configured to copy the group of data packets into a plurality of groups of data packets according to the number of the at least two transmission channels; and transmit a block for transmitting the data through the at least two transmission channels simultaneously
  • the plurality of sets of data packets are sent to the receiving end device, wherein one transmission channel transmits a set of data packets.
  • the embodiment of the present invention further provides a data transmission device, running on a receiving end device, where the device includes: a multi-protocol channel establishing module, configured to initialize at least two transmission protocols and establish at least two transmissions corresponding to the transmitting end device.
  • a multi-protocol channel establishing module configured to initialize at least two transmission protocols and establish at least two transmissions corresponding to the transmitting end device.
  • At least two transmission channels of the protocol wherein one transmission channel corresponds to one transmission association, and the at least two transmission channels are used to transmit the same group of data packets, and all data packets in the group of data packets have corresponding sequences No., the group of data packets are copied into multiple groups in advance, so that one transmission channel is used to transmit a group of data packets; data pre-connection a receiving module, configured to pre-receive a data packet that is sent by the sending end device by using the at least two transmission channels; and a data receiving module, configured to receive, for a data packet of the same serial number, a first arrival of the at least two transmission channel transmissions Packets that are dropped and arrive at other packets with the same sequence number.
  • a data transmission system includes a transmitting end device and a receiving end device, where the transmitting end device includes the data transmission device running on the transmitting end device, and the receiving end device includes the foregoing running on the receiving end device. Data transmission device.
  • a non-transitory computer readable storage medium provided by an embodiment of the present invention stores a program that enables a computer to execute the above-described data transmission method for a transmitting end device.
  • a non-transitory computer readable storage medium provided by an embodiment of the present invention stores a program, and the program enables the computer to execute the above-mentioned data transmission method for the receiving end device.
  • the data transmission method, device and system provided by the embodiments of the present invention may simultaneously transmit the same group of data packets by using a transmission channel corresponding to multiple transmission protocols, which may be but not limited to reliable and non-reliable transmission protocols. Combined, it can meet the integrity of data transmission and real-time service requirements.
  • FIG. 1 is a schematic diagram of an application environment of a data transmission method, apparatus, and system according to an embodiment of the present invention.
  • Fig. 2 is a block diagram showing the structure of an embodiment of the terminal device of Fig. 1.
  • FIG. 3 is a block diagram showing the structure of one embodiment of the server of Figure 1.
  • FIG. 4 is a schematic flowchart of a data transmission method according to an embodiment of the present invention.
  • FIG. 5 is a schematic diagram of a data transmission process of a data transmission method according to an embodiment of the present invention.
  • FIG. 6 is a diagram showing a data transmission process of a data transmission method according to another embodiment of the present invention.
  • Figure 7 is a flow chart showing the main sub-steps of step S17 in Figure 4 .
  • FIG. 8 is a schematic flowchart diagram of a data transmission method according to another embodiment of the present invention.
  • FIG. 9 is a schematic flowchart diagram of a data transmission method according to another embodiment of the present invention.
  • FIG. 10 is a schematic flowchart diagram of a data transmission method according to another embodiment of the present invention.
  • FIG. 11 is a schematic flowchart diagram of a data transmission method according to another embodiment of the present invention.
  • FIG. 12 is a schematic flowchart diagram of a data transmission method according to another embodiment of the present invention.
  • Figure 13 is a flow chart showing the main sub-steps of step S43 in Figure 12 .
  • FIG. 14 is a schematic flowchart diagram of a data transmission method according to another embodiment of the present invention.
  • FIG. 15 is a structural block diagram of a data transmission apparatus according to an embodiment of the present invention.
  • FIG. 16 is a structural block diagram of a data transmission apparatus according to another embodiment of the present invention.
  • FIG. 1 is a schematic diagram of an application environment of a data transmission method, apparatus, and system according to an embodiment of the present invention.
  • the transmitting device 100 and the receiving device 200 are located in a wired or wireless network, and data transmission is performed through the wired or wireless network to implement the data transmission method provided in the following embodiments.
  • the above-mentioned sender device 100 and the receiver device 200 can be, but are not limited to, a server and a terminal device.
  • the server is, for example, a computer deployed in a network environment
  • the terminal device is, for example, a desktop computer, a notebook computer, or a smart phone. Digital assistants, tablets, and more. Please refer to FIG. 2.
  • the terminal device includes a memory 102, a storage controller 104, one or more (only one is shown) processor 106, a peripheral interface 108, a radio frequency module 110, a positioning module 112, and a camera module 114.
  • the structure shown in FIG. 2 is merely illustrative, and the terminal device may further include more or less components than those shown in FIG. 2, or have different components as shown in FIG. It can be implemented in hardware, software, or a combination thereof.
  • the memory 102 can be used to store software programs and modules, such as data transmission methods, devices, and program instructions/blocks corresponding to the system in the embodiment of the present invention.
  • the processor 106 runs the software programs stored in the memory 102 and Blocks, thereby performing various functional applications and data processing, such as implementing a data transmission method in an embodiment of the present invention.
  • Memory 102 can include high speed random access memory, and can also include non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid state memory.
  • memory 102 can further include memory remotely located relative to processor 106, which can be connected to the terminal device over a network. Examples of such networks include, but are not limited to, the Internet, intranets, local area networks, mobile communication networks, and combinations thereof. Access to the memory 102 by the processor 106 and other possible components can be performed under the control of the memory controller 104.
  • Peripheral interface 108 couples various input/input devices to processor 06 and memory 102.
  • the processor 106 runs various software, instructions within the memory 102 to perform various functions of the terminal device and perform data processing.
  • peripheral interface 108, processor 106, and memory controller 104 may be implemented in a single chip, and in other examples, separate chips may also be used. Realized.
  • the radio frequency module 110 is configured to receive and transmit electromagnetic waves, and realize mutual conversion between electromagnetic waves and electric signals, thereby communicating with a communication network or other devices.
  • the radio frequency module 110 can include various existing circuit components for performing these functions, such as an antenna, a radio frequency transceiver, a digital signal processor, an encryption/decryption chip, a Subscriber Identity Module (SIM) card, a memory, and the like.
  • the RF module U 0 can communicate with various networks such as the Internet, intranets, wireless networks or with other devices over a wireless network.
  • the above wireless network may include a cellular telephone network, a wireless local area network or a metropolitan area network.
  • the above wireless network may use various communication standards, protocols and technologies, including but not limited to Global System for Mobile Communication (GSM).
  • GSM Global System for Mobile Communication
  • EDGE Enhanced Data GSM Environment
  • W-C-DMA wideband code division multiple access
  • CDMA Code division access
  • TDMA time division Time division multiple access
  • WiFi wireless fidelity
  • VoIP Voice over internet protocal
  • Wi-Max Worldwide Interoperability for Microwave Access
  • the positioning module 112 is configured to acquire a current location of the terminal device.
  • Examples of positioning module 112 include, but are not limited to, Global Positioning System (GPS), wireless local area network or mobile communication network based positioning technology.
  • GPS Global Positioning System
  • wireless local area network wireless local area network
  • mobile communication network based positioning technology wireless local area network
  • the camera module 114 is used to take a photo or video.
  • the photographed or video taken may be stored in the memory 102 and transmitted by the radio frequency module 110.
  • the audio module 116 provides an audio interface to the user, which may include one or more microphones, One or more speakers and audio circuits.
  • the audio circuit receives sound data from the peripheral interface 108, converts the sound data into electrical information, and transmits the electrical information to the speaker.
  • the speaker converts the electrical information into sound waves that the human ear can hear.
  • the audio circuit also receives electrical information from the microphone, converts the electrical signal to sound data, and transmits the number of sounds to the peripheral interface 108 for further processing. Audio data may be obtained from memory 102 or via RF module 110.
  • the audio data can also be stored in the memory 102 or transmitted through the radio frequency module 110.
  • the audio module 116 can also include a headphone jack for providing an audio interface to the headset or other device.
  • Display screen 118 provides an output interface between the terminal device and the user.
  • display screen 118 displays video output to the user, the content of which may include text, graphics, video, and any combination thereof. Some output results correspond to some user interface objects.
  • the display screen 118 can also provide an input interface between the terminal device and the user for receiving user input, such as a user's gestures such as clicking, sliding, etc., so that the user interface object responds to the input of the user.
  • the technique of detecting user input can be based on resistive, capacitive or any other possible touch detection technology.
  • Specific examples of display screen 118 include, but are not limited to, liquid crystal displays or luminescent polymer displays.
  • the push-key module 120 also provides an interface for the user to input to the terminal device, and the user can perform different functions by pressing different buttons.
  • Fig. 3 shows a block diagram of an embodiment of a server which is also applicable to the transmitting device 100 or the receiving device 200.
  • the server includes: a memory 201, a processor 202, and a network module 203.
  • the structure shown in FIG. 3 is merely illustrative, and the server may further include more or less components than those shown in FIG. 3, or have a different configuration from that shown in FIG.
  • the components shown in Figure 3 can be implemented in hardware, software, or a combination thereof.
  • the server in the embodiment of the present invention may further include multiple servers with different functions.
  • the memory 201 can be used to store software programs and modules, such as data transmission methods, devices, and program instructions/modules corresponding to the system in the embodiment of the present invention.
  • the processor 202 runs the software programs and modules stored in the memory 201, thereby
  • the data transmission method in the embodiment of the present invention is implemented by performing various function applications and data processing.
  • Memory 201 can include high speed random access memory, and can also include non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid state memory. In some examples, memory 201 can further include memory remotely located relative to processor 202, which can be connected to the server over a network. Further, the above software program and module may further include: a service module 221 and an operating system 222.
  • the operating system 222 may be LINUX, UNIX, WINDOWS, which may include various software components and/or drivers for managing system tasks (eg, memory management, storage device control, power management, etc.), and may be various Hardware or software components communicate with one another to provide an operating environment for other software components.
  • the service module 221 runs on the basis of the operating system 222, and listens to the request from the network through the network service of the operating system 222, completes corresponding data processing according to the request, and returns the processing result to the client. That is, the service module 221 is configured to provide network services to the client.
  • Network module 203 is for receiving and transmitting network signals.
  • the above network signals may include wireless signals or wired signals.
  • the network signal is a wired network signal.
  • the network module 203 may include components such as a processor, a random access memory, a converter, a crystal oscillator, and the like.
  • the embodiment of the invention provides a data transmission method, which can be implemented by the application environment shown in FIG. 1 and used by the transmitting device to transmit data to the receiving device.
  • Figure 4 shows a flow chart of the above method. Referring to FIG. 4, the method of this embodiment includes the following steps.
  • Step Sil the sender device acquires a group of data packets.
  • the sender device acquires a group of data packets to be transmitted to the receiver device.
  • the group of data packets includes at least one data packet, and each data packet is small data that is not required to be split by a transmission protocol. All packets in the set of packets have corresponding serial numbers.
  • the sequence number of the data packets in the set of data packets can be assigned by the transmitting device. For example, the sender device sequentially assigns a sequence number to each data packet in the group of data packets, and the number of the group packets is different from the sequence number of other data packets in each packet.
  • Step S12 The sender device and the receiver device initialize at least two transport protocols and establish at least two transport channels corresponding to at least two transport protocols.
  • the sender device and the receiver device both include multiple transmission protocols, and the sender device and the receiver device both include at least two identical transmission protocols.
  • the transport protocol can be, but is not limited to, protocols such as TCP, UDP, Bluetooth SPP.
  • the transmitting device and the receiving device initialize at least two transmission protocols and establish at least two transmission channels corresponding to at least two transmission protocols.
  • one transmission channel corresponds to one transmission-protocol.
  • the sender device includes three transmission protocols: l'CP, IJDP, and Bluetooth SPP.
  • the receiver device also has three transmission protocols: TCP UDP and Bluetooth SPP.
  • TCP UDP Transmission Protocol UDP
  • Bluetooth SPP Transmission Protocol UDP
  • Transmission channel When the sender device and the sink device have a larger number of transmission protocols at the same time, more than three transmission protocols can be used to transmit data. In this case, more transmissions need to be established.
  • Step S13 The transmitting device copies the group of data packets into a plurality of groups of packets according to the number of the at least two transmission channels.
  • the transmitting device copies the group of data packets, so that the number of groups of all the group data packets after the replication is equal to the number of the established transmission channels, so that one transmission channel can transmit a group of data packets. Since the packets of other groups are copied from the group of packets, the same packet has the same sequence number in each group of packets after replication.
  • Step S14 The transmitting device simultaneously transmits the copied multiple sets of packets through the at least two transmission channels.
  • the packet is transmitted to the receiving device, where one transmission channel transmits a group of data packets.
  • the transmitting device simultaneously transmits the copied multiple sets of data packets to the receiving end device through the at least two transmission channels, that is, the multi-protocol simultaneous transmission is used to transmit the previously acquired by the transmitting end device.
  • Group data package For example, if the transmitting device and the receiving device previously establish the first transmission channel (such as established according to TCP) and the second transmission channel (such as established according to UDP), the number of the multiple data packets is In two groups, the first transmission channel is used to transmit one of the data packets, and the second transmission channel is used to transmit another of the data packets.
  • the length of each data packet in the group of data packets is not greater than the length of the smallest packet in the largest data packet that is allowed to be transmitted by the at least two transmission protocols. Still speaking, the above example is used, if the first transmission protocol corresponding to the first transmission channel allows transmission of the undivided data packet length of up to 1480 bytes, and the second transmission protocol corresponding to the second transmission channel allows transmission without splitting.
  • the maximum packet length is 1472 bytes
  • the second transmission protocol allows the transmission of the packet-free packet length to be the smallest, then the length of each packet in the group of packets should not be greater than the transmission allowed by the second transmission protocol.
  • the maximum packet length that is split which is 1472 bytes.
  • Step S15 The receiving end device pre-receives the data packet transmitted by the at least two transmission channels. In this step, when a data packet in each transmission channel arrives at the receiving end device, the receiving end device pre-receives the data packet.
  • Step S16 the receiving device receives the at least two data packets for the same serial number.
  • the receiving end device receives the first arriving data packet transmitted by the at least two transmission channels and discards other data packets with the same serial number that arrive after being discarded, that is, the receiving data packet is used.
  • the above example is also used.
  • the transmitting end device and the receiving end device simultaneously transmit the same two sets of data packets after the copying by using the first transmission channel and the second transmission channel, assuming each group of data packets. It includes 4 data packets, and the serial numbers SN of the 4 data packets are 1, 2, 3, and 4, respectively.
  • the transmitting device and the receiving device simultaneously transmit the same set of data packets by using more than three transmission channels, the receiving device receives the first arriving data packet and discards the data packet with the same serial number. After the other packets with the same serial number are the same.
  • the same group of data packets are simultaneously transmitted by using a transmission channel corresponding to multiple transmission protocols, which may be but not limited to reliable and non-reliable types.
  • the combination of transport protocols can simultaneously meet the integrity of data transmission and real-time service requirements.
  • FIG. 7 is a schematic flow chart of the main sub-steps of step S16 of the embodiment, and the step S16 includes the following sub-steps.
  • Step S161 when a data packet in each transmission channel arrives at the receiving end device, the receiving end device determines, after pre-receiving the data packet, whether the transmission with the same serial number as the data packet is transmitted through another transmission channel. Another packet.
  • the receiving end device pre-receives each data packet transmitted by each transmission channel. After that, the serial number of the currently arrived data packet is confirmed, and it is determined whether another data packet transmitted through another transmission channel having the same serial number as the current data packet has been received, and if it is determined that the other data packet has been received, Then, step S162 is performed; if it is determined that the other data packet is not received, step Si 63 is performed.
  • Step S162 discarding the data packet
  • the receiving device judges that another data packet transmitted via another transmission channel having the same sequence number as the current data packet has been received, the currently arriving data packet is discarded.
  • Step S 163 receiving the data packet
  • the receiving device determines that another data packet transmitted via another transmission channel having the same sequence number as the current data packet is not received, the data packet is received.
  • FIG. 8 is a flowchart of the above method. Referring to FIG. 8, the method of this embodiment includes the following steps.
  • Step S11 The sender device acquires a group of data packets.
  • Step S12 The sender device and the receiver device initialize at least two transmission protocols and establish at least two transmission channels corresponding to at least two types of transmission-coordination.
  • Step S13 The sender device copies the group of data packets into multiple groups of data packets according to the number of the at least two transmission channels.
  • Step S14 The transmitting device simultaneously transmits the copied plurality of data packets to the receiving end device through the at least two transmission channels, where one transmission channel transmits a group of data packets.
  • Step S15 The receiving end device pre-receives the packets transmitted by the at least two transmission channels.
  • Step S17 After the receiving device receives all the data packets included in the group of data packets, releasing the at least two transmission channels.
  • the transmitting device and the receiving device release the at least two transmission channels after completing the transmission of the group of data packets. For example, after the receiving device receives all the data packets included in the group of data packets, the at least two transmission channels are released. Further, the receiving end device further sends information that all the data packets included in the group of data packets have been received to the sending end device, and when the sending end device receives all the information included in the received data packet sent by the receiving end device When the information of the packet is released, the at least two transmission channels are released.
  • the sending end device may send the information releasing the at least two transmission channels to the receiving end device after transmitting all the data packets included in the group of data packets, and the receiving end device receives the group.
  • the acknowledgment information for releasing the at least two transmission channels is sent to the transmitting device, and the transmitting device releases the at least two transmission channels after receiving the acknowledgment message.
  • the release of the at least two transmission channels may be performed according to respective transmission protocols or actual needs, and is not limited to the above-mentioned several ways.
  • the at least two transmission channels may be released simultaneously or separately; or, as long as the receiving end device receives After all the data packets contained in the group of data packets, all the transmission channels in the at least two transmission channels are released regardless of whether or not the transmission channel has not completed the transmission of all the data packets.
  • Figure 9 is a flow chart of the above method. Referring to FIG. 9, the method of this embodiment includes the following steps.
  • Step S21 The sending end device performs pre-segmentation on data to be sent to the receiving end device to obtain the group of data packets.
  • the standard of the segmentation needs to satisfy the length of each data packet in the group of data packets not greater than the maximum length of the data packet that is allowed to be transmitted by each of the at least two transmission protocols
  • the minimum packet length, and the sender device and the sink device both include the at least two transport protocols, and simultaneously transmit the group of data packets through the at least two transport protocols.
  • Step S11 The sender device acquires a group of data packets.
  • Step S12 The sender device and the receiver device initialize at least two transmission protocols and establish at least two transmissions corresponding to at least two transmission channels.
  • Step S13 The sender device copies the group of data packets into multiple groups of data packets according to the number of the at least two transmission channels.
  • Step S14 The transmitting device simultaneously transmits the copied plurality of data packets to the receiving end device through the at least two transmission channels, where one transmission channel transmits a group of data packets.
  • Step S15 The receiving end device pre-receives the data packet transmitted by the at least two transmission channels.
  • Step S17 After the receiving device receives all the data packets included in the group of data packets, releasing the at least two transmission channels.
  • the steps S1 to S6 can refer to the embodiment shown in FIG. 1, and the step S17 can refer to the embodiment shown in FIG. 8, and details are not described herein again.
  • Step S18 After receiving all the data packets included in the group of data packets, the receiving device integrates all the received data packets.
  • the receiving device integrates all the received data packets, so that all the received data packets are integrated into a group of data packets or further restored into The data before the splitting device performs the splitting.
  • FIG. 10 is a flow chart showing the above method. Referring to FIG. 10, the method of this embodiment includes the following steps. Step S31, obtaining a group of data packets.
  • the sender device acquires a group of data packets to be transmitted to the receiver device, where the group of data packets includes at least one data packet.
  • Each packet is small data that does not need to be split via a transport protocol. All packets in this group of packets have corresponding serial numbers.
  • the sequence number of the data packets in the set of data packets can be assigned by the source device. For example, the source device sequentially assigns a sequence number to each data packet in the group of data packets, and the sequence number of each data packet in the group of data packets is different from other data packet sequence numbers.
  • the transmitting device pre-segmentizes the big data to obtain the group of data packets, where
  • the standard shall be such that the length of each data packet in the group of data packets is not greater than the length of the smallest packet in the largest packet that is allowed to be transmitted by each of the at least two transmission protocols, and the source device and the receiving end are The devices each include the at least two transmission protocols.
  • Step S32 initializing at least two transmission protocols and establishing at least two transmission channels corresponding to at least two transmission protocols with the receiving end device.
  • the sending device when the transmitting device is ready to send the group of data packets to the receiving device, the sending device initializes at least two transmission protocols and establishes at least two transmission channels corresponding to the at least two transmission protocols with the receiving device.
  • one transmission channel corresponds to one transmission protocol.
  • the sender device includes three transmission protocols: TCP, UDP, and Bluetooth SPP.
  • the receiver device also has three transmission protocols: TCP, UDP, and Bluetooth SPP.
  • the end device can select any two transmission protocols of TCP, UDP, and Bluetooth SPP to transmit data, establish two transmission channels, or use three transmission protocols: TCP, UDP, and Bluetooth SPP to transmit data.
  • Three transmission channels When the sender device and the sink device have a larger number of transmission protocols at the same time, more than three transmission protocols can be used to transmit data. More transmission channels.
  • Step S33 copying the group of data packets into a plurality of groups of data packets according to the number of the at least two transmission channels.
  • the transmitting device copies the group of data packets, so that the number of groups of all the group data packets after the replication is equal to the number of the established transmission channels, so that one transmission channel can transmit a group of data packets. Since the number of other groups is copied from the group number, the same data packet has the same sequence number in each group of data packets after the copy.
  • Step S34 Simultaneously transmit the copied plurality of data packets to the receiving end device through the at least two transmission channels, where one transmission channel transmits a group of data packets.
  • the transmitting device simultaneously transmits the copied multiple sets of data packets to the receiving end device through the at least two transmission channels, that is, the multi-protocol simultaneous transmission is used to transmit the previously acquired group of data packets.
  • the transmitting device and the receiving device previously establish the first transmission channel (such as established according to TCP) and the second transmission channel (such as established according to UDP)
  • the number of the multiple data packets is In two groups, the first transmission channel is used to transmit one of the data packets, and the second transmission channel is used to transmit another of the data packets.
  • the length of each data packet in the group of data packets is not greater than the length of the smallest packet in the largest data packet that is allowed to be transmitted by the at least two transmission protocols.
  • the above example is used to illustrate that if the first transmission protocol corresponding to the first transmission channel allows transmission without splitting, the packet length is up to 1480 bytes, and the second transmission protocol corresponding to the second transmission channel allows transmission without The length of the divided packet is up to 1472 bytes, and the second transmission protocol allows the transmission of the packet-free packet to be the smallest.
  • the length of each packet in the group of packets should be no greater than the transmission allowed by the second transmission protocol.
  • the maximum packet length that does not need to be split ie 1472 bytes.
  • FIG. 11 shows a flow of the foregoing method.
  • the method of this embodiment includes the following steps.
  • Step S31 obtaining a group of data packets.
  • Step S32 Initialize at least two transmission protocols and establish at least two transmission channels corresponding to at least two transmission protocols with the receiving end device.
  • Step S33 Copy the group of data packets into a plurality of groups of data packets according to the number of the at least two transmission channels.
  • Step S34 Simultaneously transmit the copied plurality of data packets to the receiving end device through the at least two transmission channels, where one transmission channel transmits a group of data packets.
  • Step S35 After receiving the information sent by the receiving end device that has received all the data packets included in the group of data packets, release the at least two transmission channels.
  • the at least two transmission channels are released.
  • the transmitting end device may arrive at all the data packets in a group of data packets in each transmission channel. Thereafter, the at least two transmission channels are released simultaneously or separately; or, as long as the receiving end device receives all the data packets included in the group of data packets, whether or not the transmission channel has not completed the transmission of all the data packets, the release is released. All of the at least two transmission channels.
  • the sending end device may send the information releasing the at least two transmission channels to the receiving end device after receiving the information about all the data packets included in the group of data packets sent by the receiving end device. And releasing the at least two transmission f channels after further receiving the confirmation information of the receiving device.
  • the release of the at least two transmission channels may be according to respective transmission protocols or actual It needs to be carried out, and is not limited to the above several examples.
  • the same group of data packets are simultaneously transmitted by using a transmission channel corresponding to multiple transmission protocols, which may be but not limited to reliable and non-reliable types.
  • the combination of transport protocols can simultaneously meet the integrity of data transmission and real-time service requirements.
  • the embodiment of the invention provides a data transmission method, which is used for a receiving end device.
  • ⁇ 2 shows the flow chart of the above method.
  • the method of this embodiment includes the following step S41: initializing at least two transmission protocols and establishing at least two transmission channels corresponding to at least two transmission protocols with the transmitting device.
  • the receiving end device when the receiving end device needs to receive a group of data packets sent by the sending end device, the receiving end device initializes at least two transmission protocols and establishes at least two transmission channels corresponding to the at least two transmission protocols with the transmitting end device. , wherein one transmission channel corresponds to one transmission protocol.
  • the at least two transmission channels are used to transmit the same group of data packets, and all the data packets in the group of data packets have corresponding sequence numbers, and the group of data packets are copied into multiple groups in advance, so that one transmission channel is used for transmitting one.
  • Group packets, and the same packets have the same sequence number in each group of packets after replication.
  • the receiving device includes three transmission protocols: TCP, UDP, and Bluetooth SPP.
  • the transmitting device also has three transmission protocols: TCP, UDP, and Bluetooth SPP.
  • the receiving device and the sending device can select any two of the three transmission protocols: TCP, UDP, and Bluetooth SPP to transmit data and establish two transmission channels; or use the three transmission protocols of TCP, UDP, and Bluetooth SPP to transmit 'data. , establish three transmission channels.
  • the device receiving end and the transmitting end device have a larger number of transmission protocols at the same time, more than three transmission protocols can be used to transmit 'data, and more transmission channels need to be established at this time.
  • Step S42 pre-receiving data packets transmitted by the sending end device through the at least two transmission channels.
  • the receiving end device pre-receives the data packet transmitted by the transmitting end device through the at least two transmission channels. For example, if the receiving end device and the transmitting end device previously establish the first transmission channel (such as established according to TCP) and the second transmission channel (such as established according to UDP), the first transmission channel is used to transmit the transmission channel. The number of groups. According to the packet, the second transmission channel is used to transmit another group of data packets copied by the group of packets that are identical to the group of packets. Among them, the same data packet in the two sets of data packets has the same serial number.
  • the length of each data packet in the group of data packets is not greater than the length of the smallest packet in the largest data packet that is allowed to be transmitted by the at least two transmission protocols. Still speaking, the above example is used, if the first transmission protocol corresponding to the first transmission channel allows transmission of the undivided data packet length of up to 1480 bytes, and the second transmission protocol corresponding to the second transmission channel allows transmission without splitting.
  • the maximum packet length is 1472 bytes
  • the second transmission protocol allows the transmission of the packet-free packet length to be the smallest, then the length of each packet in the group of packets should not be greater than the transmission allowed by the second transmission protocol.
  • the maximum packet length that is split which is 1472 bytes.
  • Step S43 Receive, for the data packets of the same sequence number, the first arriving data packets transmitted by the at least two transmission channels and discard the other data packets with the same sequence number after the discarding.
  • the receiving end device receives the first arriving data packet transmitted by the at least two transmission channels and discards other data packets with the same sequence number after being discarded, that is, adopts "first" The reception principle to receive, after to discard.
  • FIG. 13 is a schematic flowchart of the main sub-steps of step S43 of the embodiment, where the step S43 includes the following sub-steps.
  • Step S431 When a data packet in each transmission channel arrives, after pre-receiving the data packet, it is determined whether another data packet transmitted through another transmission channel having the same sequence number as the data packet has been received.
  • step S432 is performed; if it is determined that the other data packet is not received, step S433 is performed.
  • Step S432 discarding the data packet.
  • the receiving device judges that another data packet transmitted via another transmission channel having the same sequence number as the current data packet has been received, the currently arriving data packet is discarded.
  • Step S433 receiving the data packet.
  • the receiving device determines that another data packet transmitted via another transmission channel having the same sequence number as the current data packet is not received, the data packet is received.
  • FIG. 14 shows a flow chart of the above method. Please refer to FIG. 14, the method of this embodiment includes the following steps.
  • Step S41 Initialize at least two transmission protocols and establish at least two transmission channels corresponding to at least two transmission protocols with the transmitting device.
  • Step S42 pre-receiving data packets transmitted by the source device through the at least two transmission channels.
  • Step S43 Receive, for the data packets of the same sequence number, the first arriving data packets transmitted by the at least two transmission channels and discard the other data packets with the same sequence number after the discarding.
  • steps S41 to S43 can refer to the embodiment shown in FIG. 12, and Again
  • Step S44 After receiving all the data packets included in the group of data packets, release the at least two transmission channels.
  • the receiving device After the receiving device receives all the data packets included in the group of data packets, the at least two transmission channels are released. Further, the receiving device also sends the information of all the data packets included in the packet to the transmitting device.
  • the receiving end device may release the at least two transmission channels simultaneously or separately after all the data packets in a group of data packets in each transmission channel arrive at the receiving end device; or, as long as the receiving end device receives the data packet After all the data packets contained in the group data packet, all the transmission channels in the at least two transmission channels are released regardless of whether or not the transmission channel has not completed the transmission of all the data packets.
  • Step S45 After receiving all the data packets included in the group of data packets, all the received data packets are integrated.
  • the receiving device integrates all the received data packets, so that all the received data packets are integrated into a group of data packets or further restored into The data before the splitting device performs the splitting.
  • the embodiment of the invention provides a data transmission device, which can be used in a transmitting device to implement the data transmission method in the above embodiment.
  • the apparatus includes an acquisition module 501, a multi-protocol channel establishment module 503, a replication module 504, a transmission module 505, and a transmission channel release module 506.
  • the acquisition module 50] is used to acquire a set of data packets.
  • the obtaining module 501 acquires a group of data packets to be transmitted to the receiving end device, where the group of data packets includes at least one data packet.
  • Each packet is d, data that does not need to be split by a transport protocol. All packets in the set of packets have corresponding serial numbers.
  • a multi-protocol channel establishing module 503, configured to initialize and receive at least two transmission protocols
  • the end device establishes at least two transmission channels corresponding to at least two transmission protocols, wherein one transmission channel corresponds to one type of transmission.
  • the copying module 504 is configured to copy the group of data packets into a plurality of groups of data packets according to the quantity of the at least two transmission channels, where the packets of the same group have the same sequence number in each group of the copied data packets.
  • the transmission module 505 is configured to simultaneously transmit the copied plurality of data packets to the receiving end device through the at least two transmission channels, where one transmission channel transmits a group of data packets. Specifically, the transmission module 505 simultaneously transmits the copied multiple sets of data packets to the receiving end device through the at least two transmission channels, that is, the multi-protocol simultaneous transmission manner is used to transmit the group of data packets acquired by the obtaining module 501. .
  • the transmitting device and the receiving device previously establish the first transmission channel (such as established according to TCP) and the second transmission channel (such as established according to UDP), the number of the multiple data packets is In two groups, the first transmission channel is used to transmit one of the data packets, and the second transmission channel is used to transmit another of the data packets.
  • the length of each data packet in the group of data packets is not greater than the minimum packet length in the largest data packet that is allowed to be transmitted by the at least two transmission protocols.
  • Calcium is described by the above example, if the first transmission protocol corresponding to the first transmission channel allows transmission of the undivided data packet length of up to 1480 bytes, and the second transmission protocol corresponding to the second transmission channel allows transmission without division.
  • the maximum packet length is 1472 bytes, and the second transmission protocol allows the transmission of the packet-free packet length to be the smallest, then the length of each packet in the group of packets should not be greater than the transmission allowed by the second transmission.
  • the maximum packet length that does not need to be split which is 1472 bytes.
  • the transmission channel release module 506 is configured to release the at least two transmission channels after receiving the information sent by the receiving end device that has received all the data packets included in the group of data packets. Wherein, when the sending end device receives the received data packet sent by the receiving end device After the information of all the included data packets, the transmission channel release module 506 # puts the at least two transmission channels. After the sending end device receives the information sent by the receiving end device that has received all the data packets included in the group of data packets, the transmission channel releases.
  • the module 506 can all the data in a group of data packets in each transmission channel.
  • the transmission channel translation module 506 releases all transmission channels in the at least two transmission channels
  • the sending end device may also send and release the at least two transmissions by the transmission channel release module 506 after receiving the information about all the data packets included in the group of data packets sent by the receiving end device.
  • the information of the channel is sent to the receiving device, and the at least two transmission channels are released after further receiving the confirmation information of the receiving device.
  • the release of the at least two transmission channels may be performed according to respective transmission protocols or actual needs, and is not limited to the above-described several ways.
  • the data transmission apparatus further includes a pre-segmentation module 500 for pre-segmenting data to obtain the set of data packets.
  • the standard of the segmentation needs to satisfy the length of each packet in the group of data packets is not greater than the length of the smallest packet in the largest packet that is allowed to be transmitted by each of the at least two transmission protocols, and the sender device The at least two transmission protocols are included with the receiving device, and the group of data packets are simultaneously transmitted through the at least two transmission protocols.
  • the same group of data packets are simultaneously transmitted by using a transmission channel corresponding to multiple transmission protocols, which may be but not limited to reliable and non-reliable types.
  • the combination of transport protocols can simultaneously meet the integrity of data transmission and real-time service requirements.
  • Embodiments of the present invention provide a data transmission device that can operate on a receiving end device.
  • the data transmission method used in the foregoing embodiment is as shown in FIG. 16.
  • the device includes a multi-protocol channel establishing module 601, a data pre-receiving module 602, a judging module 603, a data receiving module 604, a transmission channel releasing module 605, and integration.
  • the multi-protocol channel establishing module 601 is configured to initialize at least two transmission protocols and establish at least two transmission channels corresponding to the at least two transmission protocols with the transmitting end device.
  • the multi-protocol channel establishing module 601 initializes at least two types of transmissions, and negotiates with the transmitting end device to establish at least two corresponding to at least two transmission protocols.
  • the at least two transmission channels are used to transmit the same group of data packets, and all the data packets in the group of data packets have corresponding sequence numbers, and the group of data packets are copied into multiple groups in advance, so that one transmission channel is used for transmitting one.
  • Group packets, and the same packets have the same sequence number in each group of packets after replication.
  • the receiving device includes three transmission protocols: TCP, UDP, and Bluetooth SPP.
  • the transmitting device also has three transmission protocols: TCP, UDP, and Bluetooth SPP.
  • the receiving device and the sending device can select any two transmission protocols, TCP UDP > Bluetooth SPP, to transmit data, establish two transmission channels, or use three transmission protocols: TCP, UDP, and Bluetooth SPP to transmit 'data.
  • Establish three transmission channels When the device receiving end and the transmitting end device have a larger number of transmission protocols at the same time, more than three transmission protocols can be used to transmit data, and more transmission channels need to be established at this time.
  • the data pre-receiving module 602 is configured to pre-receive data packets that are sent by the sending end device by using the at least two transmission channels. Specifically, the data pre-reception module 602 pre-receives data packets transmitted by the source device through the at least two transmission channels. For example, if the receiving end device and the transmitting end device previously establish the first transmission channel (such as established according to TCP) and the second transmission channel (such as established according to UDP), the first transmission channel is used to transmit the transmission channel.
  • the group of data packets, and the second transmission channel is used to transmit another group of data packets copied by the group of data packets that are identical to the group of data packets. Among them, the packets of Tongxiang in the two groups of data packets are in the same serial number.
  • the length of each data packet in the group of data packets is not greater than the length of the smallest packet in the largest data packet that is allowed to be transmitted by the at least two transmission protocols. Still speaking, the above example is used, if the first transmission protocol corresponding to the first transmission channel allows transmission of the undivided data packet length of up to 1480 bytes, and the second transmission protocol corresponding to the second transmission channel allows transmission without splitting.
  • the maximum packet length is 1472 bytes
  • the second transmission protocol allows the transmission of the packet-free packet length to be the smallest, then the length of each packet in the group of packets should not be greater than the transmission allowed by the second transmission protocol.
  • the maximum packet length that is split which is 1472 bytes.
  • the determining module 603 is configured to: when a data packet in each transmission channel arrives at the receiving end device, determine, after the data pre-reception t block 602 pre-receives the data packet, whether the same sequence number as the data packet has been received Another data packet transmitted in another transmission channel; if it is determined that the other data packet has been received, the notification data receiving module 604 discards the data packet; and if it is determined that the other data packet is not received, the data reception is notified Module 604 receives the data packet. Specifically, after the data pre-reception module 602 pre-receives each data packet transmitted by each transmission channel, the determining module 603 confirms the serial number of the currently arrived data packet, and determines whether the same serial number as the current data packet has been received.
  • Another data packet transmitted in another transmission channel if the determining module 603 determines that another data packet transmitted via another transmission channel having the same sequence number as the current data packet has been received, the notification data receiving module 604 discards the current data packet.
  • the arrived data packet if the determining module 603 determines that another data packet transmitted via another transmission channel having the same sequence number as the current data packet is not received, the notification data receiving module 604 receives the data packet.
  • the data receiving module 604 is configured to receive the at least two data packets for the same serial number.
  • the transmission channel release module 605 is configured to release the at least two transmission channels after the data receiving module 604 receives all the data packets included in the group of data packets. Specifically, after the data receiving module 604 receives all the data packets included in the group of data packets, the at least two transmission channels are released by the transmission channel release module 605.
  • the transmission channel decoding module 605 can simultaneously or at least two transmission channels after all the data packets in a group of data packets in each transmission channel arrive at the receiving end device; or, as long as the receiving end device After receiving all the data packets included in the group of data packets, the transmission channel release module 605 releases all the transmission channels in the at least two transmission channels regardless of whether or not the transmission channel has not completed transmission of all the data packets.
  • the receiving end device further includes an information sending module (not shown), and the information sending module is configured to send the information of all the data packets in the set of data packets to the sending end device.
  • the integration module 606 is configured to, after the data receiving module 604 receives all the data packets included in the group of data packets, integrate all the received data packets, and integrate all the received data packets into a group of data packets or further Restore to the data before the split device performs the split.
  • the same group of data packets are simultaneously transmitted by using a transmission channel corresponding to multiple transmission protocols, which may be, but not limited to, reliable and unreliable transmission.
  • the combination can meet the integrity of data transmission and real-time service requirements.
  • the embodiment of the invention provides a data transmission system, which includes a sender device and a receiver device.
  • the transmitting device includes the data transmission device provided by the embodiment shown in FIG. 15, and the receiving device includes the data transmission device provided by the embodiment shown in FIG. Set.
  • the same group of data packets are simultaneously transmitted by using a transmission channel corresponding to multiple transmission protocols, and the multiple protocols may be combined with, but not limited to, a combination of a reliable and an unreliable transmission protocol. Meet the data transmission integrity and real-time service requirements.
  • each embodiment in the present specification focuses on differences from other embodiments, and the same similar parts between the respective embodiments can be referred to each other.
  • the description is relatively simple, and the relevant parts can be referred to the description of the method embodiment.
  • the storage medium may be a read only memory, a magnetic disk or an optical disk or the like.

Landscapes

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

Abstract

本发明实施例提供一种数据传输方法、装置及系统,该方法包括:发送端设备获取一组数据包;发送端设备与接收端设备初始化至少两种传输协议并建立对应该至少两种传输协议的至少两个传输通道;发送端设备根据该至少两个传输通道的数量将该组数据包复制成多组数据包;发送端设备通过该至少两个传输通道同时传输该多组数据包至接收端设备,其中,一个传输通道传输一组数据包;接收端设备预接收该至少两个传输通道传输的数据包;以及针对相同序列号的数据包,接收端设备接收该至少两个传输通道传输的先到达的数据包并丢弃后到达的具有相同序列号的其他数据包。

Description

本申请要求于 2015 年 7 月 15 日提交中国专利局、 申请号为 2015匪 7301,9、 发明名称为 "数据传输方法、 装置及系统" 的中国专 利申请的优先权, 其全部内容通过引用结合在本申请中。
与通-信二
Figure imgf000003_0001
-置及系统 发明背景
目前, 通信设备采用的网络传输模式通常是发送端设备与接收端设 备对同一数据采用同一传输协议进行传输。 常见的传输协议包括 TCP ( Transmission Control Protocol , 传输控制协议 )、 UDP ( User Datagram Protocol , 用户数据报协议)、 蓝牙 SPP ( Serial Port Profile, 串行端口配 置)等。 在传输过.程中, 如果数据过大, 传输协议会先将数据分割成若 千数据包, 每个数据包分配一个序列号, 由发送端设备将数据包依次传 输给接收端设备。
对于可靠型传输协议如 TCP, 其具备丢包重传机制。 如果接收端设 备接收到的当前数据包不是正确的数据包, 接收端设备将通知发送端设 备重新传输正确的数据包, 同时继续接收下一个新的数据包。 对于非可 靠型传输协议如 UDP,如果接收端设备接收到的当前数.据包不是正确的 数据包, 将默认丢弃该数据包, 并继续接收下一个新的数据包。 因此可 靠型传输协议适用于对数.据有完整性要求的服务, 如文件传输等; 而非
-5Γ 型传输协议速度快、 效率高, 适用于对数据有实时性要求的服 如流媒体等„ 然而,可靠型和非可靠型传输协议都只能满足部分服务需求, 因此, 现有的数据传输模式无法同时满足完整性和实时性的服务需求。 发明内容
有鉴于此, 本发明实施例提供一种数据传输方法、 装置及系统, 可 满足对设备之间数据传输的完整性和实时性的服务需求„
本发明实施例提供的一种数据传输方法, 用于发送端设备向接收端 设备传输数据, 所述方法包括: 所述发送端设备获取一组数据包, 其中, 该组数据包包括至少一个数据包, 该组数据包中的所有数据包具有相应 的序列号; 所述发送端设备与所述接收端设备初始化至少两种传输协议 并建立对应该至少两种传输协议的至少两个传输通道, 其中, 一个传输 通道对应一种传输协议; 所述发送端设备根据该至少两个传输通道的数 量将该组数据包复制成多组数据包; 所述发送端设备通过该至少两个传 输通道同时传输复制后的所述多组数据包至所述接收端设备, 其中, 一 个传输通道传输一组数据包; 所述接收端设备预接收该至少两个传输通 道传输的数据包; 以及针对相同序列号的数据包, 所述接收端设备接收 该至少两个传输通道传输的先到达的数据包并丟弃后到达的具有相同 序列号的其他数据包。
本发明实施例还提供的一种数据传输方法, 用于发送端设备, 所述 方法包括: 获取一组数据包, 其中, 该组数据包包括至少一个数据包, 该组数据包中的所有数 it包具有相应的序列号; 初始化至少两种传输协 议并与接收端设备建立对应该至少两种传输协议的至少两个传输通道, 其中, 一个传输通道对应一种传输协议; 根据该至少两个传输通道的数 量将该组数据包复制成多组数据包; 以及通过该至少两个传输通道同时 传输复制后的所述多组数.据包至所述接收端设备, 其中, 一个传输通道 传输一组数据包。
本发明实施例再提供的一种数据传输方法, 用于接收端设备, 所述 方法包括': 初始化至少两种传输协议并与发送端设备.建立对应该至少两 种传输协议的至少两个传输通道, 其中, 一个传输通道对应一种传输协 议, 该至少两个传输通道均用于传输同一组数据包, 该组数据包中的所 有数据包具有相应的序列号, 该组数据包预先被复制成多组, 以使一个 传输通道用于传输一组数据包; 预接收所述发送端设备通过该至少两个 传输通道传输的数据包; 以及针对相同序列号的数据包, 接收该至少两 个传输通道传输的先到达的数据包并丢弃后到达的具有相同序列号的 其他数据包。
本发明实施例提供的一种数据传输装置, 运行于发送端设备, 所述 装置包括: 获取模块, 用于获取一组数据包, 其中, 该组数据包包括至 少一个数据包, 该组数据包中的所有数据包具有相应的序列号; 多协议 通道建立模块, 用于初始化至少两种传输协议并与接收端设备建立对应 该至少两种传输协议的至少两个传输通道, 其中, 一个传输通道对应一 种传输协议; 复制模块, 用于根据该至少两个传输通道的数量将该组数 据包复制成多组数据包; 以及传输^ t块, 用于通过该至少两个传输通道 同时传输复制后的所述多组数据包至所述接收端设备, 其中, 一个传输 通道传输一组数据包。
本发明实施例还提供的一种数据传输装置, 运行于接收端设备, 所 述装置包括: 多协议通道建立模块, 用于初始化至少两种传输协议并与 发送端设备建立对应该至少两种传输协议的至少两个传输通道, 其中, 一个传输通道.对应一种传输协 ΐ义, 该至少两个传输通道均用于传输同一 组数据包, 该组数据包中的所有数据包具有相应的序列号, 该组数据包 预先被复制成多组, 以使一个传输通道用于传输一组数据包; 数据预接 收模块, 用于预接收所述发送端设备通过该至少两个传输通道传输的数 据包; 以及数据接收模块, 用于针对相同序列号的数据包, 接收该至少 两个传输通道传输的先到达的数据包并丟弃后到达的具有相同序列号 的其他数据包。
本发明实施例提供的一种数据传输系统, 包括发送端设备和接收端 设备, 所述发送端设备包括上述运行于发送端设备的数据传输装置, 所 述接收端设备包括上述运行于接收端设备的数据传输装置。
本发明实施例提供的一种非易失性计算机可读存储介质 , 存储有程 序, 所述程序能够使计算机执行上述用于发送端设备的数据传输方法。
本发明实施例提供的一种非易失性计算机可读存储介质, 存储有程 序, 所述程序能够使计算机执行上述用于接收端设备数据传输方法。
本发明实施例提供的数据传输方法、 装置及系统, 可针对同一组数 据包采用对应多个传输协议的传输通道同时传输, 该多个协议可为但不 限于可靠型与非可靠型传输协议的结合, 可同时满足数据传输的完整性 和实时性服务需求。
为让本发明的上述和其他目的、 特征和优点能更明显易懂, 下文特 举较佳实施例, 并配合所附图式, 作详细说明如下。
图 1为本发明实施例提供的数据传输方法、 装置及系统的应用环境 图。
图 2示出了图 1中的终端设备的一个实施例的结构框图。
图 3示出了图 1中的服务器的一个实施例的结构框图。
图 4为本发明一实施例提供的数据传输方法的流程示意图。
图 5 为本发明一实施例提供的数据传输方法的数据传输过程示意 图。
图 6为本发明另一实施例提供的数据传输方法的数据传输过程示 图。
图 7为图 4中的步骤 S17的主要子步骤的流程示意图。
图 8为本发明另一实施例提供的数据传输方法的流程示意图。
图 9为本发明另一实施例提供的数据传输方法的流程示意图。
图 10为本发明另一实施例提供的数据传输方法的流程示意图。
图 11为本发明另一实施例提供的数据传输方法的流程示意图。
图 12为本发明另一实施例提供的数据传输方法的流程示意图。
图 13为图 12中的步骤 S43的主要子步骤的流程示意图。
图 14为本发明另一实施例提供的数据传输方法的流程示意图。
图 15为本发明一实施例提供的数据传输装置的结构框图。
图 16为本发明另一实施例提供的数.据传输装置的结构框图。
Figure imgf000007_0001
为更进一步阐述本发明为实现预定发明目的所采取的技术手段及功 效, 以下结合酎图及较佳实施例, 对依据本发明的具体实施方式、 结构、 特征及其功效, 详细说明如后。
请参考图 1 , 图 1 为本发明实施例提供的数据传输方法、 装置及系 统的应用环境图。 如图 1所示, 发送端设备 100与接收端设备 200位于 有线或无线网络中, 通过该有线或无线网络进行数据传输, 以实现以下 各实施例提供的数据传输方法。上述的发送端设备 100和接收端设备 200 可以但不限于是服务器、 终端设备, 服务器例如是指部署在网络环境中 的计算机, 终端设备例如是指台式计算机、 笔记型计算机、 智能手机., 个人数位助理、 平板电脑等等。 请参考图 2, 图 2示出了终端设备的一个实施例的结构框图, 该终 端设备适用发送端设备】00或者接收端设备 200。 如图 2所示, 终端设 备包括存储器 102 , 存储控制器 104, —个或多个(图中仅示出一个) 处理器 106、外设接口 108、射频模块 110、定位模块 112 ,摄像模块 114、 音频模块 116、显示模块 118以及按键模块 120。这些组件通过一条或多 条通讯总线 /信号线 122相互通讯。
可以理解, 图 2所示的结构仅为示意, 终端设备还可包括比图 2中 所示更多或者更少的组件, 或者具有与图 2所示不同的配置 图 2中所 示的各组件可以采用硬件、 软件或其组合实现。
其中, 存储器 102可用于存储软件程序以及模块, 如本发明实施例 中的数据传输方法、 装置及系统对应的程序指令/ 块, 处理器 106通过 运行存储在存储器 102内的软件程序以及; f莫块, 从而执行各种功能应用 以及数据处理, 如实现本发明实施例中的数据传输方法。
存储器 102可包括高速随机存储器, 还可包括非易失性存储器, 如 一个或者多个磁性存储装置、 闪存、 或者其他非易失性固态存储器。 在 一些实例中, 存储器 102可进一步包括相对于处理器 106远程设置的存 储器, 这些远程存储器可以通过网络连接至终端设备。 上述网络的实例 包括但不限于互联网、 企业内部网、 局域网、 移动通信网及其组合。 处 理器 106以及其他可能的组件对存储器 102的访问可在存储控制器 104 的控制下进行。
外设接口 108将各种输入 /输入装置耦合至处理器 】06 以及存储器 102。 处理器 106运行存储器 102 内的各种软件、 指令以执行终端设备 的各种功能以及进行数据处理。
在一些实施例中, 外设接口 108, 处理器 106 以及存储控制器 104 可以在单个芯片中实现, 在其他一些实例中, 也可以分别由独立的芯片 实现。
射频模块 110用于接收以及发送电磁波, 实现电磁波与电信号的相 互转换, 从而与通讯网络或者其他设备进行通讯。 射频模块 110可包括 各种现有的用于执行这些功能的电路元件, 例如, 天线、 射频收发器、 数字信号处理器、 加密 /解密芯片、 用户身份模块(SIM )卡、 存储器等 等。 射频模块 U 0可与各种网络如互联网、 企业内部网、 无线网络进行 通讯或者通过无线网络与其他设备进行通讯。 上述的无线网络可包括蜂 窝式电话网、 无线局域网或者城域网 上述的无线网络可以使用各种通 信标准、协议及技术, 包括但并不限于全球移动通信系统(Global System for Mobile Communication, GSM )、 增强型移动通信技术 ( Enhanced Data GSM Environment, EDGE),宽带码分多址支术 ( wideband code division multiple access, W- C— DMA ), 码分多址技术 ( Code division access, CDMA )、 时分多址技术 ( time division multiple access, TDMA ), 蓝牙, 无线保真技术( Wireless, Fidelity, WiFi ) (如美国电气和电子工程师协 会标准 IEEE 802.11a , IEEE 802. l ib, IEEE802„l lg 和 /或 IEEE 802.1 In )、 网 -络电 ΐ舌 ( Voice over internet protocal, VoIP )、 '全 J求' fi波.互 - i 接入 ( Worldwide Interoperability for Microwave Access, Wi-Max ). 其 他用于邮件、即时通讯及短消息的协议,以及任何其他合适的通讯协议, 甚至可包括那些当前^未被开发出来的协议。
定位模块 112用于获取终端设备的当前位置。 定位模块 112的实例 包括但不限于全球卫星定位系统( GPS )、基于无线局域网或者移动通信 网的定位技术。
摄像模块 114用于拍摄照片或者视频。 拍摄的照片或者视频可以存 储至存储器 102内, 并可通过射频模块 110发送。
音频模块 116向用户提供音频接口, 其可包括一个或多个麦克风、 —个或者多个扬声器以及音频电路。 音频电路从外设接口 108处接收声 音数据, 将声音数据转换为电信息, 将电信息传输至扬声器。 扬声器将 电信息转换为人耳能听到的声波。 音频电路还从麦克风处接收电信息, 将电信号转换为声音数据, 并将声音数 传输至外设接口 108中以进行 进一步的处理。 音频数据可以从存储器 102处或者通过.射频模块 110获 取。 此外, 音频数据也可以存储至存储器 102中或者通过射频模块 110 进行发送。 在一些实例中, 音频模块 116还可包括一个耳机播孔, 用于 向耳机或者其他设备提供音频接口。
显示屏幕 118在终端设备与用户之间提供一个输出界面。 具体地, 显示屏幕 118向用户显示视频输出, 这些视频输出的内容可包括文字、 图形、视频、及其任意组合。 一些输出结果是对应于一些用户界面对象。 进一步地,显示屏幕 118还可在终端设备与用户之间提供一个输入界面, 用于接收用户的输入, 例如用户的点击、 滑动等手势操作, 以便用户界 面对象对这些用户的输入做出响应。 检'测用户输入的技术可以是基于电 阻式、 电容式或者其他任意可能的触控检测技术。 显示屏幕 118的具体 实例包括但并不限于液晶显示器或发光聚合物显示器。
按-键模块 120同样提供用户向终端设备进行输入的接口, 用户可以 通过按下不同的按键以使终端设备执行不同的功能。
图 3示出了服务器的一个实施例的结构框图, 该服务器同样适用发 送端设备 100或者接收端设备 200。 如图 3所示, 服务器包括: 存储器 201、 处理器 202以及网络模块 203。
可以理解, 图 3所示的结构仅为示意, 服务器还可包括比图 3中所 示更多或者更少的组件, 或者具有与图 3所示不同的配置。 图 3中所示 的各组件可以釆用硬件、 软件或其组合实现。 另外, 本发明实施例中的 服务器还可以包括多个具体不同功能的服务器。 存储器 201可用于存储软^ ·程序以及模块, 如本发明实施例中的数 据传输方法、 装置及系统对应的程序指令 /模块, 处理器 202通过运行存 储在存储器 201内的软件程序以及模块, 从而执行各种功能应用以及数 据处理, 即实现本发明实施例中的数据传输方法。 存储器 201可包括高 速随机存储器, 还可包括非易失性存储器, 如一个或者多个磁性存储装 置、 闪存、 或者其他非易失性固态存储器。 在一些实例中, 存储器 201 可进一步包括相对于处理器 202远程设置的存储器, 这些远程存储器可 以通过网络连接至服务器。进一步地,上述软件程序以及模块还可包括: 服务模块 221以及操作系统 222。其中操作系统 222,例如可为 LINUX、 UNIX, WINDOWS , 其可包括各种用于管理系统任务(例如内存管理、 存储设备控制、 电源管理等)的软件组件和 /或驱动, 并可与各种硬件或 软件组件相互通讯, 从而提供其他软件组件的运行环境。 服务模块 221 运行在操作系统 222的基础上, 并通过操作系统 222的网络服务监听来 自网络的请 ·求, 根据请求完成相应的数据处理, 并返回处理结果给客户 端。 也就是说, 服务模块 221用于向客户端提供网络服务。
网络模块 203用于接收以及发送网络信号。 上述网络信号可包括无 线信号或者有线信号。 在一个实例中, 上述网络信号为有线网络信号。 此时, 网络模块 203可包括处理器、 随机存储器、 转换器、 晶体振荡器 等元件。
以下结合具体的实施例说明本发明提供的数据传输方法、 装置及系 统。
本发明实施例提供了一种数据传输方法, 该方法可通过图 1所示的 应用环境实现, 用于发送端设备向接收端设备传输数据。 图 4所示为上 述方法的流程图。 请参考图 4, 本实施例的方法包括以下步骤。
步骤 Sil, 发送端设备获取一组数据包。 在本步骤中, 发送端设备获取一组待传输给接收端设备的数据包。 其中, 该组数据包包括至少一个数据包, 并且每个数据包均为无需经由 传输协议进行分割的小数据。 该组数据包中的所有数据包具有相应的序 列号。 在一个实例中, 该组数据包中的数据包的序列号可由发送端设备 分配。 例如, 发送端设备 ·依序分配序列号给该组数据包中的每一个数据 包, 该组数.据包中的每一个数据包的序列号与其它数据包序列号均不相 同。
步骤 S12, 发送端设备与接收端设备初始化至少两种传输协议并建 立对应该至少两种传输协议的至少两个传输通道。
其中, 发送端设备与接收端设备均包括多个传输协议, 且发送端设 备与接收端设备均包括至少两种相同的传输协议。 传输协议可为但不限 于 TCP、 UDP、 蓝牙 SPP等协议。
在本步骤中, 当发送端设备准备向接收端设备发送该组数 包时, 发送端设备与接收端设备初始化至少两种传输协议并建立对应该至少 两种传输协议.的至少两个传输通道, 其中, 一个传输通道对应一种传输- 协议。 举例说明, 假设发送端设备包括 l'CP、 IJDP、 蓝牙 SPP这三种传 输协议, 接收端设备也具有 TCP UDP、 蓝牙 SPP这三种传输协议, 那 么根据实际情况, 发送端设备和接收端设备可以选择 TCP、 UDP、 蓝牙 SPP这三种传输协议中的任意两种传输协议来传输数据, 建立两个传输 通道; 或者采用 TCP、 UDP、 蓝牙 SPP这三种传输协议来传输数据, 建 立三个传输通道。 当发送端设备和接收端设备同时拥有更多数量的传输 协议时, 也可采用三种以上的传输协议来传输数据, 此时需要建立更多 的传输通 i£。
步骤 S13, 发送端设备根据该至少两个传输通道的数量将该组数据 包复制成多组数 包。 在本步骤中, 发送端设备对该组数据包进行复制, 使复制后的所有 组数据包的组数等于所建立的传输通道的个数, 以使一个传输通道可以 传输一组数据包。 由于其它组的数据包是由该组数据包复制而成, 因此 同样的数据包在复制后的每组数据包中的序列号均相同。
步骤 S14, 发送端设备通过该至少两个传输通道同时传输复制后的 该多组数.据包至接收端设备, 其中, 一个传输通道传输一组数据包。
在本步驟中, 发送端设备通过该至少两个传输通道同时传输复制后 的该多组数据包至所述接收端设备, 即采用多协议同时传输的方式来传 输发送端设备先前所获取的该组数据包。 举例说明, 若发送端设备和接 收端设备之前建立了第一传输通道(如根据 TCP建立)和第二传输通道 (如根据 UDP建立)这两个传输通道, 则该多组数据包的数量为两组, 第一传输通道用来传输其中一组数据包, 而第二传输通道用来传输其中 另一组数据包。
进一步地, 该组数据包中的每个数据包的长度不大于该至少两种传 输协议各自所允许传输的无需分割的最大的数据包中长度最小的数据 包长度。 仍以上述例子进行说明, 若第一传输通道对应的第一传输协议 允许传输的无需分割的数据包长度最大为 1480 字节, 而第二传输通道 对应的第二传输协议允许传输的无需分割的数据包长度最大为 1472 字 节, 则第二传输协议允许传输的无需分割的数据包长度最小, 那么该组 数据包中的每个数据包的长度应该不大于该第二传输协议允许传输的 无需分割的最大的数据包长度, 即 1472字节。
步骤 S15 , 接收端设备预接收该至少两个传输通道传输的数据包。 在本步骤中, 当每一传输通道中的一数据包到达接收端设备时, 接 收端设备预接收该数据包。
步骤 S16, 针对相同序列号的数据包, 接收端设备接收该至少两个 传输通道传输的先到达的数据包并丢弃后到达的具有相同序列号的其 他数据包。
在本步骤中, 针对相同序列号的数据包, 所述接收端设备接收该至 少两个传输通道传输的先到达的数据包并丢弃后到达的具有相同序列 号的其他数据包, 即釆用 "先到接收、 后到丟弃" 的接收原则。 还以上 述例子进行说明, 如图 5和图 6所示, 发送端设备与接收端设备采用第 一传输通道与第二传输通道同时传输复制后的同样的两组数据包, 假设 每组数据包包括 4个数据包, 该 4个数据包的序号 SN分别为 1、 2 , 3、 4。在图 5中, 第一传输通道传输的序列号 SN二 1的数据包先到达接收端 设备,则接收端设备接收该第一传输通道传输的序列号 SN=1的数据包; 在图 6中, 第二传输通道传输的序列号 SN 1的数.据包后到达接收端设 备, 则接收端设备 ·丟弃该第一传输通道传输的序列号 SN=1的数据包。 以此类推, 当发送端设备与接收端设备采用三个以上的传输通道同时传 输同样的一组数据包时, 针对序列号相同的数据包, 接收端设备接收最 先到达的数据包, 而丢弃后到的其他序列号相同的数据包。
由此可见, 通过本实施例所提^ ^的数据传输方法, 针对同一组数据 包釆用对应多个传输协议的传输通道同时传输, 该多个协议可为但不限 于可靠型与非可靠型传输协议的结合, 可同时满足数据传输的完整性和 实时性服务需求。
请参考图 7, 图 7为本实施例的步骤 S16的主要子步骤的流程示意 图, 该步骤 S16包括以下子步骤。
步骤 S161 , 当每一传输通道中的一数据包到达.接收端设备时, 接收 端设备在预接收该数据包之后判断是否已接收具有与该数据包相同序 列号的通过另一传输通道传输的另一数据包。
在本步骤中, 接收端设备预接收每一传输通道传输的每一数据包之 后, 确认当前到达的数据包的序列号, 并判断是否已接收到与当前数据 包相同序列号的经由另一传输通道中传输的另一数据包, 若判断已接收 到该另一数据包, 则执行步骤 S162; 若判断未接收到该另一数据包, 则 执行步骤 Si 63。
步骤 S 162 , 丟弃该数据包;
在本步骤中, 若接收端设备判断已接收到与当前数据包相同序列号 的经由另一传输通道中传输的另一数据包, 则丟弃当前到达的数据包。
步骤 S 163 , 接收该数据包„
在本步骤中, 若接收端设备判断未接收到与当前数据包相同序列号 的经由另一传输通道中传输的另一数据包, 则接收该数据包。
本发明另一实施例提供一种数据传输方法, 图 8所示为上述方法的 流程图。 请参考图 8 , 本实施例的方法包括以下步骤。
步骤 S 11 , 发送端设备获取一组数据包。
步骤 S12 , 发送端设备与接收端设备初始化至少两种传输协议并建 立对应该至少两种传输-协、议的至少两个传输通道。
步骤 S13, 发送端设备根据该至少两个传输通道的数量将该组数据 包复制成多组数据包。
步骤 S14, 发送端设备通过该至少两个传输通道同时传输复制后的 该多组数据包至接收端设备, 其中, 一个传输通道传输一组数据包。
步骤 S 15 , 接收端设备预接收该至少两个传输通道传输的数 包。 步骤 S16, 针对相同序列号的数据包, 接收端设备接收该至少两个 传输通道传输的先到达的数据包并丟弃后到达的具有相同序列号的其 他数据包。
其中, 上述步骤步骤 S 11至 S 16可参考图 1所示实施例, 在此不再 贅述。 步骤 S17, 当接收端设备接收到该组数据包所包含的所有数据包之 后, 释放该至少两个传输通道。
在本步骤中, 发送端设备和接收端设备在完成该组数据包的传输之 后, 释放该至少两个传输通道。 比如, 当接收端设备接收到该组数据包 所包含的所有数据包之后, 释放该至少两个传输通道。 进一步地, 接收 端设备还发送已接收到该组数据包所包含的所有数据包的信息给发送 端设备, 当发送端设备接收到接收端设备发送的已接收到该组数据包所 包含的所有数据包的信息时, 释放该至少两个传输通道。 在本发明实施 例中, 发送端设备也可在发送完该组数据包所包含的所有数据包之后, 发送释放该至少两个传输通道的信息给接收端设备, 而接收端设备接收 到该组数.据包所包含的所有数据包之后, 发送释放该至少两个传输通道 的确认信息给发送端设备, 发送端设备收到该确认信息之后释放该至少 两个传输通道。 该至少两个传输通道的释放可以根据各自对应的传输协 议或者实际需要来进行, 并不限于上述举例的几种方式。
在本发明实施例中, 当每一传输通道中的该组数据包所包含的所有 数据包到达接收端设备之后, 可以同时或者分别释放该至少两个传输通 道; 或者, 只要接收端设备接收到该组数据包所包含的所有数据包后, 不管是否有传输通道还没有完成所有数据包的传输, 即释放该至少两个 传输通道中的所有传输通道。
本发明另一实施例提供了一种数据传输方法, 图 9所示为上述方法 的流程图。 请参考图 9, 本实施例的方法包括以下步骤。
步骤 S21 , 发送端设备预先对需发送给接收端设备的数据进行分割 以获取该组数据包。
其中, 分割的标准需满足该组数据 ·包中的每个数据包的长度不大于 至少两种传输协议各自所允许传输的无需分割的最大的数据包中长度 最小的数据包长度, 且发送端设备与接收端设备均包括该至少两种传输 协议, 并通过该至少两种传输协议同时传输该组数据包。
步骤 S 11 , 发送端设备获取一组数据包。
步骤 S12 , 发送端设备与接收端设备初始化至少两种传输协议并建 立对应该至少两种传输"[办议的至少两个传 '输通道。
步骤 S13, 发送端设备根据该至少两个传输通道的数量将该组数据 包复制成多组数据包。
步骤 S14, 发送端设备通过该至少两个传输通道同时传输复制后的 该多组数据包至接收端设备, 其中, 一个传输通道传输一组数据包。
步骤 S 15, 接收端设备预接收该至少两个传输通道传输的数据包。 步骤 S16, 针对相同序列号的数据包, 接收端设备接收该至少两个 传输通道传输的先到达的数据包并丢弃后到达的具有相同序列号的其 他数据包。
步骤 S17 , 当接收端设备接收到该组数据包所包含的所有数据包之 后, 释放该至少两个传输通道。
其中, 上述步驟步骤 Sl】至 S】6可参考图 1所示实施例, 步骤 S 17 可参考图 8所示实施例, 在此不再贅述。
步骤 S18 , 当接收到该组数据包所包含的所有数据包之后, 接收端 设备对所接收到的所有数据包进行整合。
在本步骤中, 当接收到该组数据包所包含的所有数据包之后, 接收 端设备对所接收到的所有数据包进行整合, 使接收到的所有数据包整合 成一组数据包或者进一步恢复成发送端设备进行分割前的数据。
本发明另一实施例提供一种数据传输方法,该方法用于发送端设备。 图 10所示为上述方法的流程图。 请参考图 10, 本实施例的方法包括以 下步骤。 步骤 S31 , 获取一组数据包。
在本步驟中, 发送端设备获取一组待传输给接收端设备的数据包, 其中, 该组数据包包括至少一个数据包。 每个数据包均为无需经由传输 协议进行分割的小数据。 该组数据包中的所有数据包具有相应的序列 号。 在一个实例中, 该组数据包中的数据包的序列号可由发送端设备分 配。例如,发送端设备依序分配序列号给该组数据包中的每一个数据包, 该组数据包中的每一个数据包的序列号与其它数据包序列号均不相同。
在其他实施例中, 若该发送端设备需要传输大数据 (相对于上述小 数据而言)给接收端设备, 该发送端设备预先对该大数据进行分割以获 取该组数据包, 其中, 分割的标准需满足该组数据包中的每个数据包的 长度不大于至少两种传输协议各自所允许传输的无需分割的最大的数 据包中长度最小的数据包长度, 且发送端设备与接收端设备均包括该至 少两种传输协议。
步骤 S32, 初始化至少两种传输协议并与接收端设备建立对应该至 少两种传输协议的至少两个传输通道。
在本步驟中, 当发送端设备准备向接收端设备发送该组数据包时, 发送端设备初始化至少两种传输协议并与接收端设备建立对应该至少 两种传输协议的至少两个传输通道, 其中, 一个传输通道对应一种传输 协议。 举例说明, 假设发送端设备包括 TCP、 UDP、 蓝牙 SPP这三种传 输协议, 对应地, 接收端设备也具有 TCP、 UDP、 蓝牙 SPP这三种传输 协议,那么根据实际情况,发送端设备和接收端设备可以选择 TCP、 UDP、 蓝牙 SPP这三种传输协议中的任意两种传输协议来传输数据, 建立两个 传输通道;或者采用 TCP、 UDP,蓝牙 SPP这三种传输协议来传输数据, 建立三个传输通道。 当发送端设备和接收端设备同时拥有更多数量的传 输协议时, 也可采用三种以上的传输协议来传输数据, 此时需要建立更 多的传输通道。
步骤 S33, 根据该至少两个传输通道的数量将该组数据包复制成多 组数据包。
在本步骤中, 发送端设备对该组数据包进行复制, 使复制后的所有 组数据包的组数等于所建立的传输通道的个数, 以使一个传输通道可以 传输一组数据包。 由于其它组的数.据包是由该组数.据包复制而成, 因此 同样的数据包在复制后的每组数据包中的序列号均相同。
步骤 S34, 通过该至少两个传输通道同时传输复制后的该多组数据 包至接收端设备, 其中, 一个传输通道传输一组数据包。
在本步骤中, 发送端设备通过该至少两个传输通道同时传输复制后 的该多组数据包至所述接收端设备, 即采用多协议同时传输的方式来传 输先前所获取的该组数据包。 举例说明, 若发送端设备和接收端设备之 前建立了第一传输通道(如根据 TCP 建立)和第二传输通道(如根据 UDP建立)这两个传输通道, 则该多组数据包的数量为两组, 第一传输 通道用来传输其中一组数据包, 而第二传输通道用来传输其中另一组数 据包。
进一步地, 该组数据包中的每个数据包的长度不大于该至少两种传 输协议各自所允许传输的无需分割的最大的数据包中长度最小的数据 包长度。 扔以上述例子进行说明, 若第一传输通道对应的第一传输协议 允许传输的无需分割的数.据包长度最大为 1480 字节, 而第二传输通道 对应的第二传输协议允许传输的无需分割的数据包长度最大为 1472 字 节, 则第二传输协议允许传输的无需分割的数据包长度最小, 那么该组 数据包中的每个数据包的长度应该不大于该第二传输协议允许传输的 无需分割的最大的数据包长度, 即 1472字节。
本发明实施例提供一种数.据传输方法,图 11所示为上述方法的流程 图。 请参考图 11, 本实施例的方法包括以下步骤。
步骤 S31 , 获取一组数据包。
步骤 S32 , 初始化至少两种传输协议并与接收端设备建立对应该至 少两种传输协议的至少两个传输通道。
步骤 S33 , 根据该至少两个传输通道的数量将该组数据包复制成多 组数据包。
步骤 S34, 通过该至少两个传输通道同时传输复制后的该多组数据 包至接收端设备, 其中, 一个传输通道传输一组数据包。
其中, 上述步骤步骤 S31至 S34可参考图 10所示实施例, 在此不 再赘述。
步骤 S35, 当接收到接收端设备发送的已接收到该组数据包所包含 的所有数据包的信息之后, 释放该至少两个传输通道。
在本步骤中, 当发送端设备接收到接收端设备发送的已接收到该组 数据包所包含的所有数据包的信息之后, 释放该至少两个传输通道。 该 发送端设备接收到接收端设备发送的已接收到该组数据包所包含的所 有数据包的信息之后, 可以在每一传输通道中的一组数据包中的所有数 据包到达.接收端设备之后, 同时或者分别释放该至少两个传输通道; 或 者, 只要接收端设备接收到该组数据包所包含的所有数据包后, 不管是 否有传输通道还没有完成所有数据包的传输, 即释放该至少两个传输通 道中的所有传输通道。
在其他实施例中, 发送端设备也可在接收到接收端设备发送的已接 收到该组数据包所包含的所有数据包的信息之后, 发送释放该至少两个 传输通道的信息给接收端设备, 在进一步收到接收端设备的确认信息之 后释放该至少两个传输 f道。
该至少两个传输通道的释放可以根据各自对应的传输协议或者实际 需要来进行, 并不限于上述举例的几种方式。
由此可见, 通过本实施例所提^ ^的数据传输方法, 针对同一组数据 包釆用对应多个传输协议的传输通道同时传输, 该多个协议可为但不限 于可靠型与非可靠型传输协议的结合, 可同时满足数据传输的完整性和 实时性服务需求。
本发明实施例提供一种数据传输方法, 该方法用于接收端设备。 图
】2 所示为上述方法的流程图。 请参考图 12, 本实施例的方法包括以下 步骤 S41 , 初始化至少两种传输协议并与发送端设备建立对应该至 少两种传输协议的至少两个传输通道。
在本步骤中, 当接收端设备需要接收发送端设备发送的一组数据包 时, 接收端设备初始化至少两种传输协议并与发送端设备建立对应该至 少两种传输协议的至少两个传输通道, 其中, 一个传输通道对应一种传 输协议。 该至少两个传输通道均用于传输同一组数据包, 该组数据包中 的所有数据包具有相应的序列号, 该组数据包预先被复制成多组, 以使 一个传输通道用于传输一组数据包, 且同样的数据包在复制后的每组数 据包中的序列号相同。
举例说明, 假设接收端设备包括 TCP、 UDP、 蓝牙 SPP这三种传输 协议, 对应地, 发送端设备也具有 TCP、 UDP、 蓝牙 SPP这三种传输协 议,那么根据实际情况,接收端设备和发送端设备可以选择 TCP、 UDP、 蓝牙 SPP这三种传输协议中的任意两种传输协议来传输数据,建立两个 传输通道;或者釆用 TCP、 UDP、蓝牙 SPP这三种传输协议来传输'数据, 建立三个传输通道。 当设备接收端和发送端设备同时拥有更多数量的传 输协议时, 也可采用三种以上的传输协议来传输'数据, 此时需要建立更 多的传输通道。 步骤 S42, 预接收 送端设备通过该至少两个传输通道传输的数据 包。
在本步骤中, 接收端设备预接收发送端设备通过该至少两个传输通 道传输的数据包。 举例说明, 若接收端设备和发送端设备之前建立了第 一传输通道 (如根据 TCP建立 )和第二传输通道 (如根据 UDP建立 ) 这两个传输通道, 則第一传输通道用来传输该组数.据包, 而第二传输通 道用来传输由该组数据包所复制的、 与该组数据包相同的另一组数据 包。 其中, 两组数据包中的同样的数据包的序列号相同。
进一步地, 该组数据包中的每个数据包的长度不大于该至少两种传 输协议各自所允许传输的无需分割的最大的数据包中长度最小的数据 包长度。 仍以上述例子进行说明, 若第一传输通道对应的第一传输协议 允许传输的无需分割的数据包长度最大为 1480 字节, 而第二传输通道 对应的第二传输协议允许传输的无需分割的数据包长度最大为 1472 字 节, 则第二传输协议允许传输的无需分割的数据包长度最小, 那么该组 数据包中的每个数据包的长度应该不大于该第二传输协议允许传输的 无需分割的最大的数据包长度, 即 1472字节。
步骤 S43 , 针对相同序列号的数据包, 接收该至少两个传输通道传 输的先到达的数据包并丟弃后到达的具有相同序列号的其他数据包。
在本步骤中, 针对相同序列号的数据包, 所述接收端设备接收该至 少两个传输通道传输的先到达的数据包并丢弃后到达的具有相同序列 号的其他数据包, 即采用 "先到接收、 后到丟弃" 的接收原则。
由此可见, 通过本实施例所提供的数据传输方法, 针对同一组数据 包采用对应多个传输 ¼、议的传输通道同时传输, 该多个^议可为但不限 于可靠型与非可靠型传输协议的结合, 可同时满足数据传输的完整性和 实时性服务需求。 进一步地, 请参考图 13 , 图 13为本实施例的步骤 S43的主要子步 骤的流程示意图, 该步驟 S43包括以下子步驟。
步骤 S431 , 当每一传输通道中的一数据包到达时, 在预接收该数据 包之后判断是否已接收到具有与该数据包相同序列号的通过另一传输 通道.传输的另一数据包。
在本步骤中, 接收端设备预接收每一传输通道传输的每一数据包之 后, 确认当前到达的数据包的序列号, 并判断是否已接收到与当前数据 包相同序列号的经由另一传输通道中传输的另一数据包, 若判断已接收 到该另一数据包, 则执行步骤 S432; 若判断未接收到该另一数据包, 则 执行步骤 S433。
步骤 S432, 丟弃该数据包。
在本步骤中, 若接收端设备判断已接收到与当前数据包相同序列号 的经由另一传输通道中传输的另一数据包, 则丟弃当前到达的数据包。
步骤 S433 , 接收该数据包。
在本步骤中, 若接收端设备判断未接收到与当前数据包相同序列号 的经由另一传输通道中传输的另一数据包, 则接收该数据包。
本发明实施例提供一种数据传输方法,图 14所示为上述方法的流程 图。 请参考图 14, 本实施例的方法包括以下步骤。
步骤 S41 , 初始化至少两种传输协议并与发送端设备建立对应该至 少两种传输协议的至少两个传输通道。
步骤 S42, 预接收发送端设备通过该至少两个传输通道传输的数据 包。
步骤 S43 , 针对相同序列号的数据包, 接收该至少两个传输通道传 输的先到达的数据包并丢弃后到达的具有相同序列号的其他数据包。
其中, 上述步骤步骤 S41至 S43可参考图 12所示实施例, 在此不 再赘述
步骤 S44, 当接收到该组数据包所包含的所有数据包之后, 释放该 至少两个传输通道。
在本步骤中, 当接收端设备接收到该组数据包所包含的所有数据包 之后, 释放该至少两个传输通道。 进一步地, 接收端设备 ·还发送已接收 到该组数.据包所包含的所有数据包的信息给发送端设备。
并且, 该接收端设备可在每一传输通道中的一组数据包中的所有数 据包到达.接收端设备之后, 同时或者分别释放该至少两个传输通道; 或 者, 只要接收端设备接收到该组数据包所包含的所有数据包后, 不管是 否有传输通道还没有完成所有数据包的传输, 即释放该至少两个传输通 道中的所有传输通道。
步骤 S45 , 当接收到该组数据包所包含的所有数据包之后, 对所接 收到的所有数.据包进行整合。
在本步骤中, 当接收到该组数据包所包含的所有数据包之后, 接收 端设备对所接收到的所有数据包进行整合, 使接收到的所有数据包整合 成一组数据包或者进一步恢复成发送端设备进行分割前的数据。
本发明实施例提供一种数据传输装置,该装置可运行于发送端设备, 用于实现上述实施例中的数据传输方法。 如图 15 所示, 所述装置包括 获取模块 501、 多协议通道建立模块 503、 复制模块 504、 传输^ I块 505 以及传输通道释放模块 506。
获取模块 50】, 用于获取一组数据包。 其中, 获取模块 501获取一 组待传输给接收端设备的数据包, 该组数据包包括至少一个数据包。 每 个数据包均为无需经由传输协议进行分割的 d、数据。 该组数据包中的所 有数据包具有相应的序列号。
多协议通道建立模块 503, 用于初始化至少两种传输协议并与接收 端设备建立对应该至少两种传输协议的至少两个传输通道, 其中, 一个 传输通道对应一种传 H协 i义。
复制模块 504, 用于根据该至少两个传输通道的数量将该组数据包 复制成多组数据包, 其中, 同祥的数据包在复制后的每组数据包中的序 列号相同。
传输模块 505 , 用于通过该至少两个传输通道同时传输复制后的该 多组数据包至接收端设备, 其中, 一个传输通道传输一组数据包。 具体 地, 传输模块 505通过该至少两个传输通道同时传输复制后的该多组数 据包至所述接收端设备, 即采用多协议同时传输的方式来传输获取模块 501 所获取的该组数据包。 举例说明, 若发送端设备和接收端设备之前 建立了第一传输通道(如根据 TCP建立)和第二传输通道 (如根据 UDP 建立)这两个传输通道, 则该多组数据包的数量为两组, 第一传输通道 用来传输其中一组数据包, 而第二传输通道用来传输其中另一组数据 包。
进一步地, 该组数据包中的每个数据包的长度不大于该至少两种传 输协议各自所允许传输的无需分割的最大的数据包中长度最小的数据 包长度.。 钙以上述例子进行说明, 若第一传输通道对应的第一传输协议 允许传输的无需分割的数据包长度最大为 1480 字节, 而第二传输通道 对应的第二传输协议允许传输的无需分割的数据包长度最大为 1472 字 节, 则第二传输协议允许传输的无需分割的数据包长度最小, 那么该组 数据包中的每个数据包的长度应该不大于该第二传输^议允许传输的 无需分割的最大的数据包长度, 即 1472字节。
传输通道释放模块 506, 用于当接收到接收端设备发送的已接收到 该组数据包所包含的所有数据包的信息之后, 释放该至少两个传输通 道。 其中, 当发送端设备接收到接收端设备发送的已接收到该组数据包 所包含的所有数据包的信息之后, 传输通道释放模块 506 #放该至少两 个传输通道。 该发送端设备接收到接收端设备发送的已接收到该组数据 包所包含的所有数据包的信息之后, 传输通道释放.模块 506可以在每一 传输通道中的一组数据包中的所有数据包到达接收端设备之后, 同时或 者分别释放该至少两个传输通道; 或者, 只要接收端设备.接收到该组数 据包所包含的所有数据包后, 不管是否有传输通道还没有完成所有数据 包的传输, 传输通道译放模块 506即释放该至少两个传输通道的中的所 有传输通道
在其他实施例中, 发送端设备也可在接收到接收端设备发送的已接 收到该组数据包所包含的所有数据包的信息之后, 由传输通道.释放模块 506发送释放该至少两个传输通道的信息给接收端设备, 在进一步收到 接收端设备的确认信息之后释放该至少两个传输通道。
该至少两个传输通道的释放可以根据各自对应的传输协议或者实际 需要来进行, 并不限于上述举例的几种方式。
此外, 该数据传输装置还包括预分割模块 500, 用于预先对数据进 行分割以获取该组数据包。 其中, 分割的标准需满足该组数据包中的每 个数据包的长度不大于至少两种传输协议各自所允许传输的无需分割 的最大的数据包中长度最小的数据包长度, 且发送端设备与接收端设备 均包括该至少两种传输协议, 并通过该至少两种传输协议同时传输该组 数据包。
由此可见, 通过本实施例所提^ ^的数据传输装置, 针对同一组数据 包釆用对应多个传输协议的传输通道同时传输, 该多个协议可为但不限 于可靠型与非可靠型传输协议的结合, 可同时满足数据传输的完整性和 实时性服务需求。
本发明实施例提供一种数.据传输装置,该装置可运行于接收端设备, 用于实现上述实施例中的数据传输方法 如图 16 所示, 所述装置包括 多协议通道建立模块 601、 数据预接收模块 602、 判断模块 603、 数据接 收模块 604、 传输通道释放模块 605以及整合模块 606。
多协议通道建立模块 601 , 用于初始化至少两种传输协议并与发送 端设备建立对应该至少两种传输协议的至少两个传输通道。 其中, 当接 收端设备需要接收发送端设备发送的一组数据包时, 多协议通道建立模 块 601初始化至少两种传输 ¼、议并与发送端设备建立对应该至少两种传 输协议的至少两个传输通道, 其中, 一个传输通道对应一种传输协议。 该至少两个传输通道均用于传输同一组数据包, 该组数据包中的所有数 据包具有相应的序列号, 该组数据包预先被复制成多组, 以使一个传输 通道用于传输一组数据包, 且同样的数据包在复制后的每组数据包中的 序列号相同。
举例说明, 假设接收端设备包括 TCP、 UDP、 蓝牙 SPP这三种传输 协议, 对应地, 发送端设备也具有 TCP、 UDP、 蓝牙 SPP这三种传输协 议,那么根据实际情况,接收端设备和发送端设备可以选择 TCP UDP> 蓝牙 SPP这三种传输协议中的任意两种传输协议来传输数据,建立两个 传输通道;或者釆用 TCP、 UDP、蓝牙 SPP这三种传输协议来传输'数据, 建立三个传输通道。 当设备接收端和发送端设备同时拥有更多数量的传 输协议时, 也可采用三种以上的传输协议来传输数据, 此时需要建立更 多的传输通道。
数据预接收模块 602, 用于预接收所述发送端设备通过该至少两个 传输通道传输的数据包。 具体地, 数据预接收模块 602预接收发送端设 备通过该至少两个传输通道传输的数据包。 举例说明, 若接收端设备和 发送端设备之前建立了第一传输通道(如根据 TCP建立)和第二传输通 道(如根据 UDP 建立)这两个传输通道, 則第一传输通道用来传输该 组数据包, 而第二传输通道用来传输由该组数据包所复制的、 与该组数 据包相同的另一组数据包。 其中, 两组数据包中的同祥的数据包在的序 列号相同。
进一步地, 该组数据包中的每个数据包的长度不大于该至少两种传 输协议各自所允许传输的无需分割的最大的数据包中长度最小的数据 包长度。 仍以上述例子进行说明, 若第一传输通道对应的第一传输协议 允许传输的无需分割的数据包长度最大为 1480 字节, 而第二传输通道 对应的第二传输协议允许传输的无需分割的数据包长度最大为 1472 字 节, 则第二传输协议允许传输的无需分割的数据包长度最小, 那么该组 数据包中的每个数据包的长度应该不大于该第二传输协议允许传输的 无需分割的最大的数据包长度, 即 1472字节。
判断模块 603 , 用于当每一传输通道中的一数据包到达接收端设备 时, 在数据预接收t块 602预接收该数据包之后判断是否已接收到具有 与该数据包相同序列号的通过另一传输通道中传输的另一数据包; 若判 断已接收到该另一数据包, 则通知数据接收模块 604丢弃该数据包; 以 及若判断未接收到该另一数据包, 则通知数据接收模块 604接收该数据 包。 具体地, 数据预接收模块 602预接收每一传输通道传输的每一数据 包之后, 判断模块 603确认当前到达的数据包的序列号, 并判断是否已 接收到与当前数据包相同序列号的经由另一传输通道中传输的另一数 据包, 若判断模块 603判断已接收到与当前数据包相同序列号的经由另 一传输通道中传输的另一数据包, 则通知数据接收模块 604丟弃当前到 达的数据包; 若判断模块 603判断未接收到与当前数据包相同序列号的 经由另一传输通道中传输的另一数据包, 则通知数据接收模块 604接收 该数据包。
数据接收模块 604, 用于针对相同序列号的数据包, 接收该至少两 个传输通道传输的先到达的数据包并丢弃后到达的具有相同序列号的 其他数据包, 即采用 "先到接收、 后到丟弃" 的接收原则。
传输通道.释放模块 605 , 用于当数据接收模块 604接收到该组数据 包所包含的所有数据包之后, 释放该至少两个传输通道。 具体地, 当数 据接收模块 604接收到该组数据包所包含的所有数据包之后, 由传输通 道释放模块 605释放该至少两个传输通道。
并且, 该传输通道译放模块 605可在每一传输通道中的一组数据包 中的所有数据包到达接收端设备之后, 同时或者分别 #放该至少两个传 输通道; 或者, 只要接收端设备接收到该组数据包所包含的所有数据包 后, 不管是否有传输通道还没有完成所有数据包的传输, 该传输通道释 放模块 605即释放该至少两个传输通道中的所有传输通道。
进一步地,接收端设备还包括信息发送模块(图未示), 该信息发送 模块用于发送已接收到该组数据包中的所有数据包的信息给发送端设 备。
整合模块 606, 用于当数据接收模块 604接收到该组数据包所包含 的所有数据包之后, 对所接收到的所有数据包进行整合, 使接收到的所 有数据包整合成一组数据包或者进一步恢复成发送端设备进行分割前 的数据。
由此可见, 通过本实施例所提供的数据传输装置, 针对同一组数据 包采用对应多个传输协议的传输通道同时传输, 该多个协议可为但不限 于可靠型与非可靠型传输^议的结合, 可同时满足数据传输的完整性和 实时性服务需求。
本发明实施例提供一种数据传输系统, 该数据传输系统包括发送端 设备和接收端设备。 其中, 发送端设备包括图 15 所示实施例所提供的 数据传输装置, 接收端设备包括图 16 所示实施例所提供的数据传输装 置。
通过本实施例所提供的数据传输系统, 针对同一组数据包采用对应 多个传输协议的传输通道同时传输, 该多个协议可为但不限于可靠型与 非可靠型传输协议的结合, 可同时满足数据传输的完整性和实时性服务 需水。
需要说明的是, 本说明书中每个实施例重点说明的都是与其他实施 例的不同之处, 各个实施例之间相同相似的部分互相参见即可。 对于装 置类实施例而言, 由于其与方法实施例基本相似,所以描述的比较简单, 相关之处参见方法实施例的部分说明即可。
需要说明的是, 在本文中, 术语"包括"、 "包含 "或者其任何其他变 体意在涵盖非排他性的包含, 从而使得包括一系列要素的过程、 方法、 物品或者装置不仅包括那些要素, 而且还包括没有明确列出的其他要 素, 或者是还包括为这种过程、 方法、 物品或者装置所固有的要素。 在 没有更多限制的情况下, 由语句 "包括一个 ...... "限定的-要素, 并不排除 在包括要素的过程、 方法、 物品或者装置中还存在另外的相同要素。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可 以通过硬件来完成, 也可以通过程序来指令相关的硬件完成, 程序可以 存储于一种计算机可读存储介质中, 上述提到的存储介质可以是只读存 储器, 磁盘或光盘等。
以上, 仅是本发明的较佳实施例而已, 并非对本发明作任何形式上 的限制, 虽然本发明已以较佳实施例揭露如上, 然而并非用以限定本发 明, 任何熟悉本专业的技术人员, 在不脱离本发明技术方案范围内, 当 可利用上述揭示的技术内容做出些许更动或修饰为等同变化的等效实 施例, 但凡是未脱离本发明技术方案内容, 依据本发明的技术实质对以 上实施例所作的任何简单修改、 等同变化与修饰, 均仍属于本发明技术

Claims

1、 一种数据传输方法, 用于发送端设备向接收端设备.传输数据, 其 特征在于, 所述方法包括:
所述发送端设备获取一组数据包, 其中, 该组数据包包括至少一个 数据包, 该组数据包中的所有数据包具有相应的序列号;
所述发送端设备与所述接收端设备初始化至少两种传输协议并建立 对应该至少两种传输协议的至少两个传输通道, 其中, 一个传输通道对 所述发送端设备根据该至少两个传输通道的数量将该组数据包复制 成多组数.据包;
所述发送端设备通过该至少两个传输通道同时传输复制后的所述多 组数据包至所述接收端设备, 其中, 一个传输通道传输一组数据包; 所述接收端设备预接收该至少两个传输通道传输的数据包; 以及 针对相同序列号的数据包, 所述接收端设备接收该至少两个传输通 道传输的先到达的数据包并丟弃后到达的具有相同序列号的其他数据 包。
2、根据权利要求 1 所述的方法, 其特征在于, 该组数据包中的每个 数据包的长度不大于该至少两种传输协议各自所允许传输的无需分割 的最大的数据包中长度最小的数据包长度。
3、 根据权利要求 1所述的方法, 其特征在于, 所述方法还包括: 当所述接收端设备接收到该组数据包所包含的所有数据包之后, 释 放该至少两个传输通道。
4, 根据权利要求 1所述的方法, 其特征在于, 所述方法还包括: 所 述发送端设备预先对数据进行分割以获取该组数据包。
5 »根据权利要求 1所述的方法, 其特征在于, 当接收到该组数据包 所包含的所有数据包之后, 所述接收端设备发送已接收到该组数据包所 包含的所有数据包的信息给所述发送端设备。
6、 根据权利要求 1所述的方法, 其特征在于, 所述方法还包括: 当接收到该组数据包所包含的所有数据包之后, 所述接收端设备对 所接收到的所有数据包进行整合。
7、根据权利要求 1所述的方法, 其特征在于, 所述针对相同序列号 的数据包, 所述接收端设备接收该至少两个传输通道传输的先到达的数 据包并丟弃后到达的具有相同序列号的其他数据包包括:
当每一传输通道中的一数据包到达所述接收端设备时, 所述接收端 设备在预接收该数据包之后判断是否已接收到具有与该数据包相同序 列号的通过另一传输通道传输的另一数据包;
若判断已接收到该另一数据包, 则丢弃该数据包; 以及
若判断未接收到该另一数据包, 则接收该数据包。
8、 一种数据传输方法, 用于发送端设备, 其特征在于, 所述方法包 获取一组数据包, 其中, 该组数据包包括至少一个数据包, 该组数 据包中的所有数据包具有相应的序列号;
初始化至少两种传输协议并与接收端设备建立对应该至少两种传输 协议的至少两个传输通道, 其中, 一个传输通道对应一种传输协议; 根据该至少两个传输通道的数量将该组数据包复制成多组数据包; 以及
通过该至少两个传输通道同时传输复制后的所述多组数据包至所述 接收端设备, 其中, 一个传输通道传输一组数据包。
9、根据权利要求 8所述的方法, 其特征在于, 该组数据包中的每个 数据包的长度不大于该至少两种传输协议各自所允许传输的无需分割 的最大的数据包中长度最小的数据包长度。
! 0、 根据权利要求 8所述的方法, 其特征在于, 所述方法还包括: 当接收到所述接收端设备发送的已接收到该组数据包所包含的所有 数据包的信息之后, 释放该至少两个传输通道。
11、 根据权利要求 8所述的方法, 其特征在于, 所述方法还包括: 预先对数据进行分割以获取该组数据包。
12 , 一种数据传输方法, 用于接收端设备, 其特征在于, 所述方法 包括:
初始化至少两种传输协议并与发送端设备建立对应该至少两种传输 协议的至少两个传输通道, 其中, 一个传输通道对应一种传输协议, 该 至少两个传输通道均用于传输同一组数据包, 该组数据包中的所有数据 包具有相应的序列号, 该组数据包预先被复制成多组, 以使一个传输通 道用于传输一组数据包;
预接收所述发送端设备通过该至少两个传输通道传输的数据包; 以 及
针对相同序列号的数据.包, 接收该至少两个传输通道传输的先到达 的数据包并丢弃后到达的具有相同序列号的其他数据包。
13、根据权利要求 12所述的方法, 其特征在于, 该组数据包中的每 个数据包的长度不大于该至少两种传输协议各自所允许传输的无需分 割的最大的数据包中长度最小的数据包长度。
14 , 根据权利要求 12所述的方法, 其特征在于, 所述方法还包括: 当接收到该组数据包所包含的所有数据包之后, 释^:该至少两个传 输通道
15、 根据权利要求 12所述的方法, 其特征在于, 所述方法还包括: 当接收到该组数据包所包含的所有数据包之后, 发送已接收到该组 数据包所包含的所有数据包的信息给所述发送端设备。
16、 根据权利要求 12所述的方法, 其特征在于, 所述方法还包括: 当接收到该组数据包所包含的所有数据包之后, 所述 ^ί·收端设备对 所接收到的所有数据包进行整合。
17、根据权利要求 12所述的方法, 其特征在于, 所述针对相同序列 号的数据包, 接收该至少两个传输通道传输的先到达的数据包并丟弃后 到达的具有相同序列号的其他数据包包括:
当每一传输通道中的一数据包到达时, 在预接收该数据包之后判断 是否已接收到具有与该数据包相同序列号的通过另一传输通道中传输 的另一数据包;
若判断已接收到该另一数据包, 则丟弃该数据包; 以及
若判断未接收到该另一数据包, 则接收该数据包。
18、 一种数据传输装置, 运行于发送端设备, 其特征在于, 所述装 置包括:
获取模块, 用于获取一组数据包, 其中, 该组数据包包括至少一个 数据包, 该组数据包中的所有数据包具有相应的序列号;
多协议通道建立模块, 用于初始化至少两种传输协议并与接收端设 备建立对应该至少两种传输协议的至少两个传输通道, 其中, 一个传输 通道对应一种传输协议;
复制模块, 用于根据该至少两个传输通道的数量将该组数据包复制 成多组数据包; 以及
传输模块, 用于通过该至少两个传输通道同时传输复制后的所述多 组数据包至所述接收端设备, 其中, 一个传输通道传输一组数据包。
19、根据权利要求 18所述的装置, 其特征在于, 该组数.据包中的每 个数据包的长度不大于该至少两种传输协议各自所允许传输的无需分 割的最大的数据包中长度最小的数据包长度。
20、根据权利要求 18所述的装置, 其特征在于, 所述装置进一步包 括:
传输通道释放模块, 用于当接收到所述接收端设备发送的已接收到 该组数据包所包含的所有数据包的信息之后, 释放该至少两个传输通 道。
21、根据权利要求 18所述的装置, 其特征在于, 所述装置进一步包 括:
预分割模块, 用于预先对数据进行分割以获取该组数据包。
22、 一种数据传输装置, 运行于接收端设备, 其特征在于, 所述装 置包括:
多协议通道建立模块, 用于初始化至少两种传输协议并与发送端设 备建立对应该至少两种传输协议的至少两个传输通道, 其中, 一个传输 通道对应一种传输协议, 该至少两个传输通道均用于传输同一组数据 包, 该组数据包中的所有数据包具有相应的序列号, 该组数据包预先被 复制成多组, 以使一个传输通道用于传输一组数据包;
数据预接收模块, 用于预接收所述发送端设备通过该至少两个传输 通道.传输的数据包; 以及
数据接收模块, 用于针对相同序列号的数据包, 接收该至少两个传 输通道传输的先到达的数据包并丟弃后到达的具有相同序列号的其他 数据包。
23、根据权利要求 22所述的装置, 其特征在于, 该组数据包中的每 个数据包的长度不大于该至少两种传输协议各自所允许传输的无需分 割的最大的数据包中长度最小的数据包长度。
24、根据权剩要求 22所述的装置, 其特征在于, 所述装置进一步包 传输通道.释放模块, 用于当所述数据接收模块接收到该组数据包所 包含的所有数.据包之后, 释放该至少两个传输通道。
25、根据权利要求 22所述的装置, 其特征在于, 所述装置进一步包 括:
整合模块, 用于当所述数据接收模块接收到该组数据包所包含的所 有数据包之后, 对所接收到的所有数据包进行整合。
26、根据权利要求 22所述的装置, 其特征在于, 所述装置进一步包 括判断模块, 所述判断模块用于当每一传输通道中的一数据包到达所述 接收端设备时, 在所述数据预接收模块预接收该数 包之后判断是否已 接收到具有与该数据包相同序列号的通过另一传输通道中传输的另一 数据包; 若判断已接收到该另一数据包, 则通知所述数.据接收模块丟弃 该数据包; 以及若判断未接收到该另一数据包, 则通知所述数据接收模 块接收该数据包。
27、 一种数据传输系统, 包括发送端设备和接收端设备, 其特征在 于, 所述发送端设备包括权利要求 18至 21所述的任一数据传输装置, 所述接收端设备包括权利要求 22至 26所述的任一数.据传输装置。
28、 一种非易失性计算机可读存储介质, 其特征在于, 存储有程序, 所述程序能够使计算机执行如权利要求 8至 11所述的任一数据传输方 法。
29 , —种非易失性计算机可读存储介质, 其特征在于, 存储有程序, 所 述程序能够使计算机执行如权利要求 12 至 17 所述的任一数据传输方 法。
PCT/CN2016/086170 2015-07-15 2016-06-17 数据传输方法、装置及系统 WO2017008612A1 (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US15/683,295 US10680839B2 (en) 2015-07-15 2017-08-22 Data transmission using multiple channels with distinct data transmission protocols

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201510417301.9A CN106357364B (zh) 2015-07-15 2015-07-15 数据传输方法、装置及系统
CN201510417301.9 2015-07-15

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US15/683,295 Continuation US10680839B2 (en) 2015-07-15 2017-08-22 Data transmission using multiple channels with distinct data transmission protocols

Publications (1)

Publication Number Publication Date
WO2017008612A1 true WO2017008612A1 (zh) 2017-01-19

Family

ID=57756832

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2016/086170 WO2017008612A1 (zh) 2015-07-15 2016-06-17 数据传输方法、装置及系统

Country Status (3)

Country Link
US (1) US10680839B2 (zh)
CN (1) CN106357364B (zh)
WO (1) WO2017008612A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115916868A (zh) * 2020-07-21 2023-04-04 引能仕株式会社 液晶聚酯树脂、成型品和电气电子零件

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106936852B (zh) * 2017-04-26 2020-03-06 海南云江科技有限公司 一种数据发送和接收方法、设备以及数据传输系统
WO2018209658A1 (zh) * 2017-05-18 2018-11-22 深圳市大疆创新科技有限公司 数据传输方法、设备、机器可读存储介质以及系统
CN107911668B (zh) * 2017-11-29 2019-12-06 天津聚飞创新科技有限公司 无线图传系统及方法
CN108809549B (zh) * 2018-04-23 2021-08-10 维沃移动通信有限公司 一种传输数据的方法及设备
US20200187041A1 (en) * 2018-12-10 2020-06-11 Mediatek Inc. Wireless communication method and associated wireless device
CN109714272A (zh) * 2018-12-29 2019-05-03 苏州睿安芯微电子有限公司 一种增强网络稳定性及实时性的方法
CN109862027A (zh) * 2019-03-01 2019-06-07 中国联合网络通信集团有限公司 数据发送方法、数据接收方法及设备、数据传输系统
CN110099403B (zh) * 2019-05-17 2022-07-19 腾讯科技(深圳)有限公司 一种数据传输方法、装置、设备及存储介质
CN111147564B (zh) * 2019-12-20 2022-07-26 国久大数据有限公司 数据文件传输方法、系统及通信终端
CN111010399A (zh) * 2019-12-20 2020-04-14 北京天融信网络安全技术有限公司 一种数据传输方法、装置、电子设备及存储介质
CN111372328B (zh) * 2020-03-12 2022-10-14 深圳市三旺通信股份有限公司 数据的通信方法、装置、设备及计算机可读存储介质
CN111294289A (zh) * 2020-03-26 2020-06-16 上海有个机器人有限公司 一种多链路切换的机器人通讯方法和系统
CN111970340B (zh) * 2020-07-30 2023-06-16 北京大米科技有限公司 信息传输方法、可读存储介质和电子设备
FR3126578B1 (fr) * 2021-08-26 2023-07-14 Sagemcom Energy & Telecom Sas Procede de regulation destine a resorber un engorgement d’un reseau maille de communication par courants porteurs en ligne et radio
CN114070495A (zh) * 2021-11-17 2022-02-18 武汉联影智融医疗科技有限公司 数据传输方法、装置、电子装置和存储介质
CN114222253A (zh) * 2021-11-24 2022-03-22 杭州三汇软件有限公司 一种双网络主主运行终端网络抉择方法及装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030147377A1 (en) * 2001-11-05 2003-08-07 Jean-Francois Saint Etienne Process for implementation of a redundant switched full-duplex ethernet type communication network
CN101009663A (zh) * 2007-01-19 2007-08-01 深圳市深信服电子科技有限公司 通过冗余提高数据传输速度的方法
US20070223533A1 (en) * 2004-11-16 2007-09-27 Abb Research Ltd Reception of redundant and non-redundant frames
CN101616167A (zh) * 2008-06-27 2009-12-30 中国移动通信集团公司 确定多网协同传输方案的方法及数据传送方法
CN104283658A (zh) * 2013-11-30 2015-01-14 许继电气股份有限公司 一种基于prp并行冗余保护装置的双网冗余实现方法
CN104702371A (zh) * 2015-01-14 2015-06-10 赵树乔 基于网络可靠传输协议的双链路数据传输方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004079997A1 (de) * 2003-03-04 2004-09-16 Siemens Aktiengesellschaft Verfahren und drahtlos ankoppelbare kommunikationseinrichtung zur paketorientierten datenübertragung
KR100943888B1 (ko) * 2006-12-07 2010-02-24 삼성전자주식회사 다수의 이종망들을 이용한 패킷 데이터 서비스 장치 및방법
US7796646B2 (en) * 2007-01-25 2010-09-14 International Business Machines Corporation Method and apparatus to perform segmentation off-load between two logical partitions
US8391918B2 (en) * 2010-06-28 2013-03-05 Research In Motion Limited Method and system for radio access technology selection
US9712464B2 (en) * 2012-01-19 2017-07-18 Mitsubishi Electric Corporation Multichannel gateway, multiplex transmission line communication system, multiplex transmission line communication method and computer-readable recording medium storing program
US9444727B2 (en) * 2012-10-16 2016-09-13 Cisco Technology, Inc. Duplicating traffic along local detours before path remerge to increase packet delivery
JP2015170955A (ja) * 2014-03-06 2015-09-28 富士通株式会社 通信方法、通信制御プログラム、及び、通信装置
US9397939B2 (en) * 2014-06-24 2016-07-19 International Business Machines Corporation Hybrid approach for performance enhancing proxies

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030147377A1 (en) * 2001-11-05 2003-08-07 Jean-Francois Saint Etienne Process for implementation of a redundant switched full-duplex ethernet type communication network
US20070223533A1 (en) * 2004-11-16 2007-09-27 Abb Research Ltd Reception of redundant and non-redundant frames
CN101009663A (zh) * 2007-01-19 2007-08-01 深圳市深信服电子科技有限公司 通过冗余提高数据传输速度的方法
CN101616167A (zh) * 2008-06-27 2009-12-30 中国移动通信集团公司 确定多网协同传输方案的方法及数据传送方法
CN104283658A (zh) * 2013-11-30 2015-01-14 许继电气股份有限公司 一种基于prp并行冗余保护装置的双网冗余实现方法
CN104702371A (zh) * 2015-01-14 2015-06-10 赵树乔 基于网络可靠传输协议的双链路数据传输方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115916868A (zh) * 2020-07-21 2023-04-04 引能仕株式会社 液晶聚酯树脂、成型品和电气电子零件

Also Published As

Publication number Publication date
US10680839B2 (en) 2020-06-09
CN106357364B (zh) 2020-09-25
US20170373864A1 (en) 2017-12-28
CN106357364A (zh) 2017-01-25

Similar Documents

Publication Publication Date Title
WO2017008612A1 (zh) 数据传输方法、装置及系统
KR101702273B1 (ko) 음성 및 데이터 통신을 달성하기 위해 wi-fi 디스플레이 전송 메커니즘들을 사용하는 방법 및 시스템
WO2018000336A1 (zh) Rrc连接建立方法及设备
WO2019119367A1 (zh) 标识分配方法及装置、基站和用户设备
US10225830B2 (en) Processing method of data packet, terminal, base station and system
JP7246307B2 (ja) 接続されたマルチメディアデバイスの制御
WO2015180051A1 (zh) 数据发送方法及装置
US20220321455A1 (en) Multipath transmission method and device
WO2018113373A1 (zh) 一种数据传输方法及装置
WO2016112728A1 (zh) 一种数据传输的方法、网络服务器、用户终端及系统
CN111527733B (zh) 控制双模蓝牙低能耗多媒体装置
WO2014166243A1 (zh) 一种多终端多声道独立播放方法及装置
WO2019019486A1 (zh) 下行数据包配置方法及装置
WO2019033399A1 (zh) 反射业务质量配置的方法及装置和信息发送方法及装置
US11374623B2 (en) Connected isochronous stream swapping
WO2018166042A1 (zh) 数据单元传输方法及装置
KR20170100001A (ko) 데이터 전송 방법, 장치, 및 시스템
WO2018196102A1 (zh) 信息传递方法、装置及计算机可读存储介质
WO2019010617A1 (zh) 数据传输方法及装置、接收端设备和发送端设备
WO2018010125A1 (zh) 数据传输方法及装置、计算机程序和存储介质
JP7250124B2 (ja) データ処理方法及び機器
WO2018213985A1 (zh) 数据传输方法及装置
TW201701711A (zh) 用於管理反向通道音訊通信期的技術
US11109260B2 (en) Data transmission method and apparatus
CN114363370B (zh) 车载设备通信方法、装置、系统和车辆

Legal Events

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

Ref document number: 16823759

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

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

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

122 Ep: pct application non-entry in european phase

Ref document number: 16823759

Country of ref document: EP

Kind code of ref document: A1