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

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

Info

Publication number
CN110769465B
CN110769465B CN201911016063.5A CN201911016063A CN110769465B CN 110769465 B CN110769465 B CN 110769465B CN 201911016063 A CN201911016063 A CN 201911016063A CN 110769465 B CN110769465 B CN 110769465B
Authority
CN
China
Prior art keywords
data
slice
size
transmitted
target link
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201911016063.5A
Other languages
Chinese (zh)
Other versions
CN110769465A (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.)
Oppo Chongqing Intelligent Technology Co Ltd
Original Assignee
Oppo Chongqing Intelligent 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 Oppo Chongqing Intelligent Technology Co Ltd filed Critical Oppo Chongqing Intelligent Technology Co Ltd
Priority to CN201911016063.5A priority Critical patent/CN110769465B/en
Publication of CN110769465A publication Critical patent/CN110769465A/en
Application granted granted Critical
Publication of CN110769465B publication Critical patent/CN110769465B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/06Optimizing the usage of the radio link, e.g. header compression, information sizing, discarding information
    • H04W28/065Optimizing the usage of the radio link, e.g. header compression, information sizing, discarding information using assembly or disassembly of packets

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Communication Control (AREA)

Abstract

The embodiment of the application discloses a data transmission method and device, electronic equipment and a readable storage medium, wherein the data transmission method comprises the following steps: acquiring bandwidth requirements of data to be transmitted during actual transmission, and selecting at least two target links according to the bandwidth requirements and the bandwidth of each existing link; slicing the data to be transmitted according to the data size of the data to be transmitted and the bandwidth of the target link to obtain first slice data which are sequentially arranged according to a slicing sequence; distributing a sequence number to the first slice data to obtain second slice data; and sequentially sending the second slice data to a receiving end through the target link, wherein the receiving end is used for recombining the received second slice data. The method does not need to use a high-speed interface, can effectively reduce the cost, can realize parallel transmission while meeting the bandwidth requirement of the data to be transmitted, and effectively improves the transmission efficiency.

Description

Data transmission method and device, electronic equipment and readable storage medium
Technical Field
The present application relates to the field of electronic device technologies, and in particular, to a data transmission method and apparatus, an electronic device, and a readable storage medium.
Background
In data transmission, the existing solution generally uses a high-speed serial computer extended bus (PCIE) standard or other high-speed interfaces for data transmission. However, this solution requires, on the one hand, the purchase of a specific high-speed interface, and the debugging is usually time-consuming and very costly; on the other hand, when the existing high-speed interface cannot meet the requirement of transmission bandwidth, the data transmission efficiency is reduced.
Disclosure of Invention
The embodiment of the application provides a data transmission method and device, an electronic device and a readable storage medium, which can effectively reduce the cost of data transmission and improve the efficiency of data transmission.
In a first aspect, an embodiment of the present application provides a data transmission method, where the method includes:
acquiring bandwidth requirements of data to be transmitted during actual transmission, and selecting at least two target links according to the bandwidth requirements and the bandwidth of each existing link;
slicing the data to be transmitted according to the data size of the data to be transmitted and the bandwidth of the target link to obtain first slice data which are sequentially arranged according to a slicing sequence;
distributing a sequence number to the first slice data to obtain second slice data;
and sequentially sending the second slice data to a receiving end through the target link, wherein the receiving end is used for recombining the received second slice data.
In a second aspect, an embodiment of the present application further provides a data transmission apparatus, where the apparatus includes:
the acquisition selection module is used for acquiring the bandwidth requirement of the data to be transmitted during actual transmission and selecting at least two target links according to the bandwidth requirement and the bandwidth of each existing link;
the slicing module is used for slicing the data to be transmitted according to the data size of the data to be transmitted and the bandwidth of the target link to obtain each piece of first slice data which are sequentially arranged according to a slicing sequence;
the distribution module is used for distributing serial numbers to the first slice data to obtain second slice data;
and the sending module is used for sequentially sending the second slice data to a receiving end through the target link, the target link is used for transmitting the second slice data to the receiving end, and the receiving end is used for recombining the received second slice data.
In a third aspect, an embodiment of the present application further provides an electronic device, which includes a memory, a processor, and a computer program stored in the memory and running on the processor, where the processor executes the computer program to implement each step in the foregoing data transmission method.
In a fourth aspect, the present application further provides a readable storage medium, on which a computer program is stored, where the computer program is executed by a processor to implement the steps in the data transmission method as described above.
According to the data transmission method provided by the embodiment of the application, at least two target links are selected according to the acquired bandwidth requirement of the data to be transmitted and the bandwidth of each existing link, the data to be transmitted is sliced according to the data size of the data to be transmitted and the bandwidth of the target link, first slice data sequentially arranged according to the slice data are obtained, serial numbers are distributed to the first slice data, second slice data are obtained, the second slice data are sent to a receiving end through the target link, and the receiving end recombines the second slice data. By selecting a plurality of target links, parallel transmission of second slice data can be realized by slicing data to be transmitted, and effective recovery of the second slice data can be realized by recombining the data to be transmitted through a receiving end.
Drawings
In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings used in the description of the embodiments or the prior art will be briefly described below, it is obvious that the drawings in the following description are only some embodiments of the present invention, and for those skilled in the art, other drawings can be obtained according to the drawings without creative efforts.
Fig. 1 is a schematic flow chart of a data transmission method according to an embodiment of the present application;
FIG. 2 is a schematic flow chart of the refinement step of step 102 in the embodiment shown in FIG. 1;
FIG. 3 is a schematic flow chart of the refinement step of step 103 in the embodiment shown in FIG. 1;
FIG. 4 is a diagram illustrating a data transmission method according to an embodiment of the present application;
FIG. 5 is a schematic structural diagram of a data transmission apparatus according to an embodiment of the present application;
fig. 6 is a schematic structural diagram of an electronic device in an embodiment of the present application.
Detailed Description
Referring to the drawings, wherein like reference numbers refer to like elements, the principles of the present application are illustrated as being implemented in a suitable computing environment, and the embodiments described below are only some, but not all, embodiments of the present application. All other embodiments, which can be obtained by a person skilled in the art without making any creative effort based on the embodiments in the present invention, belong to the protection scope of the present invention.
Please refer to fig. 1, which is a flow chart illustrating a data transmission method according to an embodiment of the present application, including:
step 101, acquiring bandwidth requirements of data to be transmitted during actual transmission, and selecting at least two target links according to the bandwidth requirements and the bandwidths of all existing links;
in the embodiment of the present invention, the data transmission method is implemented by a data transmission device, and the data transmission device belongs to an electronic device, and may be, for example, a chip, a server, a mobile phone terminal, a tablet computer, and the like. The data transmission device is stored in a readable storage medium of the electronic equipment, and when the data transmission device needs to be used, a processor of the electronic equipment can read and operate the data transmission device.
The data transmission method is suitable for performing cross-device data transmission between two electronic devices, one of the two electronic devices is a sending end, the other electronic device is a receiving end, and a plurality of links are stored between the sending end and the receiving end.
The data transmission method in the application is described from a sending end, and when the sending end has data to be transmitted and needs to send the data to a receiving end, the sending end acquires bandwidth requirements of the data to be transmitted during actual transmission, wherein the bandwidth requirements can be preset in the sending end, or can also be calculated based on a preset bandwidth calculation algorithm, and can be set based on requirements in actual application, and the limitation is not required at this time.
After the sending end obtains the bandwidth requirement, at least two target links are selected according to the bandwidth requirement and the bandwidth of each existing link, wherein a plurality of links are arranged between the sending end and the receiving end, the bandwidths of the plurality of links can be the same or different, and the plurality of links can be selected from the existing links, so that the sum of the bandwidths of the selected target links is greater than or equal to the bandwidth requirement.
102, slicing the data to be transmitted according to the data size of the data to be transmitted and the bandwidth of the target link to obtain first slice data which are sequentially arranged according to a slice sequence;
after a target link is selected, a sending end counts the data size of data to be transmitted, and slices the data to be transmitted by using the data size of the data to be transmitted and the bandwidth of the selected target link to obtain first slice data which are sequentially arranged according to a slicing sequence, wherein the data to be transmitted comprises a plurality of data blocks, the data size of each data block can be the same or different, and the data to be transmitted needs to be restored at a receiving end, so that when the data to be transmitted is divided, the data are sequentially divided according to the sequence of the data blocks in the data to be transmitted, and the first slice data obtained by slicing are also sequentially arranged according to the slicing sequence. It is understood that since the size of the data block cannot be guaranteed to be an integer multiple of the slice size, there may be first slice data having a size smaller than the slice size, and for such data, the requirement for the slice size may be satisfied by way of zero padding.
103, distributing sequence numbers to the first slice data to obtain second slice data;
and step 104, sequentially sending the second slice data to a receiving end through the target link, wherein the receiving end is used for recombining the received second slice data.
In this application, a serial number is assigned to the first slice data, and the first slice data with the serial number is used as the second slice data, where the serial number is usually located at the front end of the second slice data and is carried in a byte manner. Further, the sending end sends the second slice data to the receiving end through the target links, wherein the receiving end allocates a buffer space for each target link, and the target links with large bandwidth transmit more data in the same time relative to the target links with small bandwidth, so that the buffer space allocated by the target links with large bandwidth is correspondingly large at the receiving end. After receiving the second slice data, the receiving end caches the second slice data into the corresponding cache space, and after finishing caching the data to be transmitted, the receiving end reads the second slice data from the cache space corresponding to each target link, and recombines the second slice data based on the sequence relation between the serial number and the cache time, so as to realize the recovery of the data. It can be understood that, when the receiving end reassembles the second sliced data, it is necessary to remove the sequence number in the second sliced data and then reassemble the second sliced data, that is, the data obtained after reassembly does not include a sequence number.
The sending the second slice data to the receiving end through the target link may specifically include: a transmitting end monitors a target link; and if the idle target link is monitored, sending second slice data to the idle target link. For example, if there are three target links, the first three pieces of second slice data are simultaneously sent to the three target links at the initial time, and the three target links are monitored, and if it is monitored that the third target link completes transmission, the fourth piece of second slice data are sent to the third target link, and so on, so that each target link can continuously transmit slice data, and the transmission efficiency is improved.
In the embodiment of the application, by selecting a plurality of target links, parallel transmission of second slice data can be realized by slicing the data to be transmitted, and effective recovery of the second slice data can be realized by recombining the data to be transmitted through the receiving end.
On the basis of the embodiment shown in fig. 1, please refer to fig. 2, which is a schematic flow chart illustrating a step of refining step 102 in the embodiment shown in fig. 1, and includes:
step 201, determining the maximum value and the minimum value of a data block contained in data to be transmitted;
step 202, determining the size of a slice according to the maximum value, the minimum value and the bandwidth of a target link;
and step 203, slicing the data to be transmitted according to the slice size to obtain each piece of first slice data which is sequentially arranged according to the slice sequence.
In this embodiment of the present application, the data to be transmitted includes a plurality of data blocks, the sending end sequentially traverses each data block, and determines the size of each data block to determine the maximum value and the minimum value, and determines the size of the slice according to the maximum value, the minimum value, and the bandwidth of the target link, and in a feasible implementation manner, the manner of determining the size of the slice may be: determining a difference value between the maximum value and the minimum value of the data block, when the difference value is greater than a preset threshold value, determining whether the time required by the minimum value transmitted by the target link with the minimum bandwidth is less than a preset time, if so, determining the minimum value as the size of the slice, and if so, taking the size of data which can be transmitted by the target link with the minimum bandwidth in the preset time as the size of the slice. And when the difference is smaller than a preset threshold value, taking the size of data which can be transmitted in a preset time by the target link with the minimum bandwidth as the slice size.
It can be understood that the preset time duration is set to avoid that the data transmission time after slicing is too long and is not beneficial to parallel transmission, and when the preset time duration is set, the preset time duration when the efficiency of parallel transmission is ensured to be better and the slicing is not too large or too small can be determined through an experimental mode.
It will be appreciated that when the difference is greater than the predetermined threshold, it indicates that the difference between the maximum and minimum values is large, in which case the slice size determination needs to be performed mainly on the minimum value to avoid that the data block cannot be sliced. And when the difference is smaller than the preset threshold, the difference between the maximum value and the minimum value is smaller, the sizes of the data blocks are concentrated, and at the moment, the size of the slice is determined mainly by the transmission capability of the bandwidth.
In the embodiment of the application, the size of the slice is determined by comprehensively considering the data size of the data to be transmitted and the bandwidth of the target link, so that the obtained size of the slice can be matched with the target link, and the transmission efficiency is better.
Referring to fig. 3 based on the embodiment shown in fig. 1, fig. 3 is a schematic diagram of a detailed flow of step 103 in the embodiment shown in fig. 1, which includes:
step 301, determining the size of a sequence number pool according to the bandwidth of a target link;
and 302, sequentially allocating sequence numbers to the first slice data according to the size of the sequence number pool to obtain second slice data.
In the embodiment of the present application, when it is considered that the data size of the data to be transmitted is large, if serial numbers are sequentially allocated according to the number of slices, the data size of the serial numbers may be too large, for example, if the number of slices is 5 ten thousand, serial numbers are sequentially allocated, the largest serial number is 49999, and the data size of the serial number is too large, which results in too much bandwidth being occupied. Therefore, in order to avoid the problem, after the sending end completes slicing, the size of the sequence number pool is also determined according to the bandwidth of the target link, and the size of the sequence number can be effectively controlled by recycling the sequence number in the sequence number pool, so that the influence of increasing the sequence number on the transmission efficiency is reduced.
One possible implementation manner for determining the size of the sequence number pool according to the bandwidth of the target link is as follows:
step A, calculating the transmission time required by each target link for transmitting one piece of second slice data;
step B, acquiring the maximum transmission time of the target link, and determining the quantity of second slice data which can be transmitted by each target link based on the maximum transmission time;
and step C, taking the total number of the second slice data which can be transmitted by each target link as the size of the sequence number pool.
In step a, the size of the piece of second slice data is preferably the slice size determined in step 202. The factors influencing the transmission time include the length of the link and the size of the bandwidth, the transmission time is the same under the condition that the link length and the bandwidth of each target link are the same, the transmission time is different under the condition that the link length or the bandwidth are different, and the delay difference exists between the links. In order to indicate that the delay is different from the storage of the second slice data with the same sequence number at the same time, which causes a problem of a reassembly error, the size of the sequence number pool needs to be determined.
Specifically, the transmission time required for transmitting data of one slice size in a plurality of target links is determined, the maximum transmission time is obtained, and the number of second slices that can be transmitted by each target link is determined based on the maximum transmission time, for example, for link ABC, the transmission time for transmitting data of one slice size in link a is the maximum and is 10s, the number of slices that can be transmitted within 10s for link B and link C is determined, and is 5 slices and 10 slices, respectively, and the total number of the number of second slices that can be transmitted by each target link is used as the size of the sequence number pool. For example, for link ABC, the number of slices that can be transmitted within 10s is 1, 5, 10, respectively, then the size of the sequence number pool can be determined to be 16.
It is to be understood that, in the case of determining the size of the sequence number pool, the initial value may be 0 or 1, for example, if the size of the sequence number pool is 10, the sequence number may be 0 to 9, or 1 to 10.
It is to be understood that, if there is a non-integer number in the determined number of second slice data that can be transmitted by each target link, based on the maximum transmission time, the size of the sequence number pool of one integer may be determined by obtaining the smallest integer. For example, if the number of slices that can be transmitted by the link ACB in 10s is 1, 2.5, 4, respectively, and the total number is 7.5, the size of the sequence number pool can be determined to be 2 times 7.5, that is, 15.
It is understood that, when determining the sequence number pool, and in order that the same retention time of different slices with the same sequence number does not occur, which causes a reassembly error, the size of the sequence number pool may be set to be greater than or equal to the number of target links, and specifically, the step C may be: calculating the total number of the second slice data which can be transmitted by each target link; and if the total number is greater than or equal to the number of the target links, determining the total number as the size of the sequence number pool.
In an application scenario, if the size of the first slice data is 120 slices, the size of the determined sequence number pool is 10, and the sequence numbers are 0 to 9, the first slice data may be first divided into groups according to 10 units, that is, 12 groups, and the sequence numbers are sequentially assigned to each group according to the sequence from 0 to 9, so as to obtain the second slice data with sequence numbers.
In the embodiment of the application, the size of the sequence number pool is determined by using the bandwidth of the target link, so that after the sequence number of the first slice data is allocated, the recombination error caused by the transmission problem can be effectively avoided.
In order to better understand the technical solution in the embodiment of the present application, please refer to fig. 4, which is a schematic diagram of a data transmission method in the embodiment of the present application, as shown in fig. 4, a sending end performs slicing and serial number allocation on data to be transmitted to obtain a plurality of second sliced data, then the sending end sends the obtained plurality of second sliced data to a receiving end through three links, the receiving end performs caching after receiving the second sliced data, and after completing receiving the data to be transmitted, the receiving end obtains the second sliced data transmitted by each link from the caching and performs reassembly to restore the original data.
Please refer to fig. 5, which is a schematic structural diagram of a data transmission apparatus in an embodiment of the present application, including:
an obtaining and selecting module 501, configured to obtain a bandwidth requirement when data to be transmitted is actually transmitted, and select at least two target links according to the bandwidth requirement and bandwidths of existing links;
a slicing module 502, configured to slice the data to be transmitted according to the data size of the data to be transmitted and the bandwidth of the target link, so as to obtain first slice data sequentially arranged according to a slice sequence;
an allocating module 503, configured to allocate a sequence number to the first slice data to obtain second slice data;
a sending module 504, configured to sequentially send the second slice data to a receiving end through the target link, where the target link is used to transmit the second slice data to the receiving end, and the receiving end is used to recombine the received second slice data.
In the embodiment of the application, at least two target links are selected according to the acquired bandwidth requirement of the data to be transmitted and the bandwidth of each existing link, the data to be transmitted is sliced according to the data size of the data to be transmitted and the bandwidth of the target links to obtain each piece of first slice data which are sequentially arranged according to the slice data, serial numbers are distributed to each piece of first slice data to obtain second slice data, the second slice data are sent to a receiving end through the target links, and the receiving end recombines the second slice data. By selecting a plurality of target links, parallel transmission of second slice data can be realized by slicing data to be transmitted, and effective recovery of the second slice data can be realized by recombining the data to be transmitted through a receiving end.
Further, based on the data transmission apparatus in the embodiment shown in fig. 5, the allocating module 503 includes:
the determining module is used for determining the size of the serial number pool according to the bandwidth of the target link;
and the sequence number distribution module is used for sequentially distributing sequence numbers to the first slice data according to the size of the sequence number pool to obtain the second slice data.
Wherein the determining module is specifically configured to:
the time calculation module is used for calculating the transmission time required by each target link for transmitting one piece of second slice data;
the quantity determining module is used for acquiring the maximum transmission time of the target link and determining the quantity of the second slice data which can be transmitted by each target link by taking the maximum transmission time as a standard;
and the total number determining module is used for taking the total number of the second slice data which can be transmitted by each target link as the size of the sequence number pool.
The total number determination module is specifically configured to: calculating the total number of the second slice data which can be transmitted by each target link; and if the total number is greater than or equal to the number of the target links, determining that the total number is the size of the sequence number pool.
Wherein, the slicing module 502 comprises:
the value determining module is used for determining the maximum value and the minimum value of a data block contained in the data to be transmitted;
the size determining module is used for determining the size of the slice according to the maximum value, the minimum value and the bandwidth of the target link;
and the data slicing module is used for slicing the data to be transmitted according to the slice size to obtain each piece of first slice data which is sequentially arranged according to the slicing sequence.
The size determination module is specifically configured to:
determining a difference between the maximum and minimum values;
when the difference is greater than a preset threshold value, determining whether the time required by the target link with the minimum bandwidth for transmitting the minimum value is less than a preset time, if so, determining the minimum value as the size of the slice, and if so, taking the size of data which can be transmitted by the target link with the minimum bandwidth in the preset time as the size of the slice;
and when the difference is smaller than a preset value, taking the size of data which can be transmitted by the target link with the minimum bandwidth in the preset time as the slice size.
In the embodiment of the application, the size of the slice is determined by comprehensively considering the data size of the data to be transmitted and the bandwidth of the target link, so that the obtained size of the slice can be matched with the target link, and the transmission efficiency is better. And the size of the sequence number pool is determined by utilizing the bandwidth of the target link, so that after the sequence number of the first slice data is distributed, the recombination error caused by the transmission problem can be effectively avoided.
The present application also provides a storage medium on which a computer program is stored, which, when executed by a processor, implements the data transmission method provided by the method embodiments.
The application also provides an electronic device, which includes a memory, a processor and a computer program stored in the memory and capable of running on the processor, and when the processor executes the computer program, the data transmission method provided by the embodiment of the method is implemented.
In another embodiment of the present application, an electronic device is further provided, and the data transmission method provided in the embodiment of the present application may be applied to the electronic device shown in fig. 6.
By way of example, the electronic device may be any of various types of computer system devices that are mobile or portable and that perform wireless communications (only one modality shown by way of example in FIG. 6).
As shown in fig. 6, the electronic device may include control circuitry, which may include storage and processing circuitry 30. The storage and processing circuitry 30 may be memory, such as hard disk drive memory, non-volatile memory (e.g., flash memory or other electronically programmable read only memory used to form solid state drives, etc.), volatile memory (e.g., static or dynamic random access memory, etc.), etc., and the embodiments of the present application are not limited thereto. The processing circuitry in the storage and processing circuitry 30 may be used to control the operation of the electronic device. The processing circuitry may be implemented based on one or more microprocessors, microcontrollers, digital signal processors, baseband processors, power management units, audio codec chips, application specific integrated circuits, display driver integrated circuits, and the like.
The storage and processing circuitry 30 may be used to run software in the electronic device. Such software may be used to perform control operations such as camera-based image capture, ambient light measurement based on an ambient light sensor, proximity sensor measurement based on a proximity sensor, information display functionality implemented based on a status indicator such as a status indicator light of a light emitting diode, touch event detection based on a touch sensor, functionality associated with displaying information on multiple (e.g., layered) displays, operations associated with performing wireless communication functions, operations associated with collecting and generating audio signals, control operations associated with collecting and processing button press event data, and other functions in an electronic device, to name a few, embodiments of the present application are not limited.
The electronic device may also include input-output circuitry 42. The input-output circuitry 42 may be used to enable the electronic device to enable input and output of data, i.e., to allow the electronic device to receive data from and also to allow the electronic device to output data from the electronic device to an external device. The input-output circuitry 42 may further include the sensor 32. The sensors 32 may include ambient light sensors, optical and capacitive based proximity sensors, touch sensors (e.g., optical based touch sensors and/or capacitive touch sensors, where the touch sensors may be part of a touch display screen or may be used independently as a touch sensor structure), acceleration sensors, and other sensors, among others.
Input-output circuitry 42 may also include one or more displays, such as display 14. The display 14 may include one or a combination of liquid crystal displays, organic light emitting diode displays, electronic ink displays, plasma displays, displays using other display technologies. The display 14 may include an array of touch sensors (i.e., the display 14 may be a touch display screen). The touch sensor may be a capacitive touch sensor formed by a transparent touch sensor electrode (e.g., an Indium Tin Oxide (ITO) electrode) array, or may be a touch sensor formed using other touch technologies, such as acoustic wave touch, pressure sensitive touch, resistive touch, optical touch, and the like, and the embodiments of the present application are not limited thereto.
The electronic device may also include an audio component. The audio component may be used to provide audio input and output functionality for the electronic device. Audio components in an electronic device may include speakers, microphones, buzzers, tone generators, and other components for generating and detecting sound.
The communication circuit may be used to provide the electronic device with the ability to communicate with external devices. The communication circuitry may include analog and digital input-output interface circuitry, and wireless communication circuitry based on radio frequency signals and/or optical signals. The wireless communication circuitry in the communication circuitry may include radio frequency transceiver circuitry, power amplifier circuitry, low noise amplifiers, switches, filters, and antennas. For example, the wireless Communication circuitry in the Communication circuitry may include circuitry to support Near Field Communication (NFC) by transmitting and receiving Near Field coupled electromagnetic signals. For example, the communication circuit may include a near field communication antenna and a near field communication transceiver. The communications circuitry may also include cellular telephone transceiver and antennas, wireless local area network transceiver circuitry and antennas, and the like.
The electronic device may further include a battery, power management circuitry, and other input-output units 40. The input-output unit 40 may include buttons, joysticks, click wheels, scroll wheels, touch pads, keypads, keyboards, cameras, light emitting diodes and other status indicators, etc.
A user may enter commands through input-output circuitry 42 to control the operation of the electronic device and may use output data of input-output circuitry 42 to enable receiving status information and other outputs from the electronic device.
Each functional module in each embodiment of the present invention may be integrated into one processing module, or each module may exist alone physically, or two or more modules are integrated into one module. The integrated module can be realized in a hardware mode, and can also be realized in a software functional module mode.
The integrated module, if implemented in the form of a software functional module and sold or used as a separate product, may be stored in a computer readable storage medium. Based on such understanding, the technical solution of the present invention, which is substantially or partly contributed by the prior art, or all or part of the technical solution may be embodied in a software product, which is stored in a storage medium and includes instructions for causing a computer device (which may be a personal computer, a server, or a network device) to perform all or part of the steps of the method according to the embodiments of the present invention. And the aforementioned storage medium includes: a U-disk, a removable hard disk, a Read-Only Memory (ROM), a Random Access Memory (RAM), a magnetic disk or an optical disk, and other various media capable of storing program codes.
It should be noted that, for the sake of simplicity, the above-mentioned method embodiments are described as a series of acts or combinations, but those skilled in the art should understand that the present invention is not limited by the described order of acts, as some steps may be performed in other orders or simultaneously according to the present invention. Further, those skilled in the art will appreciate that the embodiments described in this specification are presently considered to be preferred embodiments and that no single act or module is essential to the invention.
In the above embodiments, the descriptions of the respective embodiments have respective emphasis, and for parts that are not described in detail in a certain embodiment, reference may be made to related descriptions of other embodiments.
In the above description, for a person skilled in the art, there are variations on the specific implementation and application scope according to the ideas of the embodiments of the present application in the descriptions of the data transmission method and apparatus, the electronic device, and the readable storage medium provided by the present invention.

Claims (10)

1. A method of data transmission, the method comprising:
acquiring bandwidth requirements of data to be transmitted during actual transmission, and selecting at least two target links according to the bandwidth requirements and the bandwidth of each existing link;
slicing the data to be transmitted according to the data size of the data to be transmitted and the bandwidth of the target link to obtain first slice data which are sequentially arranged according to a slicing sequence;
determining the size of a sequence number pool according to the bandwidth of the target link;
sequentially distributing a sequence number to each first slice data according to the size of the sequence number pool to obtain each second slice data; the serial numbers in the serial number pool are recycled;
and sequentially sending the second slice data to a receiving end through the target link, wherein the receiving end is used for recombining the received second slice data.
2. The method of claim 1, wherein the determining the size of the sequence number pool according to the bandwidth of the target link comprises:
calculating the transmission time required by each target link for transmitting one piece of second slice data;
acquiring the maximum transmission time of the target link, and determining the quantity of second slice data which can be transmitted by each target link by taking the maximum transmission time as a standard;
and taking the total number of the second slice data which can be transmitted by each target link as the size of the sequence number pool.
3. The method according to claim 2, wherein said taking the total number of the second slice data that can be transmitted by each of the target links as the size of the sequence number pool comprises:
calculating the total number of the second slice data which can be transmitted by each target link;
and if the total number is greater than or equal to the number of the target links, determining that the total number is the size of the sequence number pool.
4. The method according to claim 1, wherein the slicing the data to be transmitted according to the data size of the data to be transmitted and the bandwidth of the target link to obtain first slice data sequentially arranged according to a slicing order comprises:
determining the maximum value and the minimum value of a data block contained in the data to be transmitted;
determining the size of the slice according to the maximum value, the minimum value and the bandwidth of the target link;
and slicing the data to be transmitted according to the slice size to obtain each piece of first slice data which is sequentially arranged according to the slice sequence.
5. The method of claim 4, wherein determining the slice size according to the maximum value, the minimum value, and the bandwidth of the target link comprises:
determining a difference between the maximum and minimum values;
when the difference is greater than a preset threshold value, determining whether the time required by the target link with the minimum bandwidth for transmitting the minimum value is less than a preset time, if so, determining the minimum value as the size of the slice, and if so, taking the size of data which can be transmitted by the target link with the minimum bandwidth in the preset time as the size of the slice;
and when the difference is smaller than a preset value, taking the size of data which can be transmitted by the target link with the minimum bandwidth in the preset time length as the size of the slice.
6. The method of claim 1, wherein the sequentially transmitting the second slice data to a receiving end through the target link comprises:
monitoring the target link;
and if the idle target link is monitored, sending the second slice data to the idle target link, and sending the second slice data to a receiving end through the idle target link.
7. A data transmission apparatus, characterized in that the apparatus comprises:
the acquisition and selection module is used for acquiring the bandwidth requirement of the data to be transmitted during actual transmission and selecting at least two target links according to the bandwidth requirement and the bandwidth of each existing link;
the slicing module is used for slicing the data to be transmitted according to the data size of the data to be transmitted and the bandwidth of the target link to obtain each piece of first slice data which are sequentially arranged according to a slicing sequence;
the allocation module is used for determining the size of the serial number pool according to the bandwidth of the target link; sequentially distributing a sequence number to each first slice data according to the size of the sequence number pool to obtain each second slice data; the serial numbers in the serial number pool are recycled;
and the sending module is used for sequentially sending the second slice data to a receiving end through the target link, and the receiving end is used for recombining the received second slice data.
8. The apparatus of claim 7, wherein the allocating module is further configured to calculate a transmission time required for each of the target links to transmit one piece of the second slice of data; acquiring the maximum transmission time of the target link, and determining the quantity of second slice data which can be transmitted by each target link by taking the maximum transmission time as a standard; and taking the total number of the second slice data which can be transmitted by each target link as the size of the sequence number pool.
9. An electronic device comprising a memory, a processor and a computer program stored on the memory and running on the processor, wherein the processor implements the steps of the data transmission method according to any one of claims 1 to 6 when executing the computer program.
10. A readable storage medium, on which a computer program is stored which, when being executed by a processor, carries out the steps of the data transmission method according to any one of claims 1 to 6.
CN201911016063.5A 2019-10-24 2019-10-24 Data transmission method and device, electronic equipment and readable storage medium Active CN110769465B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911016063.5A CN110769465B (en) 2019-10-24 2019-10-24 Data transmission method and device, electronic equipment and readable storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911016063.5A CN110769465B (en) 2019-10-24 2019-10-24 Data transmission method and device, electronic equipment and readable storage medium

Publications (2)

Publication Number Publication Date
CN110769465A CN110769465A (en) 2020-02-07
CN110769465B true CN110769465B (en) 2023-03-24

Family

ID=69333278

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911016063.5A Active CN110769465B (en) 2019-10-24 2019-10-24 Data transmission method and device, electronic equipment and readable storage medium

Country Status (1)

Country Link
CN (1) CN110769465B (en)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113253942B (en) * 2021-06-25 2022-12-20 深圳小米通讯技术有限公司 File writing method and device, file reading method and device, equipment and medium
CN113630808A (en) * 2021-08-05 2021-11-09 神州融安科技(北京)有限公司 Data transmission method, first device and second device
CN113973125A (en) * 2021-10-26 2022-01-25 杭州博盾习言科技有限公司 Communication method and device in federal learning, electronic equipment and storage medium
CN116527510A (en) * 2022-01-20 2023-08-01 北京邮电大学 Model transmission method, device, electronic equipment and readable storage medium
CN115002133B (en) * 2022-05-31 2023-06-09 为准(北京)电子科技有限公司 Data transmission determining method and device based on multiple interfaces
CN115865786A (en) * 2022-06-22 2023-03-28 中国南方电网有限责任公司超高压输电公司 Multi-network aggregated data slice based on LACP and transmission method
CN115580588B (en) * 2022-10-08 2023-06-20 北京算网技术有限公司 Efficient data transmission method and system
CN116701287B (en) * 2023-08-09 2023-12-08 西安甘鑫科技股份有限公司 PCIE-based multi-device compatible device expansion method
CN116760512B (en) * 2023-08-17 2023-11-17 上海朗力半导体有限公司 HARQ retransmission control method and device for Multi-Link
CN117493248B (en) * 2023-12-29 2024-04-05 苏州元脑智能科技有限公司 USB data transmission method, device, system, electronic equipment and storage medium

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6160819A (en) * 1998-02-19 2000-12-12 Gte Internetworking Incorporated Method and apparatus for multiplexing bytes over parallel communications links using data slices
CN101867573A (en) * 2010-05-12 2010-10-20 华为技术有限公司 Data sending method, device and communication system
WO2014101068A1 (en) * 2012-12-27 2014-07-03 华为技术有限公司 Method for realizing multi-wireless-mode communication and user equipment
CN104954206A (en) * 2015-07-31 2015-09-30 重庆邮电大学 Disorder analyzing method for multipath parallel transmission system
WO2016106497A1 (en) * 2014-12-29 2016-07-07 华为技术有限公司 Method, device, terminal device and system for adjusting working state of aggregated link
CN108966259A (en) * 2018-07-18 2018-12-07 中国电子科技集团公司第二十八研究所 A kind of anti-jamming transmission method based on network code

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8347199B2 (en) * 2009-01-21 2013-01-01 Cisco Technology, Inc. Enhanced error detection in multilink serdes channels

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6160819A (en) * 1998-02-19 2000-12-12 Gte Internetworking Incorporated Method and apparatus for multiplexing bytes over parallel communications links using data slices
CN101867573A (en) * 2010-05-12 2010-10-20 华为技术有限公司 Data sending method, device and communication system
WO2014101068A1 (en) * 2012-12-27 2014-07-03 华为技术有限公司 Method for realizing multi-wireless-mode communication and user equipment
WO2016106497A1 (en) * 2014-12-29 2016-07-07 华为技术有限公司 Method, device, terminal device and system for adjusting working state of aggregated link
CN104954206A (en) * 2015-07-31 2015-09-30 重庆邮电大学 Disorder analyzing method for multipath parallel transmission system
CN108966259A (en) * 2018-07-18 2018-12-07 中国电子科技集团公司第二十八研究所 A kind of anti-jamming transmission method based on network code

