CN113347681B - Data transmission method and device, storage medium and electronic device - Google Patents

Data transmission method and device, storage medium and electronic device Download PDF

Info

Publication number
CN113347681B
CN113347681B CN202110605125.7A CN202110605125A CN113347681B CN 113347681 B CN113347681 B CN 113347681B CN 202110605125 A CN202110605125 A CN 202110605125A CN 113347681 B CN113347681 B CN 113347681B
Authority
CN
China
Prior art keywords
path
data
sub
paths
transmitting
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
CN202110605125.7A
Other languages
Chinese (zh)
Other versions
CN113347681A (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.)
Zhejiang Dahua Technology Co Ltd
Original Assignee
Zhejiang Dahua Technology 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 Zhejiang Dahua Technology Co Ltd filed Critical Zhejiang Dahua Technology Co Ltd
Priority to CN202110605125.7A priority Critical patent/CN113347681B/en
Publication of CN113347681A publication Critical patent/CN113347681A/en
Application granted granted Critical
Publication of CN113347681B publication Critical patent/CN113347681B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W40/00Communication routing or communication path finding
    • H04W40/02Communication route or path selection, e.g. power-based or shortest path routing
    • H04W40/12Communication route or path selection, e.g. power-based or shortest path routing based on transmission quality or channel quality
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Landscapes

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

Abstract

The embodiment of the invention provides a data transmission method, a data transmission device, a storage medium and an electronic device, wherein the method comprises the following steps: determining monitoring information of each sub-path included in the plurality of paths in case that it is determined that the plurality of paths for transmitting data have been established between the terminal and the server; determining a target sub-path for transmitting the first data from a plurality of paths based on the monitoring information, wherein the target sub-path comprises at least one sub-path; the first data is transmitted using the target sub-path. The invention solves the problem of bandwidth waste in data transmission in the related technology, and improves the utilization rate of bandwidth under multiple paths.

Description

Data transmission method and device, storage medium and electronic device
Technical Field
The embodiment of the invention relates to the field of communication, in particular to a data transmission method, a data transmission device, a storage medium and an electronic device.
Background
As technology advances and in order to accommodate heterogeneous network environments, many user terminals are often configured with multiple interfaces (e.g., wi-Fi and 4G, 5G). In order to improve transmission performance by utilizing the characteristics of a plurality of network interfaces of a terminal, improve bandwidth utilization, and enhance fault tolerance of a network, a plurality of multipath transmission protocols are proposed. There are TCP-based and UDP-based. These protocols are all aggregated over multiple sub-links. But the non-uniform uplink and downlink bandwidths of the network are not considered, and the current uplink and downlink bandwidth ratio of the network is about 1: insufficient upstream bandwidth results in failure of data recovery, but insufficient downstream bandwidth results in data transfer to other links, wasting network bandwidth.
The following describes a typical multipath transmission method by taking a multipath protocol (e.g., mptcp protocol) for communication between a terminal and a server as an example:
the topology diagram of the communication between the terminal and the server in MPTCP can be seen in fig. 1, where the server and the terminal use a multipath transmission protocol (such as MPTCP protocol) to perform communication, and use two paths, namely 4G and Wi-Fi to perform transmission. The schematic diagram of MPTCP transmission performed by the server and the terminal can be seen in fig. 2, and the data acknowledgement ACK on each path is transmitted only on the original path. The description is based on the bandwidth provided by the network operator: the downlink bandwidth of Wi-Fi is 100Mbps, and the uplink bandwidth is 10Mbps; the downstream bandwidth of 4G is 100Mbps, and the upstream bandwidth is 50Mbps. Because the data acknowledgement ACK on each path is transmitted only on the original path, if packet loss, jitter and congestion occur in the uplink bandwidth of Wi-Fi, the server side can reduce the transmission rate on Wi-Fi and transfer part of data to the 4G network for transmission; however, the downlink bandwidth of Wi-Fi is sufficient, which results in a decrease in bandwidth utilization in Wi-Fi link, and on the other hand, increases the consumption of 4G network traffic.
As can be seen from the above, the related art has a problem that the data transmission wastes bandwidth.
In view of the above problems in the related art, no effective solution has been proposed at present.
Disclosure of Invention
The embodiment of the invention provides a data transmission method, a data transmission device, a storage medium and an electronic device, which are used for at least solving the problem of bandwidth waste in data transmission in the related technology.
According to an embodiment of the present invention, there is provided a data transmission method including: determining monitoring information of each sub-path included in a plurality of paths in a case that the paths for transmitting data are established between a terminal and a server; determining a target sub-path for transmitting first data from a plurality of paths based on the monitoring information, wherein the target sub-path comprises at least one sub-path; and transmitting the first data by using the target sub-path.
According to another embodiment of the present invention, there is provided a data transmission apparatus including: a first determining module, configured to determine monitoring information of each sub-path included in a plurality of paths for transmitting data in a case where it is determined that the paths have been established between a terminal and a server; a second determining module, configured to determine a target sub-path for transmitting the first data from a plurality of paths based on the monitoring information, where the target sub-path includes at least one sub-path; and the transmission module is used for transmitting the first data by utilizing the target sub-path.
According to yet another embodiment of the present invention, there is also provided a computer-readable storage medium having stored therein a computer program, wherein the computer program when executed by a processor implements the steps of the method as described in any of the above.
According to a further embodiment of the invention, there is also provided an electronic device comprising a memory having stored therein a computer program and a processor arranged to run the computer program to perform the steps of any of the method embodiments described above.
According to the invention, under the condition that a plurality of paths for transmitting data are established between the terminal and the server, monitoring information of each sub-path included in the paths is determined, a target sub-path for transmitting the first data is determined from the paths according to the monitoring information, and the first data is transmitted by using the target sub-path. The target sub-path for transmitting the first data can be determined according to the monitoring information of each sub-path, so that the condition that the paths to be transmitted are switched to other paths under the condition that the bandwidths of the sub-paths are sufficient is avoided, the problem that the bandwidths are wasted in data transmission in the related technology can be solved, and the utilization rate of the bandwidths under multiple paths is improved.
Drawings
Fig. 1 is a topology diagram of a related art communication between a terminal and a server in MPTCP;
fig. 2 is a schematic diagram of MPTCP transmission performed by a server and a terminal in the related art;
fig. 3 is a block diagram of a hardware structure of a mobile terminal according to a data transmission method according to an embodiment of the present invention;
fig. 4 is a flowchart of a data transmission method according to an embodiment of the present invention;
FIG. 5 is a flowchart of determining monitoring information for each sub-path according to an exemplary embodiment of the present invention;
FIG. 6 is a flowchart of determining a target sub-path for transmitting first data from a plurality of paths based on monitoring information according to an exemplary embodiment of the present invention;
FIG. 7 is a flow chart of a first data transmission using a target sub-path according to an exemplary embodiment of the invention;
FIG. 8 is a flowchart of transmitting a second reply packet using a reply sub-path according to an exemplary embodiment of the invention;
fig. 9 is a data transmission structure diagram according to an exemplary embodiment of the present invention;
fig. 10 is a schematic diagram of a data transmission deployment system in accordance with an exemplary embodiment of the present invention;
fig. 11 is a block diagram of a data transmission apparatus according to an embodiment of the present invention.
Detailed Description
Embodiments of the present invention will be described in detail below with reference to the accompanying drawings in conjunction with the embodiments.
It should be noted that the terms "first," "second," and the like in the description and the claims of the present invention and the above figures are used for distinguishing between similar objects and not necessarily for describing a particular sequential or chronological order.
The method embodiments provided in the embodiments of the present application may be performed in a mobile terminal, a computer terminal or similar computing device. Taking the mobile terminal as an example, fig. 3 is a block diagram of a hardware structure of the mobile terminal according to a data transmission method according to an embodiment of the present invention. As shown in fig. 3, the mobile terminal may include one or more (only one is shown in fig. 3) processors 302 (the processors 302 may include, but are not limited to, a microprocessor MCU, a programmable logic device FPGA, etc. processing means) and a memory 304 for storing data, wherein the mobile terminal may further include a transmission device 306 for communication functions and an input-output device 308. It will be appreciated by those skilled in the art that the structure shown in fig. 3 is merely illustrative and not limiting on the structure of the mobile terminal described above. For example, the mobile terminal may also include more or fewer components than shown in fig. 3, or have a different configuration than shown in fig. 3.
The memory 304 may be used to store a computer program, for example, a software program of application software and a module, such as a computer program corresponding to a data transmission method in an embodiment of the present invention, and the processor 302 executes the computer program stored in the memory 304, thereby performing various functional applications and data processing, that is, implementing the above-mentioned method. Memory 304 may include high-speed random access memory, and may 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, the memory 304 may further include memory remotely located relative to the processor 302, which may be connected to the mobile terminal via a network. Examples of such networks include, but are not limited to, the internet, intranets, local area networks, mobile communication networks, and combinations thereof.
The transmission device 306 is used to receive or transmit data via a network. Specific examples of the network described above may include a wireless network provided by a communication provider of the mobile terminal. In one example, the transmission device 306 includes a network adapter (Network Interface Controller, simply referred to as NIC) that can connect to other network devices through a base station to communicate with the internet. In one example, the transmission device 306 may be a Radio Frequency (RF) module, which is used to communicate with the internet wirelessly.
In this embodiment, a data transmission method is provided, fig. 4 is a flowchart of the data transmission method according to an embodiment of the present invention, and as shown in fig. 4, the flowchart includes the following steps:
step S402, in the case that a plurality of paths for transmitting data are established between the terminal and the server, monitoring information of each sub-path included in the paths is determined;
step S404, determining a target sub-path for transmitting first data from a plurality of paths based on the monitoring information, wherein the target sub-path comprises at least one sub-path;
step S406, transmitting the first data by using the target sub-path.
In the above embodiments, the paths may include a 4G path, a 5G path, a WIFI path, and the like. I.e. the sub-path may be a 4G path, a 5G path, a WIFI path, etc. When data is transmitted, one or more modes of 4G, 5G or WIFI can be adopted for transmission.
In the above-described embodiment, in the case where it is determined that the terminal and the server establish a plurality of paths for transmitting data, the monitoring information of each sub-path included in the plurality of paths is determined. The monitoring information may include bandwidth, packet loss rate, channel quality, congestion condition, etc. of each sub-path. After the monitoring information is determined, a target sub-path may be determined according to the monitoring information, for example, an optimal path may be selected to transmit data.
In the above embodiment, the execution subject of the above steps may be a terminal or a server, and when the execution subject is a terminal, the data transmission is uplink transmission, and when the execution subject is a server, the data transmission is downlink transmission. When the data is uplink transmission, after the data issued by the application layer is acquired, the data can be distributed to one or more paths with good path quality included in the multiple transmission paths to transmit the data.
According to the invention, under the condition that a plurality of paths for transmitting data are established between the terminal and the server, monitoring information of each sub-path included in the paths is determined, a target sub-path for transmitting the first data is determined from the paths according to the monitoring information, and the first data is transmitted by using the target sub-path. The target sub-path for transmitting the first data can be determined according to the monitoring information of each sub-path, so that the condition that the paths to be transmitted are switched to other paths under the condition that the bandwidths of the sub-paths are sufficient is avoided, the problem that the bandwidths are wasted in data transmission in the related technology can be solved, and the utilization rate of the bandwidths under multiple paths is improved.
In an exemplary embodiment, before determining the monitoring information of each sub-path included in the plurality of paths, the method further comprises: detecting a first number of first transmission interfaces of the terminal for transmitting data and a first interface type of the first transmission interfaces, and detecting a second number of second transmission interfaces of the server for transmitting data and a second interface type of the second transmission interfaces; and establishing a plurality of paths when the first number and the second number are both greater than a predetermined threshold, and the first interface type indicates that the terminal is allowed to establish a plurality of transmission paths with the server and the second interface type indicates that the server is allowed to establish a plurality of path transmission paths with the terminal. In this embodiment, before determining the monitoring information of each sub-path included in the plurality of paths, the transmission interfaces and interface types of the terminal and the server may be detected to determine whether the terminal and the server allow the establishment of the plurality of paths. The number and the type of the interfaces of the equipment can be detected first, and guidance is provided for subsequent establishment of multipath transmission. Firstly, judging whether the upper layer allows the establishment of multi-path transmission, and if not, entering a single-path transmission flow. If so, checking whether the current client (terminal) and server (server) are allowed to establish a plurality of paths, and determining the number of transmission interfaces of the terminal and the server, wherein when the number of the transmission interfaces is larger than a preset threshold value and the terminal and the server are allowed to establish a plurality of paths, the plurality of paths are established between the terminal and the server. If the terminal and the server do not allow the establishment of multiple paths, a path transmission flow is entered but passed.
In one exemplary embodiment, determining the monitoring information for each sub-path included in the plurality of paths includes: acquiring a first reply packet transmitted by each sub-path, wherein the first reply packet is a data packet generated by response of opposite terminal equipment to received data, and the opposite terminal equipment comprises the terminal or the server; determining a network state of each of the sub-paths based on the first reply packet; the network state is determined as the monitoring information for each of the sub-paths. In this embodiment, the network state of each sub-path may be determined according to the received first reply packet, for example, RTT, packet loss rate, etc. of each sub-path may be calculated according to the first reply packet. And then the data of the network state information and the size of the congestion window are updated proportionally according to the calculation result.
In the above embodiment, referring to fig. 5, a flowchart of determining the monitoring information of each sub-path may be shown in fig. 5, where the determining the monitoring information of each sub-path may be determined by a congestion control module, and the flowchart includes:
step S502, calculating according to the received reply packet to obtain calculation results, such as calculating RTT, packet loss rate, etc.
Step S504, the data of the network state information and the size of the congestion window are updated proportionally according to the calculation result.
In one exemplary embodiment, determining a target sub-path for transmitting first data from a plurality of the paths based on the monitoring information includes: determining a path selection rule based on the monitoring information; the target sub-path to send the first data is determined based on the path selection rule. In this embodiment, after a plurality of paths are established, a path selection rule may be determined first, and a target sub-path may be determined according to the path selection rule and monitoring information. The path selection rule may include a rule determined based on the priority of the sub-path, for example, a priority of the wired path may be set higher than a priority of the wireless path, a priority of the wireless path is higher than a priority of the 5G path, and a priority of the 5G path is higher than a priority of the 4G path. When the monitoring information indicates that the network state of each sub-path is at the same level, the target sub-path is determined according to the priority. When the monitoring information indicates that the network state of each sub-path is at different levels, the path with the optimal network state is determined as the target sub-path. When the monitoring information indicates that the network state of each sub-path is poor, the path with the top 2 of the network state rank is determined as a target sub-path. In the case where the target sub-path includes a plurality of sub-paths, data to be transmitted may be allocated according to network states of the plurality of sub-paths.
In the above embodiment, after the multi-path is established, the network state and type of each sub-path are monitored, the data distribution sub-path scheduling is performed according to the monitoring information, and which sub-path transmission is prioritized can be determined according to the monitoring information, for example, wi-Fi and 4G networks can be used with Wi-Fi prioritization; wi-Fi and wire networks can use wire priority, and so on. And then distributes the data to other sub-paths for transmission.
In the above embodiment, the process of determining, based on the monitoring information, the target sub-path for transmitting the first data from the multiple paths may be performed by the multi-path data transmission scheduling module, where the process of determining, based on the monitoring information, the target sub-path for transmitting the first data from the multiple paths may be referred to as fig. 6, and as shown in fig. 6, the process includes:
in step S602, the number of interfaces and the interface types of the devices (terminals and servers) are detected first, and guidance is provided for subsequent establishment of multipath transmission.
In step S604, it is determined whether to enter a multi-path transmission procedure or a single-path transmission procedure. Firstly judging whether the upper layer allows the establishment of multi-path transmission, if not, entering a traditional single-path transmission flow; if so, checking whether the current client and the server both allow the establishment of multiple paths and the number of transmission interfaces of the client and the server is greater than 1; if the determination result is yes, step S606 is executed, and if the determination result is no, step S608 is executed.
Step S606, the process of entering the multi-path transmission establishment is satisfied, the multi-path transmission establishment is responsible for identifying whether it is a sub-path of a certain connection or a new connection, and the process interaction of the transmission establishment.
Step S608, a single path transmission flow is entered.
In step S610, after the multipath is established.
Step S612, monitoring the network state and type of each sub-path, performing data distribution sub-path scheduling according to the monitoring information, and judging which sub-path transmission is preferred according to the configuration information, for example, wi-Fi and 4G networks, and Wi-Fi preference can be adopted; wi-Fi and wire networks can use wire priority, and so on. And then distributes the data to other sub-paths for transmission.
Step S614, whether to exit the multi-path transmission is determined according to the closing identifier of the multi-path transmission, if the closing identifier exists, step S616 is executed, and if the closing identifier does not exist, step S612 is executed.
In step S616, the multi-path data transmission scheduling module is exited.
In one exemplary embodiment, transmitting the first data using the target sub-path includes: reading a data packet of the first data under the condition that the monitoring information indicates that the target sub-path has the capability of transmitting the first data; under the condition that the data packet is read, adding a protocol header into the data packet to obtain a first data packet; and transmitting the first data packet by using the target sub-path. In this embodiment, after determining the target sub-path, the first data may be sent through the target sub-path. Before transmitting data, the target sub-path may first determine whether the target sub-path currently has the capability of transmitting the first data, and if the target sub-path is determined to have the capability of transmitting the first data, the target sub-path may read the data packet from the transmission buffer, and if the data packet is read, add the protocol header to the data packet, and transmit the data packet to which the protocol header is added through the target sub-path.
In the above embodiment, the first data flow chart transmitted by using the target sub-path may be referred to as fig. 7, and as shown in fig. 7, the flow may be implemented by the data sending module, and the flow includes:
step S702, first, the result of the congestion control algorithm calculation is read: a transmission window and a transmission rate.
Step S704, judging whether retransmission of data is allowed or not according to the result in step S702, if yes, executing step S706, and if not, executing step S714.
In step S706, an attempt is made to read a packet from the transmission buffer for transmission.
Step S708, it is determined whether or not the packet is fetched, and if it is fetched, the process proceeds to step S710, and if it is not fetched, the process proceeds to step S714.
Step S710, packaging the read data packet and adding a protocol header.
Step S712, call the UDP transmission interface to transmit data.
Step S714, the data transmission module is exited.
In an exemplary embodiment, after transmitting the first data using the target sub-path, the method further comprises: determining a second reply packet based on a state of second data if the second data is received; determining a reply sub-path for transmitting the second reply packet based on monitoring information of each sub-path included in a plurality of paths, wherein at least one sub-path is included in the reply sub-path; and transmitting the second reply packet by utilizing the reply sub-path. In this embodiment, when the second data is received, the second reply packet may be determined according to the state of the second data, and a reply sub-path for sending the second reply packet is determined according to the monitoring information of each sub-path, and the second reply packet is transmitted through the reply sub-path. The state of the second data may include packet loss, packet non-loss, and the like. The reply sub-path may include one sub-path or may include a plurality of sub-paths, for example, 2, 3, etc.
In one exemplary embodiment, determining the second reply packet based on the status of the second data includes: determining that NACK information is included in the second reply packet under the condition that the state of the second data indicates that the data packet loss exists; and determining that the second reply packet comprises ACK information under the condition that the state of the second data indicates that no data packet loss exists. In this embodiment, when there is a packet loss in the received second data, the second reply packet with NACK information is recovered through the reply sub-path. And under the condition that the received second data has no packet loss, the second reply packet with the ACK information is recovered through a reply sub-path.
In the above embodiment, referring to fig. 8, a flowchart of transmitting the second reply packet by using the reply sub-path may be implemented by the data receiving module, as shown in fig. 8, where the flowchart includes:
step S802, store the received data in the receiving buffer.
Step S804, judging whether the data packet is lost according to the received data, if yes, executing step S806, and if no, executing step S808.
Step S806, if the data packet is lost, the transmission end retransmission is requested by the assembled NACK reply packet.
Step S808, judging that no data packet is lost, and replying an ACK reply packet.
Step S810, selecting 2 paths in optimal network state from the sub-paths, and then transmitting the reply packet from the 2 sub-paths, so as to solve the problems existing in transmitting the reply packet only from the original return path, such as insufficient bandwidth of the original return path, serious packet loss, congestion, etc., resulting in a decrease in the transmission rate of the original path, and a sufficient bandwidth of the original path for transmitting the data, thereby making the bandwidth utilization of the system insufficient.
Step S812, the data receiving module is exited.
In the foregoing embodiment, the data transmission structure may be referred to as fig. 9, and as shown in fig. 9, the structure includes a multi-path data transmission scheduling module, a data transmitting module, a data receiving module, and a congestion control module. The data transmission method is positioned below the application layer and above the UDP transmission layer, and UDP can be adopted as a bottom transmission carrier to be suitable for real-time transmission of audio and video, and the whole azimuth is positioned in a user mode so as to be more convenient to update and deploy. The multi-path data transmission scheduling module is responsible for scheduling the data issued by the application layer to a plurality of transmission paths, detecting multiple interfaces and establishing multi-path transmission. The data transmission module is responsible for the transmission control process of the data. The data receiving module is responsible for the receiving process and the replying process of the data. The congestion control module is responsible for detecting the network state of the path and controlling the congestion of the path.
Referring to fig. 10, as shown in fig. 10, a terminal and a server have 2 paths, wherein a downlink bandwidth of a path 1 is 100Mbps, and an uplink bandwidth is 50Mbps; the downstream bandwidth of the path 2 is 100Mbps, the upstream bandwidth is 10Mbps, the downstream refers to the server to the terminal, and the upstream refers to the terminal to the server. The data packet goes down to the terminal through the path 2, and the reply packet only returns to the service end at the uplink of the path 2 in a common multipath transmission protocol (such as an mptcp protocol), if the uplink bandwidth of the path 2 is insufficient, packet loss and congestion occur, the downlink of the path 2 is caused to slow down, so that the bandwidth utilization rate of the system is reduced. In the above embodiment, when transmitting the reply packet, 2 optimal paths may be selected to transmit the reply packet, and in the illustrated system, the reply packet may be returned to the server through the uplink of the path 1, and even if the uplink reply packet through the path 2 is lost, the downlink bandwidth of the path 1 will not be reduced, so as to improve the bandwidth utilization rate of the system, and solve the problem of bandwidth waste caused by inconsistent uplink and downlink bandwidths.
From the description of the above embodiments, it will be clear to a person skilled in the art that the method according to the above embodiments may be implemented by means of software plus the necessary general hardware platform, but of course also by means of hardware, but in many cases the former is a preferred embodiment. Based on such understanding, the technical solution of the present invention may be embodied essentially or in a part contributing to the prior art in the form of a software product stored in a storage medium (e.g. ROM/RAM, magnetic disk, optical disk) comprising instructions for causing a terminal device (which may be a mobile phone, a computer, a server, or a network device, etc.) to perform the method according to the embodiments of the present invention.
The embodiment also provides a data transmission device, which is used for implementing the above embodiment and the preferred implementation manner, and is not described in detail. As used below, the term "module" may be a combination of software and/or hardware that implements a predetermined function. While the means described in the following embodiments are preferably implemented in software, implementation in hardware, or a combination of software and hardware, is also possible and contemplated.
Fig. 11 is a block diagram of a data transmission apparatus according to an embodiment of the present invention, as shown in fig. 11, including:
a first determining module 1102, configured to determine monitoring information of each sub-path included in a plurality of paths for transmitting data when it is determined that the paths for transmitting data have been established between the terminal and the server;
a second determining module 1104, configured to determine a target sub-path for transmitting the first data from a plurality of paths based on the monitoring information, where the target sub-path includes at least one of the sub-paths;
a transmission module 1106 is configured to transmit the first data using the target sub-path.
In an exemplary embodiment, the apparatus may be configured to detect a first number of first transmission interfaces of the terminal for transmitting data and a first interface type of the first transmission interfaces, and detect a second number of second transmission interfaces of the server for transmitting data and a second interface type of the second transmission interfaces, before determining the monitoring information of each sub path included in the plurality of paths; and establishing a plurality of paths when the first number and the second number are both greater than a predetermined threshold, and the first interface type indicates that the terminal is allowed to establish a plurality of transmission paths with the server and the second interface type indicates that the server is allowed to establish a plurality of path transmission paths with the terminal.
In an exemplary embodiment, the first determining module 1102 may determine the monitoring information of each sub-path included in the plurality of paths by: acquiring a first reply packet transmitted by each sub-path, wherein the first reply packet is a data packet generated by response of opposite terminal equipment to received data, and the opposite terminal equipment comprises the terminal or the server; determining a network state of each of the sub-paths based on the first reply packet; the network state is determined as the monitoring information for each of the sub-paths.
In an exemplary embodiment, the second determining module 1104 may determine the target sub-path for transmitting the first data from the plurality of paths based on the monitoring information by: determining a path selection rule based on the monitoring information; the target sub-path to send the first data is determined based on the path selection rule.
In one exemplary embodiment, the transmitting module 1106 may be configured to transmit the first data using the target sub-path by: reading a data packet of the first data under the condition that the monitoring information indicates that the target sub-path has the capability of transmitting the first data; under the condition that the data packet is read, adding a protocol header into the data packet to obtain a first data packet; and transmitting the first data packet by using the target sub-path.
In an exemplary embodiment, the apparatus may be further configured to determine, after transmitting the first data using the target sub-path, a second reply packet based on a state of second data if the second data is received; determining a reply sub-path for transmitting the second reply packet based on monitoring information of each sub-path included in a plurality of paths, wherein at least one sub-path is included in the reply sub-path; and transmitting the second reply packet by utilizing the reply sub-path.
In an exemplary embodiment, the apparatus may implement determining the second reply packet based on the state of the second data by: determining that NACK information is included in the second reply packet under the condition that the state of the second data indicates that the data packet loss exists; and determining that the second reply packet comprises ACK information under the condition that the state of the second data indicates that no data packet loss exists.
It should be noted that each of the above modules may be implemented by software or hardware, and for the latter, it may be implemented by, but not limited to: the modules are all located in the same processor; alternatively, the above modules may be located in different processors in any combination.
Embodiments of the present invention also provide a computer readable storage medium having a computer program stored therein, wherein the computer program when executed by a processor implements the steps of the method described in any of the above.
In one exemplary embodiment, the computer readable storage medium may include, but is not limited to: a usb disk, a Read-Only Memory (ROM), a random access Memory (Random Access Memory, RAM), a removable hard disk, a magnetic disk, or an optical disk, or other various media capable of storing a computer program.
An embodiment of the invention also provides an electronic device comprising a memory having stored therein a computer program and a processor arranged to run the computer program to perform the steps of any of the method embodiments described above.
In an exemplary embodiment, the electronic apparatus may further include a transmission device connected to the processor, and an input/output device connected to the processor.
Specific examples in this embodiment may refer to the examples described in the foregoing embodiments and the exemplary implementation, and this embodiment is not described herein.
It will be appreciated by those skilled in the art that the modules or steps of the invention described above may be implemented in a general purpose computing device, they may be concentrated on a single computing device, or distributed across a network of computing devices, they may be implemented in program code executable by computing devices, so that they may be stored in a storage device for execution by computing devices, and in some cases, the steps shown or described may be performed in a different order than that shown or described herein, or they may be separately fabricated into individual integrated circuit modules, or multiple modules or steps of them may be fabricated into a single integrated circuit module. Thus, the present invention is not limited to any specific combination of hardware and software.
The above description is only of the preferred embodiments of the present invention and is not intended to limit the present invention, but various modifications and variations can be made to the present invention by those skilled in the art. Any modification, equivalent replacement, improvement, etc. made within the principle of the present invention should be included in the protection scope of the present invention.

Claims (9)

1. A data transmission method, comprising:
determining monitoring information of each sub-path included in a plurality of paths in a case that the paths for transmitting data are established between a terminal and a server;
determining a target sub-path for transmitting first data from a plurality of paths based on the monitoring information, wherein the target sub-path comprises at least one sub-path;
transmitting the first data using the target sub-path;
wherein after transmitting the first data using the target sub-path, the method further comprises:
determining a second reply packet based on a state of second data if the second data is received;
determining a reply sub-path for transmitting the second reply packet based on monitoring information of each sub-path included in a plurality of the paths, wherein the reply sub-path includes a plurality of the sub-paths;
and transmitting the second reply packet by utilizing the reply sub-path.
2. The method of claim 1, wherein prior to determining the monitoring information for each sub-path included in the plurality of paths, the method further comprises:
detecting a first number of first transmission interfaces of the terminal for transmitting data and a first interface type of the first transmission interfaces, and detecting a second number of second transmission interfaces of the server for transmitting data and a second interface type of the second transmission interfaces;
and establishing a plurality of paths when the first number and the second number are both greater than a predetermined threshold, and the first interface type indicates that the terminal is allowed to establish a plurality of transmission paths with the server and the second interface type indicates that the server is allowed to establish a plurality of path transmission paths with the terminal.
3. The method of claim 1, wherein determining monitoring information for each sub-path included in a plurality of the paths comprises:
acquiring a first reply packet transmitted by each sub-path, wherein the first reply packet is a data packet generated by response of opposite terminal equipment to received data, and the opposite terminal equipment comprises the terminal or the server;
determining a network state of each of the sub-paths based on the first reply packet;
the network state is determined as the monitoring information for each of the sub-paths.
4. The method of claim 1, wherein determining a target sub-path for transmitting first data from a plurality of the paths based on the monitoring information comprises:
determining a path selection rule based on the monitoring information;
the target sub-path to send the first data is determined based on the path selection rule.
5. The method of claim 1, wherein transmitting the first data using the target sub-path comprises:
reading a data packet of the first data under the condition that the monitoring information indicates that the target sub-path has the capability of transmitting the first data;
under the condition that the data packet is read, adding a protocol header into the data packet to obtain a first data packet;
and transmitting the first data packet by using the target sub-path.
6. The method of claim 1, wherein determining a second reply packet based on the status of the second data comprises:
determining that NACK information is included in the second reply packet under the condition that the state of the second data indicates that the data packet loss exists;
and determining that the second reply packet comprises ACK information under the condition that the state of the second data indicates that no data packet loss exists.
7. A data transmission apparatus, comprising:
a first determining module, configured to determine monitoring information of each sub-path included in a plurality of paths for transmitting data in a case where it is determined that the paths have been established between a terminal and a server;
a second determining module, configured to determine a target sub-path for transmitting the first data from a plurality of paths based on the monitoring information, where the target sub-path includes at least one sub-path;
a transmission module, configured to transmit the first data using the target sub-path;
wherein the device is further for: determining a second reply packet based on a state of second data in a case where the second data is received after transmitting the first data using the target sub-path; determining a reply sub-path for transmitting the second reply packet based on monitoring information of each sub-path included in a plurality of the paths, wherein the reply sub-path includes a plurality of the sub-paths; and transmitting the second reply packet by utilizing the reply sub-path.
8. A computer readable storage medium, characterized in that a computer program is stored in the computer readable storage medium, wherein the computer program, when being executed by a processor, implements the steps of the method according to any of the claims 1 to 6.
9. An electronic device comprising a memory and a processor, characterized in that the memory has stored therein a computer program, the processor being arranged to run the computer program to perform the method of any of the claims 1 to 6.
CN202110605125.7A 2021-05-31 2021-05-31 Data transmission method and device, storage medium and electronic device Active CN113347681B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110605125.7A CN113347681B (en) 2021-05-31 2021-05-31 Data transmission method and device, storage medium and electronic device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110605125.7A CN113347681B (en) 2021-05-31 2021-05-31 Data transmission method and device, storage medium and electronic device

