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

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

Info

Publication number
CN117768425A
CN117768425A CN202311525927.2A CN202311525927A CN117768425A CN 117768425 A CN117768425 A CN 117768425A CN 202311525927 A CN202311525927 A CN 202311525927A CN 117768425 A CN117768425 A CN 117768425A
Authority
CN
China
Prior art keywords
communication link
data
communication
data packet
packet
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.)
Pending
Application number
CN202311525927.2A
Other languages
Chinese (zh)
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.)
Shenzhen Zhaolong Technology Co ltd
Original Assignee
Shenzhen Zhaolong 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 Shenzhen Zhaolong Technology Co ltd filed Critical Shenzhen Zhaolong Technology Co ltd
Priority to CN202311525927.2A priority Critical patent/CN117768425A/en
Publication of CN117768425A publication Critical patent/CN117768425A/en
Pending legal-status Critical Current

Links

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

Abstract

According to the data transmission method, the device, the electronic equipment and the storage medium, under the condition that data to be transmitted to the second electronic equipment are obtained, the communication quality of a communication link between the first electronic equipment and the second electronic equipment is obtained; performing data distribution on the data to be transmitted based on the communication quality to obtain distribution data packets corresponding to all communication links; and sending the distributed data packet corresponding to each communication link to the second electronic equipment based on each communication link so as to send the data to be transmitted to the second electronic equipment, thereby improving the data transmission efficiency.

Description

Data transmission method, device, electronic equipment and storage medium
Technical Field
The application belongs to the technical field of data transmission, and particularly relates to a data transmission method, a data transmission device, electronic equipment and a storage medium.
Background
Multiple payment-related devices, such as cash registers, POS devices, printers, etc., may exist in a merchant's place of business, and multiple communication modes, such as USB, lan, wiFi, etc., may exist at the same time for connection between the cash registers and POS devices. When large data communication exists between two devices, only one communication mode is usually used when the two devices communicate, and when the data volume is smaller, the transmission efficiency user can also accept the large data volume, but when the data volume is larger, the large data volume is transmitted by one communication mode, the transmission efficiency is poor, a large amount of time is required to be consumed, and the user experience is poor.
Disclosure of Invention
In view of the above problems, embodiments of the present application provide a data transmission method, apparatus, electronic device, and storage medium, which can improve transmission efficiency.
The embodiment of the application provides a data transmission method, which is applied to first electronic equipment and comprises the following steps:
acquiring the communication quality of a communication link between the first electronic device and the second electronic device under the condition that data to be transmitted to the second electronic device is acquired;
performing data distribution on the data to be transmitted based on the communication quality to obtain distribution data packets corresponding to all communication links;
and sending the distributed data packet corresponding to each communication link to the second electronic equipment based on each communication link so as to send the data to be transmitted to the second electronic equipment.
In some embodiments, each of the allocation data packets has an external sequence number, and the sending, based on the respective communication link, the allocation data packet corresponding to the respective communication link to the second electronic device includes:
storing the distributed data packets corresponding to each communication link to the corresponding sending buffer memory of each communication link based on the external sequence numbers;
and transmitting the distributed data packet corresponding to each communication link to the second electronic equipment based on the transmission buffer corresponding to each communication link.
In some embodiments, the communication links include n, and the external sequence numbers in the transmission buffers corresponding to each communication link are arranged from small to large, and the transmitting the allocation data packet corresponding to each communication link to the second electronic device based on the transmission buffer corresponding to each communication link includes:
and sequentially transmitting the external sequence numbers of the distributed data packets from small to large based on the transmission caches corresponding to the communication links, wherein the external sequence numbers are used for identifying the sequence of the distributed data packets in the data to be transmitted.
In some embodiments, the communication link comprises: a first communication link and a second communication link, the communication quality comprising: the transmission efficiency of the first communication link is greater than that of the second communication link, and the size of the allocated data packet corresponding to the first communication link is greater than that of the allocated data packet corresponding to the second communication link.
In some embodiments, the method further comprises:
acquiring the size of data stored in a transmission buffer corresponding to each communication link;
and adjusting the size of the data packet which is allocated subsequently and corresponds to each communication link based on the size of the stored data.
In some embodiments, the method further comprises:
under the condition that the disconnection of a target communication link between the first electronic device and the second electronic device is detected, distributing the distributed data packets in the transmission buffer corresponding to the target communication link to other communication links except the target communication link in the communication links;
and under the condition that a new communication link is added between the first electronic equipment and the second electronic equipment is detected, adding partial distributed data packets in the transmission buffer corresponding to each communication link into the transmission buffer corresponding to the new communication link.
In some embodiments, the method further comprises:
determining whether response information fed back by the second electronic equipment and receiving each allocated data packet is acquired;
and retransmitting the target distribution data packet under the condition that no response information of the target distribution data packet is received.
The embodiment of the application provides a data transmission device, which is applied to first electronic equipment and comprises:
the first acquisition module is used for acquiring the communication quality of a communication link between the first electronic equipment and the second electronic equipment under the condition that data to be transmitted to the second electronic equipment are acquired;
The distribution module is used for carrying out data distribution on the data to be transmitted based on the communication quality to obtain distribution data packets corresponding to all communication links;
and the sending module is used for sending the distributed data packet corresponding to each communication link to the second electronic equipment based on each communication link so as to send the data to be transmitted to the second electronic equipment.
An embodiment of the present application provides an electronic device, including a memory, a processor, and a computer program stored in the memory and executable on the processor, where the processor implements a method according to any one of the preceding claims when the processor executes the computer program.
Embodiments of the present application provide a computer readable storage medium storing a computer program which, when executed by a processor, implements a method as described in any one of the above.
Embodiments of the present application provide a computer program product for causing an electronic device to perform any one of the data transmission methods described above when the computer program product is run on a terminal device.
According to the data transmission method, the device, the electronic equipment and the storage medium, under the condition that data to be transmitted to the second electronic equipment are obtained, the communication quality of a communication link between the first electronic equipment and the second electronic equipment is obtained; performing data distribution on the data to be transmitted based on the communication quality to obtain distribution data packets corresponding to all communication links; and sending the distributed data packet corresponding to each communication link to the second electronic equipment based on each communication link so as to send the data to be transmitted to the second electronic equipment, thereby improving the data transmission efficiency.
Drawings
The present application will be described in more detail hereinafter based on embodiments and with reference to the accompanying drawings.
Fig. 1 is a schematic implementation flow chart of a data transmission method according to an embodiment of the present application;
fig. 2 is a schematic implementation flow chart of a data transmission method of a transmitting end according to an embodiment of the present application;
fig. 3 is a schematic implementation flow chart of a data processing method of a receiving end according to an embodiment of the present application;
fig. 4 is a schematic implementation flow chart of a data transmission method of a transmitting end according to an embodiment of the present application;
fig. 5 is a flow chart of a data processing method of a receiving end provided in an embodiment of the present application;
fig. 6 is a schematic structural diagram of a data transmission device according to an embodiment of the present application;
fig. 7 is a schematic diagram of a composition structure of an electronic device according to an embodiment of the present application.
In the drawings, like parts are given like reference numerals, and the drawings are not drawn to scale.
Detailed Description
For the purpose of making the objects, technical solutions and advantages of the present application more apparent, the present application will be described in further detail with reference to the accompanying drawings, and the described embodiments should not be construed as limiting the present application, and all other embodiments obtained by those skilled in the art without making any inventive effort are within the scope of the present application.
In the following description, reference is made to "some embodiments" which describe a subset of all possible embodiments, but it is to be understood that "some embodiments" can be the same subset or different subsets of all possible embodiments and can be combined with one another without conflict.
If a similar description of "first\second\third" appears in the application document, the following description is added, in which the terms "first\second\third" are merely distinguishing between similar objects and do not represent a particular ordering of the objects, it being understood that the "first\second\third" may be interchanged in a particular order or precedence, where allowed, so that the embodiments of the application described herein can be implemented in an order other than that illustrated or described herein.
Unless defined otherwise, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this application belongs. The terminology used herein is for the purpose of describing embodiments of the present application only and is not intended to be limiting of the present application.
Based on the problems existing in the related art, the embodiment of the application provides a data transmission method, which can be applied to electronic devices such as mobile phones, tablet computers, wearable devices, vehicle-mounted devices, augmented reality (augmented reality, AR)/Virtual Reality (VR) devices, notebook computers, ultra-mobile personal computer (UMPC), netbooks, personal digital assistants (personal digital assistant, PDA), cash registers, POS devices and the like, and the embodiment of the application does not limit the specific types of the electronic devices. The functions implemented by the data transmission method provided by the embodiment of the application may be implemented by calling a program code by a processor of the electronic device, where the program code may be stored in a computer storage medium.
An embodiment of the present application provides a data transmission method, and fig. 1 is a schematic implementation flow diagram of the data transmission method provided in the embodiment of the present application, where, as shown in fig. 1, the method includes:
step S101, in the case of acquiring data to be transmitted to a second electronic device, acquiring communication quality of a communication link between the first electronic device and the second electronic device.
In this embodiment of the present application, the data to be transmitted may be data whose data size is greater than a data size threshold, that is, the data to be processed may be data whose data size is relatively large.
In the embodiment of the present application, the communication link may include a plurality of communication links, and illustratively, the communication link may include: one or more of a local area network link, a WIFI link, a USB link.
In the embodiment of the present application, the communication quality includes: transmission efficiency, transmission bandwidth, etc., the transmission efficiency may include: communication rate, probability of communication not losing packets, etc. The first electronic device may obtain a transmission efficiency of a communication link between the first electronic device and the second electronic device.
Step S102, data distribution is carried out on the data to be transmitted based on the communication quality, and distribution data packets corresponding to all communication links are obtained.
In this embodiment of the present application, the higher the transmission efficiency is, the larger the allocated allocation data packet is, and the lower the transmission efficiency is, the smaller the allocated allocation data packet is.
In some embodiments, the communication link comprises: a first communication link and a second communication link, the communication quality comprising: the transmission efficiency of the first communication link is greater than that of the second communication link, and the size of the allocated data packet corresponding to the first communication link is greater than that of the allocated data packet corresponding to the second communication link.
In some embodiments, the communication link comprises: a first communication link and a second communication link, the communication quality comprising: the transmission bandwidth of the first communication link is larger than that of the second communication link, and the size of the allocated data packet corresponding to the first communication link is larger than that of the allocated data packet corresponding to the second communication link.
For example, taking three communication links as an example, for example, a first link is a local area network, a 40K packet can be sent in 10 ms, a second link is a WiFi link, only a 20K packet can be sent in 10 ms, a third link is a USB, only 10K packets can be sent in the same time, and the packet sizes of the three links can be defined as 40K,20K, and 10K. The allocation of the data packet may be based on the size of the data packet to obtain an allocation data packet.
Step S103, sending the allocation data packet corresponding to each communication link to the second electronic device based on each communication link, so as to send the data to be transmitted to the second electronic device.
In this embodiment of the present invention, each communication link sends a corresponding allocated data packet, after each communication link transmits the data packet to the second electronic device, the second electronic device may uniformly buffer the data packet received by each communication link by one thread, and then recombine according to the external serial number, so that the second electronic device obtains complete data to be transmitted.
According to the data transmission method provided by the embodiment of the application, under the condition that the first electronic device acquires data to be transmitted to the second electronic device, the communication quality of a communication link between the first electronic device and the second electronic device is acquired; performing data distribution on the data to be transmitted based on the communication quality to obtain distribution data packets corresponding to all communication links; and sending the distributed data packet corresponding to each communication link to the second electronic equipment based on each communication link so as to send the data to be transmitted to the second electronic equipment, thereby improving the data transmission efficiency.
In some embodiments, each assignment packet has an external sequence number. The external sequence number may be a digital sequence number, e.g., 1, 2, 3 to N, etc.
In this embodiment of the present application, the attribute of each data packet may include: the packet sequence number may include: an external sequence number, an internal sequence number, wherein the external sequence number is used for identifying the sequence of the distributed data packets to be transmitted, also called as the user data packet sequence number, and the internal sequence number is an internal used sequence number.
In the embodiment of the present application, in the distribution packet, the external serial number is followed by the user's data. The external serial numbers can be sequentially increased from 0 to 32767 in the range of 0-32767 each time, and the external serial numbers are sent first with small external serial numbers.
The internal sequence number must not be followed by user data, and there are the following 3 classes:
initializing a serial number: fixing to be-1, and using the sequence number in the transmission process of the distributed data packet when initializing the buffer;
end sequence number: fixed at-2, indicating that the transmission of the distribution packet is complete, with no other data at a later time;
response sequence number: and (3) fixing the data packet to be minus 3, and sending response information to the sender, wherein the response sequence number is followed by an external sequence number of the maximum sequence number packet received by the distributed data packet and a list of external sequence numbers which are not received.
In the embodiment of the present application, step S103 may be implemented by the following steps:
step S1031, storing the allocation packet corresponding to each communication link in the transmission buffer corresponding to each communication link based on the external sequence number.
In this embodiment, the sending buffer refers to a memory in the first electronic device, and each communication link applies for a data set to buffer data to be sent.
In this embodiment of the present application, the number of communication links includes n, the external sequence numbers in the transmission buffers corresponding to each communication link are arranged from small to large, when the transmission buffers corresponding to each communication link are empty, after data allocation is performed, the difference between the external sequence numbers of two adjacent allocated data packets in the transmission buffer corresponding to each communication link is n, where n is a positive integer greater than or equal to 1.
For example, if n is 3, the transmission buffer corresponding to the first link is added with the allocation packets with external numbers 1, 4, and 7 …, the transmission buffer of the second link is added with the allocation packets with external numbers 2, 5, and 8 …, and the transmission buffer of the third link is added with the allocation packets with external numbers 3, 6, and 9 ….
Step S1032, transmitting the allocation data packet corresponding to each communication link to the second electronic device based on the transmission buffer corresponding to each communication link.
With the above example, the first link would send out allocation packets with external numbers 1, 4, and 7 …, the second link would send out allocation packets with external numbers 2, 5, and 8 …, and the third link would send out allocation packets with external numbers 3, 6, and 9 ….
In this embodiment of the present application, the external sequence numbers of the respective allocated data packets in the transmission buffers corresponding to the respective communication links may be sequentially transmitted from small to large. The external sequence number is used for identifying the sequence of the distributed data packets in the data to be transmitted.
According to the method provided by the embodiment of the application, based on the fact that the external serial numbers of the distributed data packets in the sending caches corresponding to the communication links are sent sequentially from small to large, the second electronic equipment can receive the distributed data packets in sequence as much as possible, the time for placing the distributed data packets in the caches can be reduced, and efficiency is improved.
In the related art, when a large amount of data is transmitted, the link with the highest communication rate is generally adopted for transmission, or the large data is simply divided into a plurality of blocks, and then each link transmits one data block, but the method cannot solve a series of problems caused by the change of the increase or decrease of the physical link transmission in the communication process and the change of the communication rate of the physical link, so that the improvement of the communication efficiency is not obvious.
To solve the above-mentioned problem, in some embodiments, while step S103 is performed, the method further includes:
step S104, the size of the data stored in the sending buffer corresponding to each communication link is obtained.
In this embodiment of the present application, the first electronic device may read the storage data in each sending buffer, so as to determine the size of each storage data.
Step S105, adjusting the size of the subsequent allocated data packet corresponding to each communication link based on the size of the stored data.
In this embodiment of the present application, if the stored data reaches the threshold of the stored data, it may be considered that the stored data in the sending buffer is full at this time, the size of the allocated data packet allocated by the communication link in the subsequent allocation may be reduced, and if the stored data in the sending buffer is nearly empty, the size of the allocated data packet allocated by the communication link in the subsequent allocation may be increased.
In the embodiment of the present application, the size of the allocated data packet allocated subsequently corresponding to each communication link is adjusted based on the size of the stored data, so that the transmission frequencies of the communication links are as uniform as possible, and the receiving efficiency of the receiving end can be improved.
In some embodiments, the method further comprises, while performing step S103:
And step S106, when the disconnection of the target communication link between the first electronic device and the second electronic device is detected, distributing the distributed data packet in the transmission buffer corresponding to the target communication link to other communication links except the target communication link in the communication links.
In the embodiment of the present application, the target communication link may be any one of the existing communication links. When the target communication link is disconnected, the allocated data packets in the transmission buffer corresponding to the target communication link can be equally allocated to other communication links.
Step S107, when it is detected that a new communication link is added between the first electronic device and the second electronic device, adding a part of the allocated data packets in the transmission buffers corresponding to the respective communication links to the transmission buffers corresponding to the new communication link.
In this embodiment of the present application, when a new communication link is added, a transmission buffer is created for the new link at this time, and at this time, a part of an allocation packet that is not sent in the transmission buffer of the existing link may be copied to the new communication link.
In this embodiment of the present application, when a portion of an allocated data packet in a transmission buffer corresponding to each communication link is stored in a transmission buffer corresponding to the new communication link, the portion of the allocated data packet may be added to the transmission buffer corresponding to the new communication link in a manner of copying at intervals.
In this embodiment, when the adjustment of the data packet is performed, only the read-in distribution data packet is copied, and each copy is one at each interval.
Illustratively, 1 increases to 2 communication links, a portion of the transmit buffer of the 1 st communication link needs to be copied to the transmit buffer of the 2 nd communication link, 2 communication links increases to 3 communication links, and a portion of the transmit buffers of the 1 st and 2 nd communication links need to be copied to the transmit buffer of the 3 rd communication link.
In some embodiments, the method further comprises, while performing step S103:
step S108, determining a target distribution data packet based on response information when the response information fed back by the second electronic device is obtained, wherein the response information comprises statistical information which is not received by the target distribution data packet.
In this embodiment, the statistical information may include: the external sequence number of the distribution data packet which is not received. The first electronic device may parse the response information, thereby obtaining an external serial number of the distribution data packet that is not received, so as to determine the target distribution data packet.
In this embodiment of the present application, each allocation packet further has the following attributes:
Priority (priority), assigning the priority of the data packet may include: low priority and high priority, and the priority is high and is sent first. The assigned packet to be retransmitted will have a higher priority.
Status (status): state of allocated data packet:
READ, not sent (PACKET HAS READ, 0),
SENT, not received (packet_has_send, 1),
HAS RECEIVED, unwritten (PACKET _ HAS _ RECEIVED, 2),
written (packet_has_write, 3).
In this embodiment of the present application, if the state of the allocated data packet is received, it indicates that the receiving end has received the allocated data packet, and the sending end may clear the allocated data packet from the buffer, may put a new allocated data packet into the buffer for coverage, i.e. may consider that there is an idle buffer, and may put the new allocated data packet into the idle buffer.
In this embodiment of the present application, if the status of the allocated data packet is sent, it indicates that the sending end has sent the allocated data packet.
In this embodiment of the present application, if the status of the allocated data packet is read, it indicates that the allocated data packet has been added to the sending buffer.
In this embodiment of the present application, if the status of the allocated data packet is written, it indicates that the receiving end has written the allocated data packet.
In this embodiment of the present invention, the second electronic device may feed back the response information, and the second electronic device may calculate, according to the condition of the receiving buffer, the received maximum external serial number, and then calculate all external serial numbers that are smaller than the maximum external serial number and not yet received, so as to generate the response information, where a composition format of the response information may be: received maximum packet sequence number + unreceived external sequence number 1+ unreceived external sequence number 2+ … + unreceived external sequence number n. Triggering the transmission of the reply message is one of two conditions: a. a specified number of allocation packets are received, b. the receive buffer is full.
Step S109, retransmitting the target allocation packet.
In this embodiment of the present application, a retransmission buffer array may be set in the first electronic device, and a target allocation data packet to be retransmitted may be put into the retransmission buffer array for retransmission.
In some embodiments, when data is transmitted, the priority of each allocated data packet may be read, and the higher the priority, the earlier the allocated data packet is transmitted, and if the priorities are the same, the transmission is performed with the external sequence number from small to large.
According to the data transmission method provided by the embodiment of the application, when a large amount of data is communicated, all connected communication links are started to work cooperatively, physical links can be increased or reduced in the communication process, and in addition, the size of a transmission packet is automatically adjusted according to the actual transmission rate, so that each link is matched effectively, and the transmission efficiency is improved greatly.
Based on the foregoing embodiments, in the embodiments of the present application, a large amount of data that needs to be transmitted by a user is used as an input stream (the same as the data to be transmitted in the foregoing embodiments), the input stream is allocated by an independent thread according to the transmission efficiency of each communication link, the allocated data packets are stored in the sending buffers corresponding to each communication link, the links with high transmission rate are allocated to more and larger allocated data packets, each packet has an external serial number, then each communication link transmits the allocated data packet to a second electronic device, the second electronic device uniformly buffers the allocated data packets received by each communication link by a thread, and then reorganizes the allocated data packets according to the actual sequence of the allocated data packets to form a data stream that is the same as that of the first electronic device and then submits the data stream to the user.
In this embodiment, when data packets are allocated to the communication link, the data packets are allocated at intervals, if there are three links, the first link sends out the data packets with external serial numbers of 1, 4 and 7 …, the second link sends out the data packets with external serial numbers of 2, 5 and 8 …, and the third link sends out the data packets with external serial numbers of 3, 6 and 9 …, so that the receiving end can receive the data packets in sequence as much as possible, the buffering time can be reduced, and the efficiency can be improved.
In this embodiment of the present application, since transmission efficiency of different links is different, a size of a transmission packet is also different, and transmission efficiency is fast, and then a data packet allocated to the transmission packet is also larger. For example, the first link is a local area network, a 40K data packet can be sent in 10 ms, the second link is a WiFi link, only a 20K data packet can be sent in 10 ms, the third link is a USB, only 10K data packets can be sent at the same time, and the data packet sizes of the three links can be defined as 40K,20K and 10K.
When one of the communication links has a transmission buffer full of data and the other communication links have no transmission buffer full, the size of the allocated data packet to be allocated after the communication link is automatically reduced, and if one of the communication links has a transmission buffer empty, the size of the allocated data packet to be allocated after the communication link is enlarged. The purpose of adjusting the size of the allocated data packet is to make the transmission frequency of each communication link as uniform as possible, so that the efficiency of the receiving end is higher.
In this embodiment, the sending buffer refers to a memory of the first electronic device, and each communication link applies for a data set to buffer data to be sent.
In the embodiment of the application, when a new communication link is added, a part of data packets which are not sent in a sending buffer of an existing link are copied to the new communication link. When the existing communication link is disconnected, the data which is not transmitted in the transmission buffer of the disconnected communication link is evenly distributed to other connected communication links.
In the embodiment of the present application, the following attributes are defined by the data packet:
packet number (packet no) is a number of 2 bytes of a packet, and is divided into an external number for identifying the order of packets to be transmitted, also called user packet number, and an internal number for internal use. Wherein the external serial number is followed by the user's data. The sequence number of the distribution packet of the user data can be sequentially increased from 0 to 32767 in the range of 0 to 32767 each time, and the distribution packet is used circularly, and the external sequence number is small and sent first. The internal sequence number must not be followed by user data, and there are the following 3 classes:
initializing a serial number: fixing to be-1, and using the data packet when initializing a sending buffer, wherein the sequence number is not used in the transmission process of the distributed data packet;
end sequence number: fixed at-2, indicating that all transmission of the allocated packets is complete, with no other data at a later time;
response sequence number: and when the data is fixed to be-3 and a response message is sent to the sender, the following data content of the response sequence number in the response message is an external sequence number which has received the maximum sequence number packet and an external sequence number list which has not been received.
Priority (priority) the priority of the data packet includes a low priority and a high priority, and the data packet is transmitted first when the priority is high. The priority of the data packet to be retransmitted is raised.
Status (status): the state of the data packet includes:
READ, not sent (PACKET HAS READ, 0),
SENT, not received (packet_has_send, 1),
HAS RECEIVED, unwritten (PACKET _ HAS _ RECEIVED, 2),
written (packet_has_write, 3).
Data content (data): when the distributed data packet is put into the sending buffer memory and the receiving buffer memory, the distributed data packet can carry the above attributes, and the data format is as follows during communication: LEN (2) +packet_no (2) +data (n), wherein len=n+2.
In the embodiment of the application, after the program is started, all available communication links are added to the link list, in the running process, a new communication link is detected to be connected, the new communication link can be added to the link list, and when the existing link is detected to be disconnected, the new communication link is deleted from the link list.
In this embodiment, when each communication link is added, a corresponding transmission buffer is created, that is, an array with a specified capacity is created, so as to store the data packet (packet sequence number, priority, status, and data content) to be transmitted. All communication links share a receive buffer, also an array structure, for storing received packets.
The last m elements of the transmission buffer array are retransmission buffers, and the retransmission buffers are used for solving the problem that when the transmission buffers are full, some packets with small sequence numbers are transmitted, but the second electronic device does not receive the packets, at the moment, the packets need to be retransmitted, and at the moment, the packets are put into the retransmission buffers to be transmitted preferentially.
For example, for the case that the packet is being processed at the time, for example, 0 to 1000 packets are successfully received, the packet with the external serial number of 1001 to 1050 is currently being transmitted, and if the packet with the external serial number of 1001 and the packet with the external serial number of 1049 do not receive the response, the packet with the small serial number is 1001. After a further period of time, the 1001 number of allocated packets has received a response, and at this time, in processes 1049-1100, where No. 1049 and No. 1089 are not received, and at this time, the allocated packet with the smaller sequence number is referred to as 1049. The successfully received distribution data packet is processed by the first electronic device and is not statistically within the statistical range when counting packet numbers.
When the receiving buffer is full and new data packet comes, if the new data packet is close to the current minimum packet sequence number, the data packet is stored in the small packet buffer, if the sequence number is too different (the sequence number does not belong to the minimum packet sequence number +n), the data packet is automatically discarded.
The data in the sending buffer memory still exists in the corresponding sending buffer memory after being sent, but the state is changed to be sent, and the other party is confirmed to be received, and the state is changed to be received, and the state indicates that the element can be reassigned.
In the embodiment of the present application, the data state changes according to the flow direction transmission: read, sent, received, written.
In the embodiment of the application, the last m blocks in the array of the sending buffer are set as a retransmission buffer area, so that the situation that the sending buffer is full and can be placed is prevented;
in the embodiment of the application, the last n blocks in the array of the receiving buffer are set as small packet buffer areas, so that the situation that the receiving buffer is full but the most needed packet is not available is prevented;
in the embodiment of the application, m and n are set according to actual conditions.
In this embodiment of the present invention, when the second electronic device receives N packets at each interval or the receiving buffer is full, the second electronic device generates response information from the list group of the external sequence number received by the largest sequence number packet and the allocated data packet of the external sequence number not received, and sends the response information to the first electronic device, so that the first electronic device preferentially retransmits the allocated data packet of the smallest external sequence number to the second electronic device.
The multilink management thread is used for managing each link, including allocation of buffer data sent by each link, combination of data received by each link, and the like.
In this embodiment of the present application, both the first electronic device and the second electronic device may be used as a transmitting end to transmit data, or may be used as a receiving end to receive data, and fig. 2 is a schematic implementation flow diagram of a data transmission method of a transmitting end provided in this embodiment of the present application, as shown in fig. 2, including:
In step S201, the sender starts a thread.
In step S202, the transmitting end detects that a new communication link is added, and adjusts the allocated data packets in the transmission buffers of all the communication links.
In this embodiment of the present application, if a new communication link is added, a part of the allocation data packet which is not sent in the sending buffer of the existing communication link may be copied to the new communication link.
In step S203, the transmitting end detects that the communication link is disconnected, and adjusts the allocated data packets in the transmission buffers of all the communication links.
In this embodiment of the present application, if a communication link is disconnected, the allocated data packets in the sending buffer corresponding to the target communication link may be equally allocated to other communication links.
In this embodiment of the present application, adjusting the allocation packet in the sending buffer is divided into two cases:
if a new communication link is added, counting the total number of the read-in distributed data packets in the sending caches of other communication links, and then uniformly distributing the data packets to the new communication links, wherein when the data packets are uniformly distributed, only the read-in distributed data packets are copied one by one every interval, 1 communication link is added to 2 communication links, the sending caches of the 1 st communication link are required to be copied to the sending caches of the 2 nd communication link, 2 communication links are required to be added to 3 communication links, and the sending caches of the 1 st and 2 nd communication links are required to be copied to the sending caches of the 3 rd communication link; if the communication link is disconnected, the packets which are in the status of read and sent in the transmission buffer of the disconnected communication link are evenly distributed to other communication links.
In step S204, the transmitting end detects whether the user input stream has user data.
In the embodiment of the present application, if yes, step S205 is performed, and if no, step S206 is performed.
In step S205, the transmitting end determines whether the communication link has an idle buffer.
In the embodiment of the present application, if yes, step S207 is performed, and if no, step S208 is performed.
In this embodiment of the present application, after the first electronic device sends the allocation data packet, the second electronic device receives the allocation data packet.
In step S206, the transmitting end reads the receiving buffer, and whether there is a new data packet.
In the embodiment of the present application, if there is a new data packet, step S209 is performed, and if there is no new data packet, step S202 is performed.
In step S207, the transmitting end allocates data according to the supported maximum length, allocates the data to the corresponding transmission buffer, and changes the state of the allocated data packet into read state.
In step S208, the transmitting end detects whether there is an allocated packet that is not received by the receiving end, and if so, places the allocated packet in the retransmission area in the transmission buffer, and the priority is increased.
In this embodiment of the present application, the detection conditions for detecting, by the sending end, whether there is an allocated data packet that is not received by the receiving end include: every interval N allocated packets or the transmit buffer is full. The number of N may be configured.
After step S207 and step S208, step S210 is performed.
In step S210, the transmitting end detects whether the size of the transmitted allocated data packet needs to be adjusted, and if so, adjusts the size of the allocated data packet in the link.
After step S210, step S206 is performed.
In step S209, the transmitting end determines whether the packet sequence number is an internal response sequence number.
In the embodiment of the present application, if yes, step S211 is performed, and if no, step S212 is performed.
In step S211, the transmitting end parses the external sequence number of the non-received allocated packet, thereby determining the received allocated packet, and modifies the status of the received allocated packet in the transmission buffer to be received.
After step S211, step S202 is performed.
In step S212, the sender determines whether the packet sequence number is an internal end sequence number.
With the above example, the internal end sequence number may be fixed to-2, then if the packet sequence number is-2 at this time, the internal end sequence number.
In the embodiment of the present application, if yes, step S213 is performed, and if not, step S202 is performed.
In step S213, the transmitting end determines that the transmission is completed, ends the thread, and ends the link thread.
After step S213, step S202 is performed.
Fig. 3 is a schematic implementation flow chart of a data processing method of a receiving end according to an embodiment of the present application, where, as shown in fig. 3, the method includes:
in step S301, the receiving end starts a thread.
In step S302, the receiving end reads the receiving buffer.
In step S303, the receiving end determines whether there is new data.
In the embodiment of the present application, if there is new data, step S304 is performed, and if there is no new data, step S302 is performed.
In step S304, the receiving end determines whether the packet sequence number of the allocated data packet is an external sequence number.
The above example is accepted, if the packet sequence numbers are 0-32767, then the external sequence number.
In the embodiment of the present application, if yes, step S305 is performed, and if not, step S302 is performed.
In step S305, the receiving end determines whether it is the minimum external serial number.
In the embodiment of the present application, if yes, step S306 is performed, and if not, step S307 is performed.
In step S306, the receiving end writes the allocated data packet into the sending buffer, and changes the state of the allocated data packet to written state, and updates the minimum external sequence number.
In this embodiment of the present application, if the minimum external serial number is n, the updated minimum external serial number is n+1.
After step S306, step S309 is performed.
In step S307, the receiving end determines whether the current external sequence number is smaller than the minimum external sequence number.
In the embodiment of the present application, if yes, step S308 is executed, and if no, step S302 is executed.
In step S308, the receiving end changes the status of the allocated packet in the receiving buffer to written.
After step S308 is performed, step S302 is continued.
In step S309, the receiving end traverses the receiving buffer to determine whether there is an allocated packet equal to the minimum external sequence number.
In the embodiment of the present application, if yes, step S306 is performed, and if no, step S310 is performed.
In step S310, the receiving end determines that all the allocated data packets have been received, and the intra-group response end packet is put into the transmission buffer.
In this embodiment of the present application, the receiving end receives the allocation data packet in real time, and if the receiving end determines that the allocation data packet has been received, the receiving end generates an internal response end packet and sends the internal response end packet to the sending end.
In the embodiment of the application, in the process of receiving and distributing the data packet at the receiving end, response information is also sent to the sending end, the receiving end feeds back statistical information about the data packet reception to the sending end, the sending end calculates the received maximum external serial number according to the condition of receiving and caching, and then calculates all external serial numbers which are smaller than the maximum external serial number and not received yet, and the composition format of the response information is as follows: the maximum received external sequence number + no external sequence number 1+ no external sequence number 2+ … + no external sequence number n. Triggering the sending of the response packet may be one of two conditions: a. a specified number of user data packets are received, b. the normal receive buffer is full.
In this embodiment of the present application, if the packet status in the sending buffer is read, it indicates that the packet is to be sent, and if the packet status is received, it indicates that the packet is sent successfully and confirms that the other party has received.
Based on the foregoing embodiments, the embodiments of the present application further provide a data transmission method, where the data transmission method is applied to a data transmission system, and the data transmission system includes: fig. 4 is a schematic implementation flow diagram of a data transmission method of a sending end according to an embodiment of the present application, as shown in fig. 4, including:
in step S401, the sender starts a thread.
In step S402, the transmitting end detects whether the transmission buffer has an allocated packet to be transmitted.
In the embodiment of the present application, if yes, step S403 is executed, and if no, step S405 is executed.
In step S403, the transmitting end finds out the allocated packet with the highest priority or the same priority and the smallest external sequence number.
In the embodiment of the application, the priority may be determined by attribute information of the packet.
Step S404, the transmitting end sends the distribution data packet, and if the packet is a user data packet, the state of the packet is modified: if not, the status of the packet is changed to received.
In step S405, the transmitting end determines whether valid data is received.
In the embodiment of the present application, if yes, step S406 is executed, and if no, step S402 is executed.
Step S406, the sending end receives the complete data, and packs the complete data, puts the pack into a receiving buffer, and changes the pack state as follows: has been received.
After step S406, step S402 is performed.
In this embodiment of the present application, after a sending end sends an allocation data packet, a receiving end receives and processes the allocation data packet, and fig. 5 is a flow chart of a data processing method of the receiving end provided in this embodiment of the present application, as shown in fig. 5, including:
in step S501, the receiving end starts a thread.
In step S502, the receiving end detects whether the sending buffer has data to be sent.
In the embodiment of the present application, if yes, step S503 is performed. If not, step S505 is performed.
In step S503, the receiving end finds out the allocated data packet with the highest priority or the smallest external sequence number under the same priority.
Step S504, the receiving end sends an allocation packet, and if the allocation packet is a user packet, the state of the packet is modified: and if not, the signal is transmitted and received instead.
After step S504, step S505 is performed.
In step S505, it is determined whether an allocation packet is received.
In the embodiment of the present application, if yes, step S506 is performed, and if no, step S502 is performed.
In step S506, the receiving end determines whether the receiving buffer is idle.
In the embodiment of the present application, step S507 is performed if the receiving buffer is idle, and step S508 is performed if the receiving buffer is not idle.
In step S507, the receiving end receives the complete distributed data packet, groups the distributed data packet, puts the distributed data packet into the receiving buffer, and changes the state of the packet to be received.
After step S507, step S511 is performed.
In step S508, the receiving end determines whether the external sequence number is similar to the current minimum external sequence number.
In the embodiment of the present application, if yes, step S509 is executed, and if no, step S510 is executed.
In this embodiment of the present application, the judging criteria that the external serial number is similar to the current minimum external serial number include: if there are n packet buffers in the receiving buffer, the external sequence numbers are considered to be similar between the minimum external sequence number and the minimum external sequence number +n, and can be stored in the packet buffer.
In step S509, the receiving end stores the packet in the packet buffer.
In step S510, the receiving end receives the complete allocation packet, does not perform any processing, and discards the complete allocation packet.
After step S509 and step S510, step S512 is performed.
In step S511, the receiving end determines whether each link cumulatively receives N allocated data packets.
In the embodiment of the present application, if yes, step S512 is executed, and if no, step S502 is executed.
In step S512, the receiving end group responds to the information and returns the distribution data packet which is not received in the near-term to the transmitting end.
In this embodiment of the present application, if an anomaly occurs during the process of sending and receiving data, which indicates that the link is disconnected, the link state in the link list needs to be set to be abnormally disconnected, and the multi-link management thread starts to equally divide the data packet of the transmission buffer of the link to other links.
Based on the foregoing embodiments, the embodiments of the present application provide a data transmission apparatus, where each module included in the apparatus, and each unit included in each module may be implemented by a processor in a computer device; of course, the method can also be realized by a specific logic circuit; in practice, the processor may be a central processing unit (CPU, central Processing Unit), a microprocessor (MPU, microprocessor Unit), a digital signal processor (DSP, digital Signal Processing), or a field programmable gate array (FPGA, field Programmable Gate Array), or the like.
An embodiment of the present application provides a data transmission device, fig. 6 is a schematic structural diagram of the data transmission device provided in the embodiment of the present application, and as shown in fig. 6, a data transmission device 600 includes:
A first obtaining module 601, configured to obtain, when obtaining data to be transmitted to a second electronic device, a communication quality of a communication link between the first electronic device and the second electronic device;
the allocation module 602 is configured to perform data allocation on the data to be transmitted based on the communication quality, so as to obtain allocation data packets corresponding to each communication link;
and the sending module 603 is configured to send, based on each communication link, an allocation data packet corresponding to each communication link to the second electronic device, so as to send the data to be transmitted to the second electronic device.
In some embodiments, each assignment packet has an external sequence number, and the sending module 603 includes:
the adding unit is used for storing the distributed data packets corresponding to the communication links to the sending caches corresponding to the communication links based on the external sequence numbers;
and the sending unit is used for sending the distributed data packet corresponding to each communication link to the second electronic equipment based on the sending buffer corresponding to each communication link.
In some embodiments, the communication links include n, the external sequence numbers in the sending buffers corresponding to each communication link are arranged from small to large, and the sending unit is configured to send the external sequence numbers of the distributed data packets in the sending buffers corresponding to each communication link sequentially from small to large, where the external sequence numbers are used to identify the sequence of the distributed data packets in the data to be transmitted.
In some embodiments, the communication link comprises: a first communication link and a second communication link, the communication quality comprising: the transmission efficiency of the first communication link is greater than that of the second communication link, and the size of the allocated data packet corresponding to the first communication link is greater than that of the allocated data packet corresponding to the second communication link.
In some embodiments, the data transmission apparatus 600 further comprises:
the second acquisition module is used for acquiring the size of the data stored in the sending buffer corresponding to each communication link;
and the first adjusting module is used for adjusting the size of the data packet which is allocated subsequently and corresponds to each communication link based on the size of the stored data.
In some embodiments, the data transmission apparatus 600 further comprises:
the second adjustment module is used for distributing the distributed data packets in the sending buffer corresponding to the target communication link to other communication links except the target communication link in the communication links under the condition that the disconnection of the target communication link between the first electronic device and the second electronic device is detected;
and the third adjustment module is used for adding part of the distributed data packets in the transmission caches corresponding to the communication links into the transmission caches corresponding to the new communication links under the condition that the new communication links are added between the first electronic equipment and the second electronic equipment.
In some embodiments, the data transmission apparatus 600 further comprises:
the determining module is used for determining whether response information of each distribution data packet received and fed back by the second electronic equipment is acquired;
and the retransmission module is used for retransmitting the target distribution data packet under the condition that the response information of the target distribution data packet is not received.
The embodiment of the application provides electronic equipment; fig. 7 is a schematic diagram of a composition structure of an electronic device according to an embodiment of the present application, as shown in fig. 7, an electronic device 700 includes: a processor 701, at least one communication bus 702, a user interface 703, at least one external communication interface 704, a memory 705. Wherein the communication bus 702 is configured to enable connected communication between these components. The user interface 703 may include a display screen, and the external communication interface 704 may include a standard wired interface and a wireless interface, among others. The processor 701 is configured to execute a program of a data transmission method stored in a memory to realize the steps in the data transmission method provided in the above-described embodiment.
In the embodiment of the present application, if the above-mentioned data transmission method is implemented in the form of a software functional module, and sold or used as a separate product, it may also be stored in a computer readable storage medium. Based on such understanding, the technical solutions of the embodiments of the present application may be essentially or partly contributing to the prior art, and the computer software product may be stored in a storage medium, and include several instructions to cause a computer device (which may be a personal computer, a server, or a network device, etc.) to execute all or part of the methods described in 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 magnetic disk, an optical disk, or other various media capable of storing program codes. Thus, embodiments of the present application are not limited to any specific combination of hardware and software.
Accordingly, embodiments of the present application provide a storage medium having stored thereon a computer program which, when executed by a processor, implements the steps of the data transmission method provided in the above embodiments.
Embodiments of the present application further provide a computer program product for causing an electronic device to execute the data transmission method according to any one of the preceding claims when the computer program product is run on a terminal device.
The description of the electronic device and the storage medium embodiments above is similar to that of the method embodiments described above, with similar advantageous effects as the method embodiments. For technical details not disclosed in the embodiments of the computer apparatus and the storage medium of the present application, please refer to the description of the method embodiments of the present application.
It should be appreciated that reference throughout this specification to "one embodiment" or "an embodiment" means that a particular feature, structure or characteristic described in connection with the embodiment is included in at least one embodiment of the present application. Thus, the appearances of the phrases "in one embodiment" or "in an embodiment" in various places throughout this specification are not necessarily all referring to the same embodiment. Furthermore, the particular features, structures, or characteristics may be combined in any suitable manner in one or more embodiments. It should be understood that, in various embodiments of the present application, the sequence numbers of the foregoing processes do not mean the order of execution, and the order of execution of the processes should be determined by the functions and internal logic thereof, and should not constitute any limitation on the implementation process of the embodiments of the present application. The foregoing embodiment numbers of the present application are merely for describing, and do not represent advantages or disadvantages of the embodiments.
It should be noted that, in this document, 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 phrase "comprising one … …" does not exclude the presence of other like elements in a process, method, article, or apparatus that comprises the element.
In the several embodiments provided in this application, it should be understood that the disclosed apparatus and method may be implemented in other ways. The above described device embodiments are only illustrative, e.g. the division of the units is only one logical function division, and there may be other divisions in practice, such as: multiple units or components may be combined or may be integrated into another system, or some features may be omitted, or not performed. In addition, the various components shown or discussed may be coupled or directly coupled or communicatively coupled to each other via some interface, whether indirectly coupled or communicatively coupled to devices or units, whether electrically, mechanically, or otherwise.
The units described above as separate components may or may not be physically separate, and components shown as units may or may not be physical units; can be located in one place or distributed to a plurality of network units; some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.
In addition, each functional unit in each embodiment of the present application may be integrated in one processing unit, or each unit may be separately used as one unit, or two or more units may be integrated in one unit; the integrated units may be implemented in hardware or in hardware plus software functional units.
Those of ordinary skill in the art will appreciate that: all or part of the steps for implementing the above method embodiments may be implemented by hardware related to program instructions, and the foregoing program may be stored in a computer readable storage medium, where the program, when executed, performs steps including the above method embodiments; and the aforementioned storage medium includes: a mobile storage device, a Read Only Memory (ROM), a magnetic disk or an optical disk, or the like, which can store program codes.
Alternatively, the integrated units described above may be stored in a computer readable storage medium if implemented in the form of software functional modules and sold or used as a stand-alone product. Based on such understanding, the technical solutions of the embodiments of the present application may be essentially or partly contributing to the prior art, embodied in the form of a software product stored in a storage medium, comprising several instructions for causing a controller to execute all or part of the methods described in the embodiments of the present application. And the aforementioned storage medium includes: various media capable of storing program codes, such as a removable storage device, a ROM, a magnetic disk, or an optical disk.
The foregoing is merely an embodiment of the present application, but the protection scope of the present application is not limited thereto, and any person skilled in the art can easily think about changes or substitutions within the technical scope of the present application, and the changes and substitutions are intended to be covered in the protection scope of the present application. Therefore, the protection scope of the present application shall be subject to the protection scope of the claims.

Claims (10)

1. A data transmission method, applied to a first electronic device, comprising:
Acquiring the communication quality of a communication link between the first electronic device and the second electronic device under the condition that data to be transmitted to the second electronic device is acquired;
performing data distribution on the data to be transmitted based on the communication quality to obtain distribution data packets corresponding to all communication links;
and sending the distributed data packet corresponding to each communication link to the second electronic equipment based on each communication link so as to send the data to be transmitted to the second electronic equipment.
2. The method of claim 1, wherein each of the allocation data packets has an external sequence number, wherein the transmitting the allocation data packet corresponding to the respective communication link to the second electronic device based on the respective communication link comprises:
storing the distributed data packets corresponding to each communication link to the corresponding sending buffer memory of each communication link based on the external sequence numbers;
and transmitting the distributed data packet corresponding to each communication link to the second electronic equipment based on the transmission buffer corresponding to each communication link.
3. The method of claim 2, wherein the communication links include n, the external sequence numbers in the transmission buffers corresponding to each communication link satisfy the order from small to large, and the transmitting the allocation data packet corresponding to each communication link to the second electronic device based on the transmission buffer corresponding to each communication link includes:
And sequentially transmitting the external sequence numbers of the distributed data packets from small to large based on the transmission caches corresponding to the communication links, wherein the external sequence numbers are used for identifying the sequence of the distributed data packets in the data to be transmitted.
4. The method of claim 1, wherein the communication link comprises: a first communication link and a second communication link, the communication quality comprising: the transmission efficiency of the first communication link is greater than that of the second communication link, and the size of the allocated data packet corresponding to the first communication link is greater than that of the allocated data packet corresponding to the second communication link.
5. The method according to claim 2, wherein the method further comprises:
acquiring the size of data stored in a transmission buffer corresponding to each communication link;
and adjusting the size of the data packet which is allocated subsequently and corresponds to each communication link based on the size of the stored data.
6. The method according to claim 2, wherein the method further comprises:
under the condition that the disconnection of a target communication link between the first electronic device and the second electronic device is detected, distributing the distributed data packets in the transmission buffer corresponding to the target communication link to other communication links except the target communication link in the communication links;
And under the condition that a new communication link is added between the first electronic equipment and the second electronic equipment is detected, adding partial distributed data packets in the transmission buffer corresponding to each communication link into the transmission buffer corresponding to the new communication link.
7. The method according to claim 1, wherein the method further comprises:
under the condition that response information fed back by the second electronic equipment is obtained, determining a target distribution data packet based on the response information, wherein the response information comprises statistical information which is not received by the target distribution data packet;
and retransmitting the target distribution data packet.
8. A data transmission apparatus, characterized by being applied to a first electronic device, comprising:
the first acquisition module is used for acquiring the communication quality of a communication link between the first electronic equipment and the second electronic equipment under the condition that data to be transmitted to the second electronic equipment are acquired;
the distribution module is used for carrying out data distribution on the data to be transmitted based on the communication quality to obtain distribution data packets corresponding to all communication links;
and the sending module is used for sending the distributed data packet corresponding to each communication link to the second electronic equipment based on each communication link so as to send the data to be transmitted to the second electronic equipment.
9. An electronic device comprising a memory, a processor and a computer program stored in the memory and executable on the processor, wherein the processor implements the method of any one of claims 1 to 7 when the computer program is executed.
10. A computer readable storage medium storing a computer program, characterized in that the computer program when executed by a processor implements the method according to any one of claims 1 to 7.
CN202311525927.2A 2023-11-15 2023-11-15 Data transmission method, device, electronic equipment and storage medium Pending CN117768425A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311525927.2A CN117768425A (en) 2023-11-15 2023-11-15 Data transmission method, device, electronic equipment and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311525927.2A CN117768425A (en) 2023-11-15 2023-11-15 Data transmission method, device, electronic equipment and storage medium

Publications (1)

Publication Number Publication Date
CN117768425A true CN117768425A (en) 2024-03-26

Family

ID=90322766

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311525927.2A Pending CN117768425A (en) 2023-11-15 2023-11-15 Data transmission method, device, electronic equipment and storage medium

Country Status (1)

Country Link
CN (1) CN117768425A (en)

Similar Documents

Publication Publication Date Title
US7957392B2 (en) Method and apparatus for high-performance bonding resequencing
EP2490400A1 (en) Transmission control method for packet communication and packet communication system
CN111181873B (en) Data transmission method, data transmission device, storage medium and electronic equipment
US20130191484A1 (en) Mail transfer system, mail gateway and data store server
CN111698175A (en) Message receiving and sending method and system for gateway
CN107395252A (en) Frequency-hopping method, frequency-hopping arrangement, terminal and baseband chip
CN115276920A (en) Audio data processing method and device, electronic equipment and storage medium
US8230137B2 (en) Network processor, reception controller and data reception processing method performing direct memory access transfer
CN114928870A (en) Data transmission method and device, electronic equipment and storage medium
CN117768425A (en) Data transmission method, device, electronic equipment and storage medium
US7414991B2 (en) Computing system and method to select data packet
CN107592361B (en) Data transmission method, device and equipment based on dual IB network
CN115344405A (en) Data processing method, network interface card, electronic equipment and storage medium
US8730825B2 (en) Packet retransmission optimization in wireless network
CN111385069A (en) Data transmission method and computer equipment
CN114337942A (en) Message retransmission method and device and electronic equipment
CN114938354A (en) Congestion control method, device, equipment and storage medium
CN114363379A (en) Vehicle data transmission method and device, electronic equipment and medium
US7873747B2 (en) Device and method for transmitting data
US6769092B1 (en) Method and system for testing linked list integrity
CN107241404B (en) Method, device and system for receiving and transmitting messages
CN114640385B (en) Data transmission method based on Beidou communication system and electronic equipment
CN113765627A (en) Method and device for responding to multilink received data
CN113162990B (en) Message sending method, device, equipment and storage medium
WO2024029372A1 (en) Information terminal, communication method, and communication device

Legal Events

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