Also Published As

Publication number Publication date
CN110769465A (en) 2020-02-07

Similar Documents

Publication Publication Date Title
CN110769465B (en) Data transmission method and device, electronic equipment and readable storage medium
CN107391259B (en) Resource processing method and device, computer readable storage medium and mobile terminal
EP3531290B1 (en) Data backup method, apparatus, electronic device, storage medium, and system
CN108984064B (en) Split screen display method and device, storage medium and electronic equipment
EP3407177B1 (en) Method for capturing fingerprint and associated products
CN106708554B (en) Program operating method and device
CN109240551B (en) Method for controlling electronic device by using gestures and related product
CN110475020B (en) Equipment control method and related product
CN108683444B (en) Data transmission method and related product
CN109348055B (en) Display control method, display control device, electronic apparatus, and readable storage medium
CN111338745B (en) Deployment method and device of virtual machine and intelligent device
CN110837343B (en) Snapshot processing method and device and terminal
CN109150326A (en) Antenna impedance adjustment method, electronic device and computer readable storage medium
CN109684011B (en) Interface display control method, electronic device and computer readable storage medium
CN104133761A (en) Memory usage analysis method, device and system of mobile terminal
CN106569916A (en) Data backup method and mobile terminal
CN109117370B (en) Game testing method and related product
CN110611347A (en) Charging control method and related product
CN106547400B (en) Method, device and terminal for reporting information
US10283074B2 (en) Method and apparatus for allocating information display amount
CN104717283A (en) File downloading control method, terminal and logic processing server
CN111488123B (en) Storage space management method and device, storage medium and mobile terminal
CN110716908A (en) Log information writing method, system, storage medium and mobile terminal
CN112217938B (en) Business card sharing method and related products
CN110875810B (en) Carrier aggregation configuration method and related products

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