Publications (2)

Publication Number Publication Date
CN113347681A CN113347681A (en) 2021-09-03
CN113347681B true CN113347681B (en) 2023-07-14

Family

ID=77473672

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110605125.7A Active CN113347681B (en) 2021-05-31 2021-05-31 Data transmission method and device, storage medium and electronic device

Country Status (1)

Country Link
CN (1) CN113347681B (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114666265B (en) * 2022-03-28 2024-04-02 阿里巴巴(中国)有限公司 Data transmission method, device, computing equipment and medium
CN117914775B (en) * 2024-03-20 2024-06-25 苏州元脑智能科技有限公司 Heterogeneous computing-oriented high-bandwidth data transmission method, CPU and system

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105491561A (en) * 2016-01-11 2016-04-13 中南大学 Multiple-data packet and multiple-ACK (acknowledgement) selective forwarding attack detection method

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102185771B (en) * 2011-05-05 2013-09-04 清华大学 Dispatching method and system for data packet of sender in MPTCP (Multipath TCP (Transmission Control Protocol))
US9456464B2 (en) * 2013-06-06 2016-09-27 Apple Inc. Multipath TCP subflow establishment and control
EP3257203B1 (en) * 2015-02-09 2019-06-19 Telefonaktiebolaget LM Ericsson (publ) Method and device for handling multi path connections
US10069719B2 (en) * 2015-06-16 2018-09-04 Samsung Electronics Co., Ltd. Method and apparatus for multipath media delivery
US10405365B2 (en) * 2015-12-16 2019-09-03 At&T Intellectual Property I, L.P. Method and apparatus for web browsing on multihomed mobile devices
CN105490933B (en) * 2015-12-28 2019-06-11 中国电子科技集团公司第五十四研究所 Path management method and device based on multi-path transmission protocol MPTCP
US20170346724A1 (en) * 2016-05-25 2017-11-30 Doru Calin Dynamic multi-path control and adaptive end-to-end content delivery over wireless media
CN108449772A (en) * 2017-02-16 2018-08-24 网宿科技股份有限公司 Routing resource and system, node server based on multi-path transmission protocol
CN107682258A (en) * 2017-09-27 2018-02-09 北京邮电大学 A kind of multi-path network transmission method and device based on virtualization
EP3522479B1 (en) * 2018-02-06 2020-04-01 Deutsche Telekom AG Techniques for efficient multipath transmission
CN109257282B (en) * 2018-08-09 2020-07-14 北京邮电大学 Data transmission method and device
CN111107672B (en) * 2018-10-26 2023-04-18 华为技术有限公司 Method, device and system for establishing sub-streams of multi-path connection
CN111277502B (en) * 2020-01-20 2022-05-17 北京红云融通技术有限公司 Method for transmitting data by multi-link aggregation and transmitting equipment

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105491561A (en) * 2016-01-11 2016-04-13 中南大学 Multiple-data packet and multiple-ACK (acknowledgement) selective forwarding attack detection method

Also Published As

Publication number Publication date
CN113347681A (en) 2021-09-03

Similar Documents

Publication Publication Date Title
JP7556579B2 (en) Packet transmission system and method
CN110636583B (en) Path changing method and device
US9655003B2 (en) Systems and methods for improved wireless interface aggregation
CN113037624A (en) Data flow control method and device
US7962146B2 (en) Method and apparatus for allocating bandwidth in a wireless communication system
CN113347681B (en) Data transmission method and device, storage medium and electronic device
CN106612284B (en) Streaming data transmission method and device
US20220294727A1 (en) Systems and methods for managing data packet communications
CN104092625B (en) A kind of self adaptation being used in DCN asks dispatching method in batches
CN111372323B (en) Connection establishment method, related device and medium
CN105262836A (en) Information push method of server and push information reception method of client
KR20140088097A (en) Controlling transmission of data
US20160316022A1 (en) Communication device, communication processing method, and storage medium
Halepoto et al. Retransmission policies for efficient communication in IoT applications
CN113765703B (en) Data transmission switching control method and system of intelligent gateway
CN113141631B (en) Dual-connection data distribution method, device, equipment and storage medium
EP3886495A1 (en) Ng-ran based proactive performance calculations
US7317686B2 (en) Fair sharing of multi-access channels
CN111147386B (en) Method, electronic device and computer readable medium for handling data transmission congestion
CN116056149B (en) Simplex operation method, device, equipment and medium for IAB host node
WO2023093804A1 (en) Packet loss management method and related apparatus
Zhou Transport protocol design for end-to-end data delivery in emerging wireless networks
CN106506434B (en) Service data transmission method and device
CN116260773A (en) Congestion control method and related equipment

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