CN110418376B - Data transmission method and device - Google Patents

Data transmission method and device Download PDF

Info

Publication number
CN110418376B
CN110418376B CN201910693576.3A CN201910693576A CN110418376B CN 110418376 B CN110418376 B CN 110418376B CN 201910693576 A CN201910693576 A CN 201910693576A CN 110418376 B CN110418376 B CN 110418376B
Authority
CN
China
Prior art keywords
data
links
receiving end
transmission
link
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
CN201910693576.3A
Other languages
Chinese (zh)
Other versions
CN110418376A (en
Inventor
柯恒忠
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guoguang East Network Beijing Co ltd
Original Assignee
Guoguang East Network Beijing Co ltd
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 Guoguang East Network Beijing Co ltd filed Critical Guoguang East Network Beijing Co ltd
Priority to CN201910693576.3A priority Critical patent/CN110418376B/en
Publication of CN110418376A publication Critical patent/CN110418376A/en
Application granted granted Critical
Publication of CN110418376B publication Critical patent/CN110418376B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/02Protecting privacy or anonymity, e.g. protecting personally identifiable information [PII]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/03Protecting confidentiality, e.g. by encryption
    • H04W12/033Protecting confidentiality, e.g. by encryption of the user plane, e.g. user's traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W24/00Supervisory, monitoring or testing arrangements
    • H04W24/08Testing, supervising or monitoring using real traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/06Optimizing the usage of the radio link, e.g. header compression, information sizing, discarding information
    • H04W28/065Optimizing the usage of the radio link, e.g. header compression, information sizing, discarding information using assembly or disassembly of packets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/08Load balancing or load distribution
    • H04W28/082Load balancing or load distribution among bearers or channels
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W76/00Connection management
    • H04W76/10Connection setup
    • H04W76/15Setup of multiple wireless link connections

Landscapes

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

Abstract

The embodiment of the application provides a data transmission method and a device, wherein the method comprises the following steps: acquiring a data stream to be sent to a receiving end; determining transmission capacity of m links between the sending end and the receiving end; and transmitting the data stream to the receiving end through at least one link of the m links according to the transmission capability of the m links. Therefore, the embodiment of the application sets the plurality of links in a mode of setting the plurality of network cards at the sending end, and then when the data volume is large, the plurality of links can be adopted to transmit data, the timeliness of data stream transmission is met, and the transmission efficiency is improved.

Description

Data transmission method and device
Technical Field
The present application relates to the field of communications technologies, and in particular, to a data transmission method and apparatus.
Background
The current live broadcast industry develops towards mobile live broadcast and high-definition live broadcast, more and more scenes of live broadcast of 4G and Wireless Fidelity (WiFi) are adopted, but no matter which kind of live broadcast scene is adopted, live broadcast data can only be transmitted by a single link.
However, when the amount of data is large, this may cause the load of link transmission to be too high, and the transmission efficiency is low, so that the live data may be transmitted with delay, and poor live experience is brought to the user.
Disclosure of Invention
In view of the above, an object of the present invention is to provide a data transmission method and apparatus, so as to solve the problems in the prior art that when the amount of data is large, the data transmission load is high by using a single link, and the data transmission efficiency is low when the network is unstable.
In a first aspect, an embodiment of the present application provides a data transmission method, which is applied to a sending end, where the sending end includes n network cards, each network card forms at least one link with a receiving end, and n is an integer greater than or equal to 2, where the method includes: acquiring a data stream to be sent to the receiving end; determining the transmission capacity of m links between the sending end and the receiving end, wherein m is larger than or equal to n; and transmitting the data stream to the receiving end through at least one link of the m links according to the transmission capability of the m links.
In the implementation process, a plurality of network cards are arranged at the sending end, so that a plurality of links are formed between the sending end and the receiving end, the data stream to be transmitted of each link can be determined according to the transmission capacity of each link when the sending end sends the data stream, the data stream can be transmitted to the receiving end through at least one link, therefore, the plurality of links are arranged in the sending end in a mode of arranging the plurality of network cards, and further when the data volume is large, the plurality of links can be adopted to transmit data, the timeliness of data stream transmission is met, and the transmission efficiency is improved.
Optionally, the transmitting the data stream to the receiving end through at least one of the m links according to the transmission capabilities of the m links includes: when the transmission capacity of the m links is determined to not meet the transmission requirement, adding a target link; and transmitting the data stream to the receiving end through the m links and the target links according to the m links and the increased transmission capacity of the target links.
In the implementation process, when the data volume is large, the transmission link can be dynamically increased according to the transmission requirement, so that the data stream can be efficiently transmitted to the receiving end through more links.
Optionally, the transmitting the data stream to the receiving end through at least one of the m links according to the transmission capabilities of the m links includes: and when the transmission capability of a part of the m links is determined to meet the transmission requirement for transmitting all the data streams, transmitting the data streams to the receiving end through the part of the links.
In the implementation process, when the data volume is small, transmission links can be dynamically reduced, and further the waste of transmission resources is avoided.
Optionally, determining transmission capabilities of m links between the sending end and the receiving end includes: acquiring at least one data of load, transmission speed and packet loss rate of each link; and determining the transmission capability of each link according to at least one data of the load, the transmission speed and the packet loss rate of each link.
In the implementation process, the transmission capability of each link is determined by obtaining at least one of the load, the transmission speed and the packet loss rate of each link, so that the transmission capability of each link can be obtained more directly and accurately.
Optionally, the transmitting the data stream to the receiving end through at least one of the m links according to the transmission capabilities of the m links includes: dividing the data stream into multi-frame data; dividing each frame of data into a plurality of data packets according to a preset sub-packet rule; and distributing a plurality of data packets of each frame of data according to the transmission capacity of the m links and transmitting the data packets to the receiving end through at least two links.
In the implementation process, the data stream is divided into multiple frames of data, and then each frame of data is divided into multiple data packets for transmission through the link, so that the data can be efficiently transmitted to the receiving end.
Optionally, after the transmitting the data stream to the receiving end through at least one of the m links according to the transmission capabilities of the m links, the method further includes: receiving a feedback signal sent by the receiving end after the receiving end verifies the plurality of data packets of each frame of data; determining whether to retransmit a data packet that fails verification based on the feedback signal; and if so, re-sending the data packet which is not verified to the receiving end.
In the implementation process, the data packet which is not verified is retransmitted to the receiving end according to the feedback signal sent by the receiving end, so that the problem that the receiving end cannot obtain data after the data is lost is solved.
Optionally, after acquiring the data stream to be sent to the receiving end, before determining the transmission capabilities of m links between the sending end and the receiving end, the method further includes: storing each frame of data in a ring queue of the transmitting end; transmitting the data stream to the receiving end through at least one of the m links according to the transmission capabilities of the m links, including: and taking out each frame of data from the annular queue in sequence, dividing each frame of data into a plurality of data packets according to the transmission capability of the m links, and transmitting the plurality of data packets of each frame of data to the receiving end through at least one link of the m links.
In the implementation process, the data is stored through the annular queue, and due to the characteristics of the data structure of the annular queue, the data does not need to be moved in the reading process, so that the data reading efficiency is high.
Optionally, the transmitting the data stream to the receiving end through at least one of the m links according to the transmission capabilities of the m links includes: determining the data stream to be transmitted of each link according to the transmission capability of the m links; encrypting the data stream to be sent by each link according to the encryption rule corresponding to each link in the m links to obtain the encrypted data stream; and transmitting the encrypted data stream to the receiving end through at least one link in the m links.
In the implementation process, the data transmitted by each link is encrypted through the encryption rule of each link, so that the safe transmission of the data is ensured.
In a second aspect, an embodiment of the present application provides a data transmission method, where the method includes: the method comprises the steps that a sending end obtains a data stream to be sent to a receiving end, the sending end comprises n network cards, each network card and the receiving end form at least one link, and n is an integer greater than or equal to 2; the transmitting end determines the transmission capacity of m links between the transmitting end and the receiving end, wherein m is larger than or equal to n; the sending end transmits the data stream to the receiving end through at least one link in the m links according to the transmission capacity of the m links; the receiving end receives the data stream.
In a third aspect, an embodiment of the present application provides a data transmission device, which operates at a sending end, where the sending end includes n network cards, each network card forms at least one link with a receiving end, n is an integer greater than or equal to 2, and the device includes: the data acquisition module is used for acquiring a data stream to be sent to the receiving end; a transmission capacity determining module, configured to determine transmission capacities of m links between the sending end and the receiving end, where m is greater than or equal to n; and the data sending module is used for transmitting the data stream to the receiving end through at least one link in the m links according to the transmission capacity of the m links.
Optionally, the data sending module is specifically configured to:
when the transmission capacity of the m links is determined to not meet the transmission requirement, adding a target link;
and transmitting the data stream to the receiving end through the m links and the target links according to the m links and the increased transmission capacity of the target links.
Optionally, the data sending module is specifically configured to:
and when the transmission capability of a part of the m links is determined to meet the transmission requirement for transmitting all the data streams, transmitting the data streams to the receiving end through the part of the links.
Optionally, the transmission capability determining module is specifically configured to:
acquiring at least one data of load, transmission speed and packet loss rate of each link;
and determining the transmission capability of each link according to at least one data of the load, the transmission speed and the packet loss rate of each link.
Optionally, the data sending module is specifically configured to:
dividing the data stream into multi-frame data;
dividing each frame of data into a plurality of data packets according to a preset sub-packet rule;
and distributing a plurality of data packets of each frame of data according to the transmission capacity of the m links and transmitting the data packets to the receiving end through at least two links.
Optionally, the apparatus further comprises:
a feedback module to:
receiving a feedback signal sent by the receiving end after the receiving end verifies the plurality of data packets of each frame of data;
determining whether to retransmit the data packet that fails the verification based on the feedback signal;
and if so, re-sending the data packet which is not verified to the receiving end.
Optionally, the apparatus further comprises:
the storage module is used for storing each frame of data in a ring queue of the sending end;
the data sending module is specifically configured to take out each frame of data from the ring queue in sequence, divide each frame of data into a plurality of data packets according to the transmission capability of the m links, and transmit the plurality of data packets of each frame of data to the receiving end through at least one of the m links.
Optionally, the data sending module is specifically configured to:
determining the data stream to be transmitted of each link according to the transmission capability of the m links;
encrypting the data stream to be sent by each link according to the encryption rule corresponding to each link in the m links to obtain the encrypted data stream;
and transmitting the encrypted data stream to the receiving end through at least one link in the m links.
In a fourth aspect, an embodiment of the present application provides a data transmission system, where the system includes: the sending terminal is used for acquiring a data stream to be sent to the receiving terminal, the sending terminal comprises n network cards, each network card and the receiving terminal form at least one link, and n is an integer greater than or equal to 2; the transmitting end is further configured to determine transmission capabilities of m links between the transmitting end and the receiving end, where m is greater than or equal to n; the transmitting end is further configured to transmit the data stream to the receiving end through at least one of the m links according to the transmission capabilities of the m links; the receiving end is configured to receive the data stream.
In a fifth aspect, an embodiment of the present application provides a transmitting end, including a processor and a memory, where the memory stores computer-readable instructions, and when the computer-readable instructions are executed by the processor, the method performs the steps in the method as provided in the first aspect.
In a sixth aspect, embodiments of the present application provide a readable storage medium, on which a computer program is stored, where the computer program runs the steps in the method provided in the first aspect when executed by a processor.
Additional features and advantages of the present application will be set forth in the description which follows, and in part will be obvious from the description, or may be learned by the practice of the embodiments of the present application. The objectives and other advantages of the application may be realized and attained by the structure particularly pointed out in the written description and claims hereof as well as the appended drawings.
Drawings
In order to more clearly illustrate the technical solutions of the embodiments of the present application, the drawings that are required to be used in the embodiments will be briefly described below, it should be understood that the following drawings only illustrate some embodiments of the present application and therefore should not be considered as limiting the scope, and for those skilled in the art, other related drawings can be obtained from the drawings without inventive effort.
Fig. 1 is a schematic structural diagram of a transmitting end or a receiving end according to an embodiment of the present disclosure;
fig. 2 is a flowchart of a data transmission method according to an embodiment of the present application;
fig. 3 is an interaction flow diagram of a first data transmission method according to an embodiment of the present application;
fig. 4 is an interaction flow diagram of a second data transmission method according to an embodiment of the present application;
fig. 5 is an interaction flowchart of a data transmission method according to an embodiment of the present application;
fig. 6 is a block diagram of a data transmission apparatus according to an embodiment of the present application;
fig. 7 is a block diagram of a data transmission system according to an embodiment of the present application.
Detailed Description
The technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the drawings in the embodiments of the present application, and it is obvious that the described embodiments are only some embodiments of the present application, and not all embodiments. The components of the embodiments of the present application, as generally described and illustrated in the figures herein, could be arranged and designed in a wide variety of different configurations. Thus, the following detailed description of the embodiments of the present application, as presented in the figures, is not intended to limit the scope of the claimed application, but is merely representative of selected embodiments of the application. All other embodiments, which can be derived by a person skilled in the art from the embodiments of the present application without making any creative effort, shall fall within the protection scope of the present application.
It should be noted that: like reference numbers and letters refer to like items in the following figures, and thus, once an item is defined in one figure, it need not be further defined and explained in subsequent figures. Meanwhile, in the description of the present application, the terms "first", "second", and the like are used only for distinguishing the description, and are not to be construed as indicating or implying relative importance.
Referring to fig. 1, fig. 1 is a schematic structural diagram of a transmitting end or a receiving end according to an embodiment of the present application, where the transmitting end or the receiving end may include: at least one processor 110, such as a CPU, at least one communication interface 120, at least one memory 130, and at least one communication bus 140. Wherein the communication bus 140 is used for realizing direct connection communication of these components. The communication interface 120 of the device in the embodiment of the present application is used for performing signaling or data communication with other node devices. Memory 130 may be a high-speed RAM memory or a non-volatile memory, such as at least one disk memory. The memory 130 may optionally be at least one memory device located remotely from the aforementioned processor. The memory 130 stores computer readable instructions, which when executed by the processor 110, cause the sender to perform the method processes of fig. 2 described below.
Referring to fig. 2, fig. 2 is a flowchart of a data transmission method provided in an embodiment of the present application, where the method is applied to a sending end, and includes the following steps:
step S110: and acquiring a data stream to be sent to the receiving end.
In this embodiment, the data stream may refer to a live audio-video data stream, or may be a file or other data. The sending end may be a data acquisition terminal, for example, when the acquired data stream is audio and video data, the sending end may be a camera terminal, when the sent data stream is a file, the sending end may also be a terminal such as a mobile terminal, and the receiving end may refer to a terminal such as a server.
In order to improve the data transmission efficiency, the data stream may be transmitted through a plurality of network cards, so the transmitting end includes n network cards, each network card forms at least one link with the receiving end, n is an integer greater than or equal to 2, and one network card can establish at least one communication link between the transmitting end and the receiving end, that is, there are m links between the transmitting end and the receiving end, where m is greater than or equal to n. Generally, when there are multiple network cards, each network card may only have one link, but when the data size is large, one network card may have multiple links.
Step S120: and determining the transmission capacity of m links between the transmitting end and the receiving end.
In order to send the data stream to the receiving end through m links and ensure the timely transmission of the data stream, the data stream can be distributed to each link for transmission, and the amount of data transmitted by each link is determined by the transmission capability of each link.
Step S130: and transmitting the data stream to the receiving end through at least one link of the m links according to the transmission capability of the m links.
After the transmission capability of each link is determined, the data stream may be transmitted to the receiving end through at least one link, for example, if the data stream is small, the data stream may be transmitted to the receiving end through one link, only one link is needed for transmission, and if the data stream is large, the data stream may be distributed to a plurality of links and transmitted to the receiving end through the plurality of links.
In the implementation process, a plurality of network cards are arranged at the sending end, so that a plurality of links are formed between the sending end and the receiving end, the data stream to be transmitted of each link can be determined according to the transmission capacity of each link when the sending end sends the data stream, the data stream can be transmitted to the receiving end through at least one link, therefore, the plurality of links are arranged in the sending end in a mode of arranging the plurality of network cards, and further when the data volume is large, the plurality of links can be adopted to transmit data, the timeliness of data stream transmission is met, and the transmission efficiency is improved.
As an example, after acquiring a data stream, if the data stream is large, a sending end may split the data stream and transmit the data stream, that is, the data stream may be transmitted to a receiving end through at least two links, before sending, the sending end may first divide the data stream into multiple frames of data, then divide each frame of data into multiple data packets according to a preset division rule, and then split the multiple data packets of each frame of data according to the transmission capability of m links and transmit the multiple data packets to the receiving end through at least two links.
The preset division rule can be set according to actual requirements, if the size of each frame of data is 1280 kbytes, each frame of data can be divided into data packets with the size of 16 kbytes, each frame of data can be divided into 80 data packets, the 80 data packets can be transmitted to the receiving end through at least two links after being shunted, so that two links are arranged between the transmitting end and the receiving end, the transmission capacity of the first link is larger than that of the second link, 50 data packets in the 80 data packets can be transmitted to the receiving end through the first link, and the other 30 data packets are transmitted to the receiving end through the second link.
In the implementation process, the data stream is divided into multiple frames of data, and then each frame of data is divided into multiple data packets to be transmitted through the link, so that the data can be efficiently transmitted to the receiving end.
In addition, in order to improve data processing efficiency, data streams may also be stored in a ring queue in units of frames, that is, each frame of data is stored in the ring queue of the sending end, and when data is sent, a frame of data is taken out from the ring queue and then transmitted to a receiving end, that is, when data is sent, each frame of data is taken out from the ring queue in sequence, each frame of data is divided into a plurality of data packets according to the transmission capability of the m links, and the plurality of data packets of each frame of data are transmitted to the receiving end through at least one link of the m links.
It can be understood that, the data stream is first divided into multiple frame data, then multiple frame data are stored in the ring queue by taking a frame as a unit, when data is sent, a frame data is taken out from the ring queue, then the frame data is divided into multiple data packets, and the multiple data packets are transmitted to the receiving end through at least one link.
In the implementation process, the data is stored through the annular queue, and due to the characteristics of the data structure of the annular queue, the data does not need to move in the reading process, so that the data reading efficiency is higher. And, the practical ring queue sends data, and when the data sending is very slow, if the data in the ring queue is full, the newly listed data will cover the data with the longest time, and the memory occupation will not be increased in comparison with the ordinary queue.
As an example, when determining the transmission capability of each link, the transmission capability of each link may be determined by obtaining at least one of the load, the transmission speed, and the packet loss rate of each link, and then determining the transmission capability of each link according to the at least one of the load, the transmission speed, and the packet loss rate of each link.
For example, two links are provided between the sending end and the receiving end, including a first link and a second link, a monitoring mechanism set by the sending end may be adopted to monitor the load of each link, that is, the size of the data stream currently being sent by each link, and obtain the transmission speed and the packet loss rate of each link, the transmission speed and the packet loss rate may be determined according to a feedback signal returned by the receiving end, the receiving end may send a feedback signal to the sending end after obtaining each data packet, that is, tell the sending end the time of receiving the data packet and whether to receive the corresponding data packet, so that the transmission speed of the link may be determined according to the sending time of the data packet of the sending end and the receiving time of the data packet received by the receiving end within a specified time period, and the packet loss rate may be determined according to at least one of the load of the link, the transmission speed, and the packet loss rate.
For example, if the packet loss rate of the first link is higher than that of the second link, the transmission capability of the second link is greater than that of the first link, if the transmission speed of the first link is lower than that of the second link, the transmission capability of the second link is also greater than that of the first link, and if the load of the first link is greater than that of the second link, the transmission capability of the second link is also greater than that of the first link; the transmission capability of the link may also be determined based on any two data of the load, the transmission speed, and the packet loss rate, for example, when the load of the first link is greater than the load of the second link, and the packet loss rate of the first link is less than the packet loss rate of the second contact, the transmission capabilities of the first link and the second link are equivalent, and similarly, the determination manner based on the other two data may also be obtained according to the foregoing manner, and the determination manner based on the three data is also similar, which is not listed here.
Of course, the sending end may also monitor other data of each link, so that the transmission capability of the link may also be determined in combination with other data, for example, the other data may include the transmission bandwidth of the link, the network environment, and the like.
The sending end can also detect the load balance of m links, adjust the priority of each link in real time according to the load of each link, preferentially select the corresponding link to send data according to the priority, and also can monitor the fault state of each link, if a certain link fails, the using frequency of the link is reduced or the link is interrupted, and another link is newly established to send data, thereby ensuring the uninterrupted sending of data.
In the implementation process, the transmission capability of each link is determined by obtaining at least one of the load, the transmission speed and the packet loss rate of each link, so that the transmission capability of each link can be obtained more directly and accurately.
As an example, in order to effectively utilize the transmission link and ensure effective transmission of the data stream, the transmission links may be increased or decreased dynamically, for example, the transmission links may be increased or decreased according to the transmission capability of each link, and the data stream may be transmitted to the receiving end through the final link according to the transmission capability of the final link obtained after the increase or decrease of the links.
For example, when it is determined that the transmission capacities of the m links do not meet the transmission requirement, the target link is added, and then the data stream is transmitted to the receiving end through the m links and the target link according to the transmission capacities of the m links and the added target link.
It can be understood that, if there are two links between the sending end and the receiving end, including the first link and the second link, after the transmission capacities of the first link and the second link are determined according to the above manner, if the time spent on transmitting the data stream is large or the packet loss rate is large, it indicates that the transmission capacities of the first link and the second link do not meet the transmission requirement, at this time, if there is a third network card at the sending end, a third link between the third network card and the receiving end may also be created, and the third link is an increased target link, so that the data stream may be transmitted to the receiving end through the three links according to the transmission capacities of the first link, the second link, and the third link.
It should be noted that, if there are two links at the sending end and the receiving end, if the data volume of the data stream to be transmitted is smaller, only one link is needed to transmit at the beginning, and along with the transmission of the data stream, when it is found that the data volume thereof is gradually larger, or when the data stream needs to be transmitted faster, at this time, two links are used for transmission, and at this time, the other link is an increased target link. The network cards can also be increased or decreased at will, that is, if the current sending end includes two network cards, the data stream is transmitted to the receiving end through two links, and if a third link needs to be added, a third network card can be inserted into the sending end, so that the third link is added as a target link.
Of course, as long as the sending end provides a network card insertion interface, the network cards to be inserted can be added at will to increase corresponding links, so that data streams can be transmitted to the receiving end by adopting multiple links, and timely transmission of data is guaranteed.
In the implementation process, when the data volume is large, the transmission link can be dynamically increased according to the transmission requirement, so that the data stream can be efficiently transmitted to the receiving end through more links.
As another example, if the transmission capability of a part of the m links meets the transmission requirement of transmitting all data streams, the data streams are transmitted to the receiving end through a part of the links.
For example, if there are two links, i.e., a first link and a second link, between the current transmitting end and the receiving end, and a data stream that needs to be transmitted is small, at this time, if two links are still used for transmission, transmission resources of the transmitting end may be wasted, and if the transmission capability of the first link (i.e., a part of the links) meets the transmission requirement for transmitting all data streams, the data stream may be transmitted to the receiving end through the first link.
Of course, in order to reduce the resource for maintaining the link, the second link may be directly cut off, and the data stream may be transmitted to the receiving end through the first link. The link can be cut off by using a relevant program on the sending end, or the network card corresponding to the second link can be directly pulled out.
In the implementation process, when the data volume is small, transmission links can be dynamically reduced, and further waste of transmission resources is avoided.
As an example, to ensure the secure transmission of the data stream, before the data stream is sent, the data stream to be transmitted by each link may be determined according to the transmission capability of m links, then the data stream to be sent by each link is encrypted according to the encryption rule corresponding to each link in the m links to obtain the encrypted data stream, and then the encrypted data stream is transmitted to the receiving end through at least one link in the m links.
For example, if there are two links at the sending end and the receiving end, the data stream to be transmitted by each link may also be determined according to the transmission capabilities of the two links, that is, the data packet to be transmitted by each link, where the encryption rule corresponding to each link may be different or the same, and each link encrypts the data packet according to the corresponding encryption rule before transmitting its respective data packet, and then transmits the data packet, for example, the first link employs the first encryption rule, the second link employs the second encryption rule, if the first link needs to transmit the data packet 1, the first link may encrypt the data packet 1 according to the first encryption rule first and then transmit the data packet, if the second link needs to transmit the data packet 2, the second link may encrypt the data packet 2 according to the second encryption rule first and then transmit the data packet, and after receiving the data packet 1 and the data packet 2, the receiving end may decrypt the data packet by using the decryption method corresponding to the encryption rule, thereby obtaining real data.
The encryption rules may be set according to actual requirements, for example, the first encryption rule may be a symmetric encryption algorithm, the second encryption rule may be an asymmetric encryption algorithm, and other encryption algorithms such as a hash algorithm and a hash algorithm may also be used, which are not limited herein.
In the implementation process, the data transmitted by each link is encrypted through the encryption rule of each link, so that the safe transmission of the data is ensured.
It can be understood that, because there may be a packet loss or a delay in the transmission process of data, before the data packets are sent, each data packet is correspondingly marked with a sequence number, that is, if the first frame of data includes three data packets, which are respectively data packet 1, data packet 2, and data packet 3, the receiving end may merge the data packets into a complete frame of data according to the sequence number of the received data packet, and verify whether the data packets are missing, that is, the receiving end verifies a plurality of data packets of each frame of data, and sends a feedback signal to the sending end after verification, if the sending end sends the three data packets, the receiving end only receives data packet 1 and data packet 3, then data packet 2 is lost, the receiving end feeds back lost data packet 2 to the sending end, and after receiving the corresponding feedback signal, the sending end sends lost data packet 2 to the receiving end again, that is, that the sending data packet that the verification fails to the receiving end again.
It should be noted that, if the sending end does not receive the feedback signal of a certain data packet for a long time, the sending end will also automatically retransmit the data packet to the receiving end, so as to ensure that the receiving end receives the data packet.
In order to avoid that data cannot be retransmitted after being lost in the transmitting process, the transmitting end further copies and stores a data packet after transmitting a data packet, for example, after transmitting the data packet 2, the copied data packet 2 is stored, if the transmitting end receives a feedback signal that the data packet 2 fed back by the receiving end is lost, the data packet with the sequence number of 2 is retrieved from the storage, and the data packet 2 is retransmitted to the receiving end, and in order to avoid that the data packet 2 sent this time is lost, the transmitting end further needs to copy the data packet 2 again and store the data packet 2 until the receiving end receives the data packet 2 and then removes the data packet 2, and if the transmitting end receives feedback signals that the receiving end receives the data packets 1 and 3, the copied data packet 1 and the data packet 3 can also be removed.
Referring to fig. 3, in order to ensure reliable Transmission of data, the data Transmission process in this embodiment may use a multilink Transmission Protocol, or a Transmission Control Protocol (TCP), or a User data packet Protocol (UDP), which sets an acknowledgement mechanism in the data Transmission process, so as to ensure that the receiving end can notify the transmitting end if data is lost in the Transmission process.
When data is transmitted, firstly taking out a frame of data from the circular queue, dividing the frame of data into a plurality of data packets according to the transmission capacity of a link, if the link A is selected to transmit the data packet, after the receiving end receives the data packet, transmitting a feedback signal to the transmitting end to feed back whether the data packet is lost or not, checking the fed back data packet by the transmitting end, if the data packet is lost, retransmitting the data packet, and feeding back the retransmitted data packet by the receiving end until the receiving end receives the data packet. For a plurality of data packets of one frame of data, the plurality of data packets may be distributed to a plurality of links for transmission, or one of the plurality of data packets of one frame of data may be selected for transmission.
Referring to fig. 4, a specific example is described below, if a sending end includes three network cards W1, W2, and W3, and three links between the sending end and a receiving end, including a, B, and C, are created for the three network cards in advance, a link management module is generally created while creating the links, and the link management module further includes a load balancing module for monitoring loads of the links.
The link management module further includes a circular queue (both the waiting queue and the feedback queue in fig. 4 are circular queues) for storing the data flow, that is, the sending end stores the data flow in the waiting queue after acquiring the data flow. When a data stream is sent, the data stream can be divided into multiple frames of data, then each frame of data is stored in a waiting queue, when the data stream is sent, first frame data is obtained from the waiting queue, then the size of the first frame data is obtained, if the size of the first frame data is smaller than or equal to the maximum value allowed by single transmission, a single data packet is generated and then sent through a link, if the size of the first frame data is larger than the maximum value allowed by single transmission, the first frame data is subjected to sub-packaging, then the load conditions of three links, namely the transmission capacity, are obtained, a link with the lowest load is selected, such as a link A, a writable event is monitored on the link A, an event can be generated when the link A is writable, the first frame data to be sent is obtained from the waiting queue to be sent, then the feedback of a receiving end is waited, the feedback queue is used for storing copied data packets, if the data packets received by the receiving end in feedback are overtime and need to be sent again, the sending end obtains the corresponding data packets from the feedback queue again and sends the receiving end, and if the data packets received by the sending end are received, the corresponding data packets in the middle of the feedback queue are clear. Repeating the above processes, continuing to send subsequent data, when the receiving end receives the data stream, returning a feedback signal, and calculating data such as packet loss rate of the link according to the feedback signal, so as to calculate the transmission capability of the link, and then the sending end selects to send the corresponding data packet to the receiving end through the corresponding link according to the transmission capability of each link.
Referring to fig. 5, fig. 5 is an interaction flowchart of a data transmission method provided in an embodiment of the present application, where the method includes the following steps:
step S210: the sending end obtains a data stream to be sent to the receiving end.
The sending end comprises n network cards, each network card and the receiving end form at least one link, and n is an integer greater than or equal to 2.
Step S220: the transmitting end determines the transmission capacity of m links between the transmitting end and the receiving end.
Wherein m is greater than or equal to n.
Step S230: and the sending end transmits the data stream to the receiving end through at least one link in the m links according to the transmission capacity of the m links.
Step S240: the receiving end receives the data stream.
For the specific implementation process of this embodiment, reference may be made to the related description of the above embodiment, and for brevity of description, redundant description is not repeated here.
Referring to fig. 6, fig. 6 is a block diagram of a data transmission device 200 according to an embodiment of the present application, where the device operates at a sending end, the sending end includes n network cards, each network card forms at least one link with the receiving end, n is an integer greater than or equal to 2, and the device 200 may be a module, a program segment, or a code at the sending end. It should be understood that the apparatus 200 corresponds to the above-mentioned embodiment of the method of fig. 2, and can perform various steps related to the embodiment of the method of fig. 2, and the specific functions of the apparatus 200 can be referred to the above description, and the detailed description is appropriately omitted here to avoid redundancy.
Optionally, the apparatus 200 comprises:
a data obtaining module 210, configured to obtain a data stream to be sent to the receiving end;
a transmission capability determining module 220, configured to determine transmission capabilities of m links between the sending end and the receiving end, where m is greater than or equal to n;
a data sending module 230, configured to transmit the data stream to the receiving end through at least one of the m links according to the transmission capabilities of the m links.
Optionally, the data sending module 230 is specifically configured to:
when the transmission capacity of the m links is determined to not meet the transmission requirement, adding a target link;
and transmitting the data stream to the receiving end through the m links and the target links according to the m links and the increased transmission capacity of the target links.
Optionally, the data sending module 230 is specifically configured to:
and when the transmission capability of a part of the m links is determined to meet the transmission requirement for transmitting all the data streams, transmitting the data streams to the receiving end through the part of the links.
Optionally, the transmission capability determining module 220 is specifically configured to:
acquiring at least one data of load, transmission speed and packet loss rate of each link;
and determining the transmission capability of each link according to at least one data of the load, the transmission speed and the packet loss rate of each link.
Optionally, the data sending module 230 is specifically configured to:
dividing the data stream into multi-frame data;
dividing each frame of data into a plurality of data packets according to a preset sub-packet rule;
and distributing a plurality of data packets of each frame of data according to the transmission capability of the m links and transmitting the data packets to the receiving end through at least two links.
Optionally, the apparatus further comprises:
a feedback module to:
receiving a feedback signal sent by the receiving end after the receiving end verifies the plurality of data packets of each frame of data;
determining whether to retransmit a data packet that fails verification based on the feedback signal;
and if so, re-sending the data packet which is not verified to the receiving end.
Optionally, the apparatus further comprises:
the storage module is used for storing each frame of data in a ring queue of the sending end;
the data sending module 230 is specifically configured to take out each frame of data from the circular queue in sequence, divide each frame of data into a plurality of data packets according to the transmission capability of the m links, and transmit the plurality of data packets of each frame of data to the receiving end through at least one of the m links.
Optionally, the data sending module 230 is specifically configured to:
determining the data stream to be transmitted of each link according to the transmission capability of the m links;
encrypting the data stream to be sent by each link according to the encryption rule corresponding to each link in the m links to obtain the encrypted data stream;
and transmitting the encrypted data stream to the receiving end through at least one link in the m links.
Referring to fig. 7, fig. 7 is a block diagram of a data transmission system 300 according to an embodiment of the present application, where the system includes:
a sending end 310, configured to obtain a data stream to be sent to a receiving end 320, where the sending end 310 includes n network cards, each network card forms at least one link with the receiving end, and n is an integer greater than or equal to 2;
the sending end 310 is further configured to determine transmission capabilities of m links between the sending end 310 and the receiving end 320, where m is greater than or equal to n;
the transmitting end 310 is further configured to transmit the data stream to the receiving end 320 through at least one of the m links according to the transmission capabilities of the m links;
the receiving end 320 is configured to receive the data stream.
The embodiment of the present application provides a readable storage medium, and when being executed by a processor, the computer program performs the method process performed by the sending end in the method embodiment shown in fig. 2.
It is clear to those skilled in the art that, for convenience and brevity of description, the specific working process of the apparatus described above may refer to the corresponding process in the foregoing method, and will not be described in too much detail herein.
To sum up, in the method, a plurality of network cards are arranged at a sending end, so that a plurality of links are formed between the sending end and a receiving end, the sending end can determine the data stream to be transmitted of each link according to the transmission capability of each link when sending the data stream, and the data stream can be transmitted to the receiving end through at least one link.
In the several embodiments provided in the present application, it should be understood that the disclosed apparatus and method may be implemented in other manners. The apparatus embodiments described above are merely illustrative, and for example, the flowchart and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of apparatus, methods and computer program products according to various embodiments of the present application. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems which perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
In addition, functional modules in the embodiments of the present application may be integrated together to form an independent part, or each module may exist separately, or two or more modules may be integrated to form an independent part.
The functions, if implemented in the form of software functional modules and sold or used as a stand-alone product, may be stored in a computer readable storage medium. Based on such understanding, the technical solution of the present application or portions thereof that substantially contribute to the prior art may be embodied in the form of a software product stored in a storage medium and including instructions for causing a computer device (which may be a personal computer, a server, or a network device) to execute all or part of the steps of the method according to the embodiments of the present application. And the aforementioned storage medium includes: a U-disk, a removable hard disk, a Read-Only Memory (ROM), a Random Access Memory (RAM), a magnetic disk, or an optical disk, and various media capable of storing program codes.
The above description is only a preferred embodiment of the present application and is not intended to limit the present application, and various modifications and changes may be made to the present application by those skilled in the art. Any modification, equivalent replacement, improvement and the like made within the spirit and principle of the present application shall be included in the protection scope of the present application. It should be noted that: like reference numbers and letters refer to like items in the following figures, and thus, once an item is defined in one figure, it need not be further defined or explained in subsequent figures.
The above description is only for the specific embodiments of the present application, but the scope of the present application is not limited thereto, and any person skilled in the art can easily conceive of the changes or substitutions within the technical scope of the present application, and shall be covered by the scope of the present application. Therefore, the protection scope of the present application shall be subject to the protection scope of the claims.
It should be noted that, in this document, relational terms such as first and second, and the like are used solely to distinguish one entity or action from another entity or action without necessarily requiring or implying any actual such relationship or order between such entities or actions. Also, the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Without further limitation, an element defined by the phrases "comprising one of 8230; \8230;" 8230; "does not exclude the presence of additional like elements in a process, method, article, or apparatus that comprises the element.

Claims (7)

1. A data transmission method is characterized in that the method is applied to a sending end, the sending end comprises n network cards, each network card and a receiving end form at least one link, n is an integer greater than or equal to 2, and the method comprises the following steps:
acquiring a data stream to be sent to the receiving end;
determining the transmission capacity of m links between the sending end and the receiving end, wherein m is larger than or equal to n; wherein the determining transmission capabilities of m links between the transmitting end and the receiving end includes:
acquiring at least one data of load, transmission speed and packet loss rate of each link; determining the transmission capability of each link according to at least one data of the load, the transmission speed and the packet loss rate of each link; the packet loss rate is determined by the number of data packets sent by a sending end and the number of data packets received by a receiving end in a specified time period; transmitting the data stream to the receiving end through at least one link of the m links according to the transmission capability of the m links;
the transmitting the data stream to the receiving end through at least one of the m links according to the transmission capabilities of the m links includes:
dividing the data stream into multi-frame data; dividing each frame of data into a plurality of data packets according to a preset sub-packet rule; distributing a plurality of data packets of each frame of data according to the transmission capability of the m links, and transmitting the data packets to the receiving end through at least two links;
receiving a feedback signal sent by the receiving end after the receiving end verifies the plurality of data packets of each frame of data; determining whether to retransmit the data packet that fails the verification based on the feedback signal; the verifying failing comprises: the sending end does not receive the feedback signal of a certain data packet for a long time and the receiving end receives the feedback signal of a certain data packet loss;
and if so, re-sending the data packet which is not verified to the receiving end.
2. The method according to claim 1, wherein said transmitting the data stream to the receiving end via at least one of the m links according to the transmission capability of the m links comprises:
when the transmission capacity of the m links is determined to not meet the transmission requirement, a target link is added;
and transmitting the data stream to the receiving end through the m links and the target links according to the m links and the increased transmission capacity of the target links.
3. The method according to claim 1, wherein said transmitting the data stream to the receiving end via at least one of the m links according to the transmission capability of the m links comprises:
and when the transmission capability of a part of the m links is determined to meet the transmission requirement for transmitting all the data streams, transmitting the data streams to the receiving end through the part of the links.
4. The method of claim 1, wherein after acquiring the data stream to be sent to the receiving end and before determining transmission capabilities of m links between the sending end and the receiving end, the method further comprises:
storing each frame of data in a ring queue of the transmitting end;
transmitting the data stream to the receiving end through at least one of the m links according to the transmission capabilities of the m links, including:
and taking out each frame of data from the annular queue in sequence, dividing each frame of data into a plurality of data packets according to the transmission capacity of the m links, and transmitting the plurality of data packets of each frame of data to the receiving end through at least one link in the m links.
5. The method of claim 1, wherein the transmitting the data stream to the receiving end through at least one of the m links according to the transmission capabilities of the m links comprises:
determining the data stream to be transmitted of each link according to the transmission capability of the m links;
encrypting the data stream to be sent by each link according to the encryption rule corresponding to each link in the m links to obtain the encrypted data stream;
and transmitting the encrypted data stream to the receiving end through at least one link in the m links.
6. A method of data transmission, the method comprising:
the method comprises the steps that a sending end obtains a data stream to be sent to a receiving end, the sending end comprises n network cards, each network card and the receiving end form at least one link, and n is an integer greater than or equal to 2;
the transmitting end determines the transmission capacity of m links between the transmitting end and the receiving end, wherein m is greater than or equal to n; wherein, the transmitting end determines the transmission capacity of m links between the transmitting end and the receiving end, and the method comprises the following steps:
the sending end obtains at least one data of load, transmission speed and packet loss rate of each link; the transmitting end determines the transmission capability of each link according to at least one data of the load, the transmission speed and the packet loss rate of each link; the packet loss rate packet is determined by the number of data packets sent by a sending end and the number of data packets received by a receiving end in a specified time period;
the sending end transmits the data stream to the receiving end through at least one link in the m links according to the transmission capacity of the m links;
the transmitting end transmits the data stream to the receiving end through at least one link of the m links according to the transmission capacity of the m links, including:
the sending end divides the data stream into multi-frame data; the sending end divides each frame of data into a plurality of data packets according to a preset sub-packet rule; the sending end distributes a plurality of data packets of each frame of data according to the transmission capacity of the m links and then transmits the data packets to the receiving end through at least two links;
the sending end receives a feedback signal sent by the receiving end after the receiving end verifies the multiple data packets of each frame of data; the sending end determines whether to retransmit the data packet which is not verified based on the feedback signal; the verifying failing comprises: the sending end does not receive a feedback signal of a certain data packet and a feedback signal of a certain data packet loss for a long time;
if so, the sending end sends the data packet which is not verified to the receiving end again;
the receiving end receives the data stream.
7. The data transmission device is characterized by operating at a sending end, wherein the sending end comprises n network cards, each network card and a receiving end form at least one link, n is an integer greater than or equal to 2, and the device comprises:
the data acquisition module is used for acquiring a data stream to be sent to the receiving end;
a transmission capacity determining module, configured to determine transmission capacities of m links between the sending end and the receiving end, where m is greater than or equal to n; wherein, the transmission capability determining module is configured to determine the transmission capabilities of m links between the sending end and the receiving end, and includes:
the transmission capacity determining module acquires at least one of load, transmission speed and packet loss rate of each link; the transmission capacity determining module determines the transmission capacity of each link according to at least one of the load, the transmission speed and the packet loss rate of each link; the packet loss rate packet is determined by the number of data packets sent by a sending end and the number of data packets received by a receiving end in a specified time period;
a data sending module, configured to transmit the data stream to the receiving end through at least one of the m links according to transmission capabilities of the m links;
the data sending module is configured to transmit the data stream to the receiving end through at least one of the m links according to the transmission capabilities of the m links, and includes:
the data sending module divides the data stream into multi-frame data; the data sending module divides each frame of data into a plurality of data packets according to a preset sub-packet rule; the data sending module distributes a plurality of data packets of each frame of data according to the transmission capability of the m links and transmits the data packets to the receiving end through at least two links;
the data sending module receives a feedback signal sent by the receiving end after the receiving end verifies a plurality of data packets of each frame of data; the data sending module determines whether to retransmit the data packet which is not verified based on the feedback signal; the verifying failing comprises: the sending end does not receive a feedback signal of a certain data packet and a feedback signal of a certain data packet loss for a long time;
and if so, the data sending module sends the data packet which is not verified to the receiving end again.
CN201910693576.3A 2019-07-29 2019-07-29 Data transmission method and device Active CN110418376B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910693576.3A CN110418376B (en) 2019-07-29 2019-07-29 Data transmission method and device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910693576.3A CN110418376B (en) 2019-07-29 2019-07-29 Data transmission method and device

Publications (2)

Publication Number Publication Date
CN110418376A CN110418376A (en) 2019-11-05
CN110418376B true CN110418376B (en) 2022-11-01

Family

ID=68364124

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910693576.3A Active CN110418376B (en) 2019-07-29 2019-07-29 Data transmission method and device

Country Status (1)

Country Link
CN (1) CN110418376B (en)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110933773B (en) * 2019-11-20 2020-08-18 北京连山时代科技有限公司 Link monitoring method and device
CN110830308B (en) * 2019-11-22 2022-07-05 浙江中控技术股份有限公司 Method for switching communication link and receiving end
CN111193624A (en) * 2019-12-30 2020-05-22 视联动力信息技术股份有限公司 Data packet transmission method and device, terminal equipment and storage medium
CN111132383B (en) * 2019-12-30 2023-05-26 青岛海信电子设备股份有限公司 Data transmission method for narrow-band cluster terminal
CN111343731A (en) * 2020-02-19 2020-06-26 北京小米移动软件有限公司 Information processing method, device and storage medium
CN111343671B (en) * 2020-02-20 2024-04-09 北京小米移动软件有限公司 Information processing method, device and storage medium
CN111726647B (en) * 2020-06-17 2023-05-26 京东方科技集团股份有限公司 Data distribution device and data processing system
CN112492581A (en) * 2020-09-30 2021-03-12 中兴通讯股份有限公司 Data transmission method and device
CN113438241B (en) * 2021-06-25 2024-02-13 佳缘科技股份有限公司 Data transmission method and system
US20240298371A1 (en) * 2021-07-19 2024-09-05 Beijing Xiaomi Mobile Software Co., Ltd. Multi-link communication method and communication apparatus
CN113992563B (en) * 2021-09-26 2022-08-05 北京连山科技股份有限公司 Multilink multimode intelligent switching and packet sending method
CN114157716B (en) * 2021-12-02 2024-08-27 深圳前海微众银行股份有限公司 Block chain-based data processing method and device and electronic equipment
CN114338180A (en) * 2021-12-30 2022-04-12 青岛黄海学院 Big data network communication implementation method

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020087716A1 (en) * 2000-07-25 2002-07-04 Shakeel Mustafa System and method for transmitting customized multi priority services on a single or multiple links over data link layer frames
CN104113491A (en) * 2013-04-22 2014-10-22 中兴通讯股份有限公司 Data transmission method and device
CN105681326A (en) * 2016-02-26 2016-06-15 努比亚技术有限公司 Multilink data transmission device and method
CN110048954A (en) * 2018-01-17 2019-07-23 北京视联动力国际信息技术有限公司 A kind of data transmission method and device
CN108259944B (en) * 2018-02-11 2020-12-01 福州大学 Video multi-path parallel transmission shunting method and system based on link cost

Also Published As

Publication number Publication date
CN110418376A (en) 2019-11-05

Similar Documents

Publication Publication Date Title
CN110418376B (en) Data transmission method and device
EP3068087B1 (en) Method and system for transmitting data parallelly on wireless link and wired link
CN110662260B (en) Information processing method and device, network element and storage medium
US7451381B2 (en) Reliable method and system for efficiently transporting dynamic data across a network
EP3499949B1 (en) Method, device and system for processing control signalling
JP2020519090A (en) Uplink data decompression and compression method and apparatus
US20170142077A1 (en) Data encryption and transmission method and apparatus
US20150271090A1 (en) Data stream division to increase data transmission rates
JP7154399B2 (en) DATA TRANSMISSION METHOD, APPARATUS, COMPUTER-READABLE MEDIUM AND ELECTRONIC DEVICE
JP5935940B2 (en) COMMUNICATION METHOD, COMMUNICATION DEVICE, AND COMMUNICATION PROGRAM
EP4239974A1 (en) Data transmission method and apparatus, and computer-readable medium and electronic device
EP3637847B1 (en) Data packet distribution method, sender device, receiver device, and storage medium
US10638347B2 (en) Method, device and computer storage medium for transmitting a control message
US10623464B2 (en) Data transmission device and data transmission method
US20200351215A1 (en) Data Stream Sending Method and System, and Device
JP7099537B2 (en) Communication equipment, communication methods and programs
US20240114383A1 (en) Communication method and apparatus
JP2008067102A (en) Content distribution server
CN110808917B (en) Multilink aggregation data retransmission method and transmitting equipment
CN106850153B (en) Data retransmission method and system
EP3051769B1 (en) Dynamic switching to broadcast transmission of multimedia content over a mobile communication network
CN109792444B (en) Play-out buffering in a live content distribution system
CN111741373A (en) Video data transmission method and video source equipment
CN115484005A (en) Multi-path video transmission method, gateway and system, electronic device and storage medium
JP5026624B1 (en) Communication system, mobile radio communication terminal, communication program, storage medium, and communication method

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant