Data transmission method and apparatus, and storage medium and electronic device
By obtaining and utilizing the time information of data packets in UWB technology, generating and sending target data packets to adjust the reception timing of the receiver, the problem of low transmission efficiency of UWB technology in high-definition audio and low-latency transmission scenarios is solved, and more efficient data transmission is achieved.
Patent Information
- Application Number
- PCT/CN2023/122312
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-09-15
- Filing Date
- 2023-09-27
- Publication Date
- 2025-03-20
AI Technical Summary
The existing UWB technology has low transmission efficiency in high-definition audio and low-latency transmission scenarios, limiting its development in the field of audio transmission.
By acquiring the time information of the current second data packet and performing data processing based on the time information and the current first data packet, the target data packet is generated. Then, upon receiving the data transmission instruction, the target data packet is sent to the receiving end, so that the receiving end can adjust the reception timing of the next data packet according to the time information.
By adjusting the reception timing of the receiver end, the transmission timing of the transmitter end is aligned with the reception timing of the receiver end, thereby saving the total time required for data transmission and improving the data transmission efficiency.
Smart Images

Figure CN2023122312_20032025_PF_FP_ABST
Abstract
Description
Data transmission method, device, storage medium and electronic device
[0001] This application claims priority to the Chinese patent application filed with the China Patent Office on September 15, 2023, with application number CN2023112010732 and application name “Data transmission method, device, storage medium and electronic device”, all contents of which are incorporated by reference into this application. Technical Field
[0002] The present application relates to the technical field of data transmission, and in particular to a data transmission method, device, storage medium and electronic device. Background Art
[0003] Ultra-Wide Band (UWB) technology is a wireless communication technology that uses ultrashort pulses or extremely wideband continuous waves for data transmission. Due to its advantages such as high anti-interference capabilities, precise positioning capabilities, and excellent data transmission rates, it is gradually being applied to smart devices.
[0004] However, the current UWB technology is not mature enough. When UWB technology is applied to scenarios of high-definition audio and low-latency transmission, the advantages of UWB technology cannot be brought into play due to low transmission efficiency, which restricts the development of UWB technology in the field of audio transmission.
[0005] Summary of the Invention
[0006] The embodiments of the present application provide a data transmission method, device, storage medium and electronic device, which can improve data transmission efficiency.
[0007] In a first aspect, an embodiment of the present application provides a data transmission method, including:
[0008] Get the current source data;
[0009] Splitting the current source data into at least two data packets and caching them in time sequence;
[0010] Obtaining time information of a current second data packet, where the current second data packet is a data packet arranged next to the current first data packet;
[0011] Performing data processing based on the time information and the current first data packet to generate a target data packet;
[0012] When a data sending instruction is received, the target data packet is sent to the receiving end, so that the receiving end adjusts the receiving timing of the next data packet according to the time information.
[0013] In the data transmission method provided in the embodiment of the present application, obtaining the time information of the current second data packet includes:
[0014] Obtaining the data packet length of the current second data packet;
[0015] The time information of the current second data packet is acquired according to the data packet length, where the time information includes a sending preparation time and an air transmission time of the current second data packet.
[0016] In the data transmission method provided in an embodiment of the present application, the performing of data processing based on the time information and the current first data packet to generate a target data packet includes:
[0017] Encapsulating the sending preparation time and the air transmission time to generate identification information;
[0018] The identification information is combined with the current first data packet to generate a target data packet.
[0019] In the data transmission method provided in an embodiment of the present application, upon receiving the data transmission instruction, after sending the target data packet to the receiving end so that the receiving end adjusts the reception timing of the next data packet according to the time information, the method further includes:
[0020] When receiving the confirmation information fed back by the receiving end, obtaining the first transmission efficiency and the second transmission efficiency of the target data packet;
[0021] After adjusting the lengths of the remaining data packets or when it is determined that the lengths of the remaining data packets are not to be adjusted, the process returns to the step of obtaining the time information of the current second data packet until all data packets are transmitted.
[0022] In a second aspect, an embodiment of the present application provides another data transmission method, including:
[0023] Receive the target data packet sent by the sender;
[0024] Obtaining identification information of the target data packet;
[0025] Decapsulating the identification information to generate time information of the target data packet;
[0026] The receiving timing of the next data packet is adjusted according to the time information so that its own receiving timing is aligned with the sending timing of the sending end.
[0027] In the data transmission method provided in an embodiment of the present application, after adjusting the reception timing of the next data packet according to the time information so that its own reception timing is aligned with the transmission timing of the transmitting end, it also includes:
[0028] Generate confirmation information and feed the confirmation information back to the sending end.
[0029] In a third aspect, an embodiment of the present application provides a data transmission device, including:
[0030] A first acquiring unit, configured to acquire current source data;
[0031] A data splitting unit, configured to split the current source data into at least two data packets and cache them in a time sequence;
[0032] A second acquiring unit, configured to acquire time information of a current second data packet, where the current second data packet is a data packet arranged next to the current first data packet;
[0033] a data processing unit, configured to perform data processing based on the time information and the current first data packet to generate a target data packet;
[0034] The data sending unit is used to send the target data packet to the receiving end when receiving the data sending instruction, so that the receiving end adjusts the receiving timing of the next data packet according to the time information.
[0035] In a fourth aspect, an embodiment of the present application provides another data transmission device, including:
[0036] A data receiving unit, configured to receive a target data packet sent by a sending end;
[0037] A third acquiring unit, configured to acquire identification information of the target data packet;
[0038] a data decapsulation unit, configured to decapsulate the identification information to generate time information of the target data packet;
[0039] The timing adjustment unit is used to adjust the receiving timing of the next data packet according to the time information so as to align its own receiving timing with the sending timing of the sending end.
[0040] In a fifth aspect, the present application provides a storage medium storing a plurality of instructions, wherein the instructions are suitable for loading by a processor to execute any of the above-mentioned data transmission methods.
[0041] In a sixth aspect, the present application provides 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 any of the above-described data transmission methods when executing the computer program.
[0042] In summary, the data transmission method provided by the embodiment of the present application includes obtaining the current source data; dividing the current source data into at least two data packets and caching them according to the timing; obtaining the time information of the current second data packet, the current second data packet being the next data packet arranged after the current first data packet; performing data processing based on the time information and the current first data packet to generate a target data packet; upon receiving a data sending instruction, sending the target data packet to the receiving end so that the receiving end adjusts the receiving timing of the next data packet according to the time information. This solution can obtain the time information of the current second data packet before sending the current first data packet, and generate a target data packet based on the time information and the current first data packet, and then send the target data packet to the receiving end so that the receiving end adjusts the receiving timing of the next data packet according to the time information, so that the sending timing of the sending end and the receiving timing of the receiving end are aligned, thereby saving the total time required for data transmission and improving data transmission efficiency. BRIEF DESCRIPTION OF THE DRAWINGS
[0043] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the following briefly introduces the drawings required for use in the description of the embodiments. Obviously, the drawings described below are only some embodiments of the present application. For those skilled in the art, other drawings can be obtained based on these drawings without creative work.
[0044] FIG1 is a schematic diagram of the structure of a data transmission system provided in an embodiment of the present application.
[0045] FIG2 is a flow chart of a data transmission method provided in an embodiment of the present application.
[0046] FIG3 is a flow chart of another data transmission method provided in an embodiment of the present application.
[0047] FIG4 is a schematic structural diagram of a data transmission device provided in an embodiment of the present application.
[0048] FIG5 is a schematic structural diagram of another data transmission device provided in an embodiment of the present application.
[0049] FIG6 is a schematic diagram of the structure of an electronic device provided in an embodiment of the present application. DETAILED DESCRIPTION
[0050] Exemplary embodiments will be described in detail herein, with examples illustrated in the accompanying drawings. In the following description, when referring to the drawings, identical numerals in different figures represent identical or similar elements, unless otherwise indicated. The embodiments described in the following exemplary embodiments are not intended to represent all embodiments consistent with the present application. Rather, they are merely examples of apparatus and methods consistent with certain aspects of the present application, as detailed in the appended claims.
[0051] It should be noted that, in this document, the terms "include", "comprises" or any other variations thereof are intended to cover non-exclusive inclusion, so that a process, method, article or device comprising a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or device. In the absence of further restrictions, an element defined by the sentence "comprising a ..." does not exclude the presence of other identical elements in the process, method, article or device comprising the element. In addition, components, features, and elements with the same name in different embodiments of the present application may have the same meaning or different meanings, and their specific meanings need to be determined by their explanation in the specific embodiment or further combined with the context of the specific embodiment.
[0052] It should be understood that the specific embodiments described herein are only used to explain the present application and are not used to limit the present application.
[0053] In the subsequent description, the use of suffixes such as "module", "component" or "unit" to represent elements is only for the purpose of facilitating the description of the present application and has no specific meaning. Therefore, "module", "component" or "unit" can be used interchangeably.
[0054] In the description of this application, it should be noted that the terms "upper," "lower," "left," "right," "inner," and "outer," etc., indicating orientations or positional relationships, are based on the orientations or positional relationships shown in the accompanying drawings and are intended solely to facilitate the description of this application and simplify the description. They are not intended to indicate or imply that the devices or components referred to must have a specific orientation, be constructed, or operate in a specific orientation. Therefore, they should not be construed as limitations on this application. Furthermore, terms such as "first" and "second," etc., are used for descriptive purposes only and should not be construed as indicating or implying relative importance.
[0055] The current UWB technology is not mature enough. When UWB technology is applied to scenarios of high-definition audio and low-latency transmission, the advantages of UWB technology cannot be brought into play due to low transmission efficiency, which restricts the development of UWB technology in the field of audio transmission.
[0056] Based on this, the embodiments of the present application provide a data transmission method, device, storage medium and electronic device. Specifically, the data transmission device can be integrated into an electronic device, which can be a server or a terminal; wherein the terminal can include a mobile phone, a wearable smart device, a tablet computer, a laptop computer, and a personal computer (PC); the server can be an independent physical server, or a server cluster or distributed system composed of multiple physical servers, or a cloud server that provides basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communications, middleware services, domain name services, security services, CDN, and big data and artificial intelligence platforms.
[0057] The following will describe the technical solutions of this application in detail through specific embodiments. It should be noted that the order of description of the following embodiments does not limit the priority order of the embodiments.
[0058] Please refer to Figure 1, which is a schematic diagram of the structure of a data transmission system provided in an embodiment of the present application. The data transmission system may include at least one transmitting end 1000 and at least one receiving end 2000.
[0059] The transmitting end 1000 can be connected to different receiving ends 2000 via a network. The transmitting end 1000 and the receiving end 2000 can be electronic devices with computing hardware that can support and execute software products corresponding to multimedia. It should be noted that the network can be a wireless network or a wired network, such as a wireless local area network (WLAN), a local area network (LAN), a cellular network, Bluetooth, a 2G network, a 3G network, a 4G network, a 5G network, etc.
[0060] In the embodiment of the present application, a transmitter 1000 and a receiver 2000 are connected to each other via UWB. The transmitter 1000 is a UWB transmitter, and the receiver 2000 is a UWB receiver. It should be noted that both the UWB transmitter and the UWB receiver can be electronic devices with UWB functionality.
[0061] During the specific implementation process, the sending end 1000 is used to send a data packet to the receiving end 2000, and the receiving end 2000 is used to receive the data packet sent by the sending end 1000 and feed back confirmation information to the sending end 1000.
[0062] In some embodiments, the transmitting end 1000 can be used to obtain audio data, and then segment the audio data to generate a number of data packets arranged in a time sequence. Afterwards, the current first data packet is processed to generate a target data packet. Afterwards, the transmitting end 1000 sends the target data packet to the receiving end 20000. It should be noted that the target data packet includes the time information of the current first data packet and the current second data packet. The current first data packet is the current head data packet, and the current second data packet is the next data packet arranged after the current first data packet. After the receiving end 2000 receives the target data packet, it can adjust the receiving timing of the next data packet according to the time information in the target data packet, so that the sending timing of the transmitting end 1000 is aligned with the receiving timing of the receiving end 2000.
[0063] That is, when the sending end 1000 starts to send a data packet, the receiving end 2000 is ready to receive the data packet; when the receiving end 2000 starts to feed back confirmation information, the sending end 1000 is ready to receive the confirmation information.
[0064] In summary, the data transmission system provided in the embodiment of the present application can send a target data packet carrying time information to the receiving end 2000 through the sending end 1000, so that the receiving end 2000 adjusts the receiving timing of the next data packet according to the time information, thereby aligning the sending timing of the sending end 1000 and the receiving timing of the receiving end 2000, saving the total time required for data transmission and improving data transmission efficiency.
[0065] Please refer to Figure 2, which is a flow chart of a data transmission method provided in an embodiment of the present application. It should be noted that the data transmission method is applied to the sending end, and the specific flow of the data transmission method can be as follows:
[0066] 101. Get the current source data.
[0067] In the embodiment of the present application, the current source data is audio data. The audio data refers to data transmitted via audio. It should be noted that the audio data includes but is not limited to original lossless audio recorded in real time by an audio recording device with network functionality.
[0068] The audio recording device may be integrated into the transmitting end, and the transmitting end may directly obtain the audio data through the audio recording device. The audio recording device may also be a device independent of the transmitting end, and the audio data may be collected by the audio recording device, and then the transmitting end may obtain the audio data from the audio recording device through data exchange.
[0069] 102. Split the current source data into at least two data packets and cache them in time sequence.
[0070] In some embodiments, the current source data may be randomly segmented to obtain a number of data packets of equal or unequal lengths, each data packet then being compressed according to a first target compression ratio, and the compressed data packets being cached in time sequence.
[0071] It is understood that in the embodiment of the present application, the current source data is audio data, and therefore each data packet obtained by segmentation has a corresponding time sequence. In a specific implementation, each data packet can be stored in the corresponding buffer area in the order of the time sequence. For example, the data packet with the first time sequence is stored in the first buffer area, the data packet with the second time sequence is stored in the second buffer area, and the data packet with the third time sequence is stored in the third buffer area.
[0072] It should be noted that the first, second and third timings are sequentially increased. When sending data packets, the transmitting end sends the data packets in the first buffer area, the data packets in the second buffer area and the data packets in the third buffer area in sequence.
[0073] 103. Obtain time information of a current second data packet, where the current second data packet is the next data packet arranged after the current first data packet.
[0074] Specifically, the data packet length of the current second data packet may be obtained; and the time information of the current second data packet may be obtained according to the data packet length.
[0075] In some embodiments, the time information of a large number of data packets with different packet lengths can be sampled in advance, and then a data query table can be constructed based on the correspondence between the packet length and the time information. The packet length can then be input into the data query table for matching to obtain the corresponding time information.
[0076] It can be understood that the current first data packet refers to the data packet that is first in the current time sequence, and the current second data packet refers to the data packet that is second in the current time sequence.
[0077] It should be noted that the time information includes the sending preparation time and the air transmission time.
[0078] 104. Perform data processing based on the time information and the current first data packet to generate a target data packet.
[0079] Specifically, the sending preparation time and the air transmission time may be encapsulated to generate identification information; and then the identification information is merged with the current first data packet to generate a target data packet.
[0080] In the embodiment of the present application, the identification information is header information, that is, information placed in the header of a data packet.
[0081] 105. When receiving the data sending instruction, the target data packet is sent to the receiving end, so that the receiving end adjusts the receiving timing of the next data packet according to the time information.
[0082] When the sending preparation time of the target data packet arrives, the sending end will receive a data sending instruction to instruct the sending end to send the target data packet, so that the receiving end adjusts the receiving timing of the next data packet according to the time information, that is, the sending timing of the sending end and the receiving timing of the receiving end are aligned, thereby saving the total time required for data transmission and improving data transmission efficiency.
[0083] In some embodiments, after the target data packet is sent, the transmitting end may prepare to send the next data packet. In other words, after the target data packet is sent, the process may return to step 103 and continue until all data packets are sent.
[0084] In another embodiment, after receiving the target data packet, the receiving end generates corresponding confirmation information and feeds it back to the transmitting end. The transmitting end can determine the current transmission status by counting the confirmation information from the receiving end within a preset time period, thereby confirming whether the packet length of the remaining data packets needs to be adjusted. The confirmation information carries the first transmission efficiency of the target data packet.
[0085] In a specific implementation process, after receiving the confirmation information, the receiving end can obtain the second transmission efficiency of the target data packet, thereby determining whether the first transmission efficiency is consistent with the second transmission efficiency, and confirming whether the data transmission efficiency is optimal.
[0086] Specifically, after step 105, it may also include: when receiving confirmation information fed back by the receiving end, obtaining the first transmission efficiency and the second transmission efficiency of the target data packet; comparing the first transmission efficiency and the second transmission efficiency, and confirming whether to adjust the packet length of the remaining data packets based on the comparison result; after adjusting the packet length of the remaining data packets or when it is determined that the packet length of the remaining data packets is not adjusted, returning to the step of obtaining the time information of the current second data packet until the transmission of all data packets is completed.
[0087] It should be noted that the first transmission efficiency is the target data transmission efficiency calculated by the receiving end based on the target data packet receiving cycle, data packet size, index continuity in the identification information, etc. The second transmission efficiency is the data transmission efficiency of the sending end itself.
[0088] It is understood that when the first transmission efficiency and the second transmission efficiency are consistent, the data transmission efficiency between the receiving end and the transmitting end is optimal. In this case, there is no need to adjust the packet lengths of the remaining data packets, and the process can directly return to step 103. When the first transmission efficiency and the second transmission efficiency are inconsistent, the data transmission efficiency between the receiving end and the transmitting end is not optimal. In this case, the number of inconsistencies can be counted, and when the number of inconsistencies reaches a threshold, the packet lengths of the remaining data packets can be adjusted. After the packet lengths of the remaining data packets are adjusted, the process can return to step 103.
[0089] That is, when the number of times the first transmission efficiency and the second transmission efficiency are inconsistent does not reach the threshold, there is no need to adjust the data packet lengths of the remaining data packets, and the process can directly return to step 103 .
[0090] It should be noted that the threshold value can be set according to actual conditions and is not limited in the present embodiment. For example, the threshold value can be 1 time, 2 times, 3 times, 4 times, 5 times, etc.
[0091] It can be understood that in the specific implementation process, the data packet length can be adjusted by decompressing or recompressing the remaining data packets according to the second target compression ratio, so as to achieve dynamic adjustment of the compression ratio of the data packet according to the current transmission status, thereby improving the flexibility of data transmission, so that multiple data packets can be transmitted in a timely manner, improving the efficiency of data transmission, and thus overcoming the problem of low data transmission efficiency in related technologies.
[0092] It should be noted that the compression ratio includes, but is not limited to, corresponding to a compression format. That is, when compressing or decompressing a data packet, the compression format used is adjusted, thereby achieving a target compression format (having a target compression ratio) whose compression ratio is compatible with the current transmission conditions by using different compression formats.
[0093] In summary, the data transmission method provided by the embodiment of the present application includes obtaining the current source data; dividing the current source data into at least two data packets and caching them according to the timing; obtaining the time information of the current second data packet, the current second data packet being the next data packet arranged after the current first data packet; performing data processing based on the time information and the current first data packet to generate a target data packet; upon receiving a data sending instruction, sending the target data packet to the receiving end so that the receiving end adjusts the receiving timing of the next data packet according to the time information. This solution can obtain the time information of the current second data packet before sending the current first data packet, and generate a target data packet based on the time information and the current first data packet, and then send the target data packet to the receiving end so that the receiving end adjusts the receiving timing of the next data packet according to the time information, so that the sending timing of the sending end and the receiving timing of the receiving end are aligned, thereby saving the total time required for data transmission and improving data transmission efficiency.
[0094] Referring to FIG. 3 , another embodiment of the present application further provides another data transmission method. It should be noted that this data transmission method is applied to the receiving end. The specific process of this data transmission method may be as follows:
[0095] 201. Receive a target data packet sent by a sender.
[0096] 202. Obtain identification information of the target data packet.
[0097] 203. Decapsulate the identification information to generate time information of the target data packet.
[0098] 204. Adjust the receiving timing of the next data packet according to the time information to align the receiving timing of the own end with the sending timing of the sender.
[0099] In some embodiments, after receiving the target data packet, the receiving end generates corresponding confirmation information and feeds it back to the transmitting end. The transmitting end can determine the current transmission status by counting the confirmation information from the receiving end within a preset time period, thereby confirming whether the packet length of the remaining data packets needs to be adjusted. The confirmation information carries the first transmission efficiency of the target data packet. That is, after step 104, the following steps may also be included:
[0100] Generate confirmation information and feed it back to the sender.
[0101] It should be noted that the first transmission efficiency is the target data transmission efficiency calculated by the receiving end according to data such as the receiving period of the target data packet, the data packet size, and the index continuity in the identification information.
[0102] In summary, the data transmission method provided in the embodiments of the present application includes receiving a target data packet sent by a transmitter, obtaining identification information of the target data packet, decapsulating the identification information, generating time information of the target data packet, and adjusting the reception timing of the next data packet based on the time information to align the receiving timing of the next data packet with the sending timing of the transmitter. After receiving the target data packet, this solution can adjust the reception timing of the next data packet based on the time information in the target data packet, so that the sending timing of the transmitter and the receiving timing of the receiver are aligned, thereby saving the total time required for data transmission and improving data transmission efficiency.
[0103] To facilitate better implementation of the data transmission method provided in the embodiment of the present application, the embodiment of the present application also provides a data transmission device. The meanings of the terms are the same as those in the above-mentioned data transmission method, and the specific implementation details can be referred to the description in the method embodiment.
[0104] Please refer to Figure 4, which is a schematic diagram of the structure of the data transmission device provided in an embodiment of the present application. The data transmission device may include a first acquisition unit 301, a data segmentation unit 302, a second acquisition unit 303, a data processing unit 304 and a data sending unit 305.
[0105] The first acquisition unit 301 is used to acquire current source data;
[0106] The data splitting unit 302 is used to split the current source data into at least two data packets and cache them in a time sequence;
[0107] A second acquiring unit 303 is configured to acquire time information of a current second data packet, where the current second data packet is the next data packet arranged after the current first data packet;
[0108] The data processing unit 304 is configured to perform data processing based on the time information and the current first data packet to generate a target data packet;
[0109] The data sending unit 305 is configured to send the target data packet to the receiving end upon receiving the data sending instruction, so that the receiving end adjusts the receiving timing of the next data packet according to the time information.
[0110] The specific implementation of each of the above units can be found in the embodiment of the above data transmission method, and will not be described in detail here.
[0111] In summary, the data transmission device provided by the embodiment of the present application can obtain the current source data through the first acquisition unit 301; the data segmentation unit 302 segments the current source data into at least two data packets and caches them according to the timing; the second acquisition unit 303 obtains the time information of the current second data packet, and the current second data packet is the next data packet arranged in the current first data packet; the data processing unit 304 performs data processing based on the time information and the current first data packet to generate a target data packet; the data sending unit 305 sends the target data packet to the receiving end when receiving the data sending instruction, so that the receiving end adjusts the receiving timing of the next data packet according to the time information. This solution can obtain the time information of the current second data packet before sending the current first data packet, and generate a target data packet based on the time information and the current first data packet, and then send the target data packet to the receiving end, so that the receiving end adjusts the receiving timing of the next data packet according to the time information, so that the sending timing of the sending end and the receiving timing of the receiving end are aligned, thereby saving the total time required for data transmission and improving data transmission efficiency.
[0112] Please refer to Figure 5. The embodiment of the present application also provides another data transmission device. The meanings of the terms are the same as those in the above-mentioned data transmission method. For specific implementation details, please refer to the description in the method embodiment. The data transmission device may include a data receiving unit 401, a third acquisition unit 402, a data decapsulation unit 403 and a timing adjustment unit 404.
[0113] The data receiving unit 401 is used to receive a target data packet sent by a sending end;
[0114] The third acquiring unit 402 is configured to acquire identification information of a target data packet;
[0115] The data decapsulation unit 403 is configured to decapsulate the identification information and generate time information of the target data packet;
[0116] The timing adjustment unit 404 is configured to adjust the receiving timing of the next data packet according to the time information so as to align its own receiving timing with the sending timing of the sending end.
[0117] The specific implementation of each of the above units can be found in the embodiment of the above data transmission method, and will not be described in detail here.
[0118] In summary, the data transmission device provided in the embodiment of the present application can receive the target data packet sent by the sender through the data receiving unit 401; the third acquisition unit 402 obtains the identification information of the target data packet; the data decapsulation unit 403 decapsulates the identification information to generate the time information of the target data packet; and the timing adjustment unit 404 adjusts the receiving timing of the next data packet according to the time information to align its own receiving timing with the sending timing of the sender. After receiving the target data packet, this solution can adjust the receiving timing of the next data packet according to the time information in the target data packet, so that the sending timing of the sender and the receiving timing of the receiver are aligned, thereby saving the total time required for data transmission and improving data transmission efficiency.
[0119] The present application also provides an electronic device, which may be integrated with the data transmission device of the present application. FIG6 shows a schematic diagram of the structure of the electronic device involved in the present application. Specifically:
[0120] The electronic device may include components such as a radio frequency (RF) circuit 601, a memory 602 including one or more computer-readable storage media, an input unit 603, a display unit 604, a sensor 605, an audio circuit 606, a wireless fidelity (WiFi) module 607, a processor 608 including one or more processing cores, and a power supply 609. It will be understood by those skilled in the art that the electronic device structure shown in FIG6 does not limit the electronic device and may include more or fewer components than shown, or combine certain components, or arrange the components differently. Among them:
[0121] The RF circuit 601 can be used to receive and send signals during information transmission or calls. In particular, after receiving downlink information from the base station, it is handed over to one or more processors 608 for processing; in addition, uplink data is sent to the base station. Generally, the RF circuit 601 includes but is not limited to an antenna, at least one amplifier, a tuner, one or more oscillators, a Subscriber Identity Module (SIM) card, a transceiver, a coupler, a low noise amplifier (LNA), a duplexer, etc. In addition, the RF circuit 601 can also communicate with the network and other devices through wireless communication. Wireless communication can use any communication standard or protocol, including but not limited to Global System of Mobile Communication (GSM), General Packet Radio Service (GPRS), Code Division Multiple Access (CDMA), Wideband Code Division Multiple Access (WCDMA), Long Term Evolution (LTE), email, Short Messaging Service (SMS), etc.
[0122] The memory 602 can be used to store software programs and modules. The processor 608 executes various functional applications and information processing by running the software programs and modules stored in the memory 602. The memory 602 may mainly include a program storage area and a data storage area, wherein the program storage area may store an operating system, an application required for at least one function (such as a sound playback function, an image playback function, etc.), etc.; the data storage area may store data created according to the use of the electronic device (such as audio data, a phone book, etc.). In addition, the memory 602 may include a high-speed random access memory, and may also include a non-volatile memory, such as at least one disk storage device, a flash memory device, or other volatile solid-state storage device. Accordingly, the memory 602 may also include a memory controller to provide the processor 608 and the input unit 603 with access to the memory 602.
[0123] The input unit 603 can be used to receive input digital or character information and generate keyboard, mouse, joystick, optical, or trackball signal input related to user settings and function control. Specifically, in one embodiment, the input unit 603 may include a touch-sensitive surface and other input devices. A touch-sensitive surface, also known as a touch display or touchpad, can detect user touch operations on or near it (for example, operations performed by a user using a finger, stylus, or any other suitable object or accessory on or near the touch-sensitive surface) and drive corresponding connected devices according to a pre-set program. Optionally, the touch-sensitive surface may include a touch detection device and a touch controller. The touch detection device detects the user's touch direction and detects signals generated by the touch operation, transmitting the signals to the touch controller. The touch controller receives the touch information from the touch detection device, converts it into touch point coordinates, and then sends it to the processor 608. It can also receive and execute commands from the processor 608. In addition, touch-sensitive surfaces can be implemented using various types, such as resistive, capacitive, infrared, and surface acoustic wave. In addition to the touch-sensitive surface, the input unit 603 may also include other input devices. Specifically, other input devices may include, but are not limited to, one or more of a physical keyboard, function keys (such as a volume control key, a switch key, etc.), a trackball, a mouse, a joystick, and the like.
[0124] The display unit 604 can be used to display information input by the user or information provided to the user and various graphical user interfaces of the electronic device. These graphical user interfaces can be composed of graphics, text, icons, videos and any combination thereof. The display unit 604 may include a display panel. Optionally, the display panel can be configured in the form of a liquid crystal display (LCD), an organic light-emitting diode (OLED), etc. Further, the touch-sensitive surface can cover the display panel. When the touch-sensitive surface detects a touch operation on or near it, it is transmitted to the processor 608 to determine the type of touch event. The processor 608 then provides a corresponding visual output on the display panel based on the type of touch event. Although in Figure 6, the touch-sensitive surface and the display panel are implemented as two independent components to implement input and output functions, in some embodiments, the touch-sensitive surface and the display panel can be integrated to implement input and output functions.
[0125] The electronic device may also include at least one sensor 605, such as a light sensor, a motion sensor, and other sensors. Specifically, the light sensor may include an ambient light sensor and a proximity sensor, wherein the ambient light sensor may adjust the brightness of the display panel according to the brightness of the ambient light, and the proximity sensor may turn off the display panel and / or backlight when the electronic device is moved to the ear. As a type of motion sensor, the gravity acceleration sensor can detect the magnitude of acceleration in all directions (generally three axes), and can detect the magnitude and direction of gravity when stationary. It can be used for applications that recognize the posture of the mobile phone (such as horizontal and vertical screen switching, related games, magnetometer posture calibration), vibration recognition related functions (such as pedometer, tapping), etc.; as for other sensors that the electronic device can also be configured with, such as gyroscopes, barometers, hygrometers, thermometers, infrared sensors, etc., they will not be described in detail here.
[0126] Audio circuit 606, speakers, and microphones provide an audio interface between the user and the electronic device. Audio circuit 606 converts received audio data into electrical signals and transmits them to the speaker, which then converts them into sound signals for output. The microphone, on the other hand, converts collected sound signals into electrical signals, which are then received by audio circuit 606 and converted into audio data. The audio data is then processed by output processor 608 and transmitted via RF circuit 601 to, for example, another electronic device. Alternatively, the audio data is output to memory 602 for further processing. Audio circuit 606 may also include an earphone jack to allow communication between external headphones and the electronic device.
[0127] WiFi is a short-range wireless transmission technology. Electronic devices can help users send and receive emails, browse web pages, and access streaming media through WiFi module 607, providing users with wireless broadband Internet access. Although FIG6 shows WiFi module 607, it is understood that it is not a required component of the electronic device and can be omitted as needed without changing the essence of the invention.
[0128] Processor 608 is the control center of the electronic device, connecting all parts of the phone using various interfaces and circuits. By running or executing software programs and / or modules stored in memory 602 and accessing data stored in memory 602, it performs various functions of the electronic device and processes data, thereby providing overall monitoring of the phone. Optionally, processor 608 may include one or more processing cores; preferably, processor 608 may integrate an application processor and a modem processor, where the application processor primarily handles the operating system, user interface, and application programs, while the modem processor primarily handles wireless communications. It is understood that the modem processor may not be integrated into processor 608.
[0129] The electronic device also includes a power supply 609 (e.g., a battery) for supplying power to various components. Preferably, the power supply can be logically connected to the processor 608 via a power management system, thereby enabling the power management system to manage charging, discharging, and power consumption. The power supply 609 can also include one or more DC or AC power supplies, a recharging system, a power failure detection circuit, a power converter or inverter, a power status indicator, and other arbitrary components.
[0130] Although not shown, the electronic device may further include a camera, a Bluetooth module, etc., which will not be described in detail here. Specifically, in this embodiment, the processor 608 in the electronic device will load the executable files corresponding to the processes of one or more application programs into the memory 602 according to the following instructions, and the processor 608 will run the application programs stored in the memory 602 to implement various functions, such as:
[0131] Get the current source data;
[0132] Split the current source data into at least two data packets and cache them in time sequence;
[0133] Obtaining time information of a current second data packet, where the current second data packet is the next data packet arranged after the current first data packet;
[0134] Performing data processing based on the time information and the current first data packet to generate a target data packet;
[0135] When a data sending instruction is received, the target data packet is sent to the receiving end so that the receiving end adjusts the receiving timing of the next data packet according to the time information.
[0136] Or for example:
[0137] Receive the target data packet sent by the sender;
[0138] Obtain identification information of the target data packet;
[0139] Decapsulate the identification information to generate time information of the target data packet;
[0140] Adjust the receiving timing of the next data packet according to the time information to align its own receiving timing with the sending timing of the sender.
[0141] In summary, the electronic device provided in the embodiments of the present application adopts the following methods: obtaining current source data; dividing the current source data into at least two data packets and caching them according to a time sequence; obtaining time information of the current second data packet, where the current second data packet is the next data packet arranged after the current first data packet; performing data processing based on the time information and the current first data packet to generate a target data packet; and upon receiving a data transmission instruction, sending the target data packet to a receiving end so that the receiving end adjusts the reception timing of the next data packet according to the time information. This solution can obtain the time information of the current second data packet before sending the current first data packet, and generate a target data packet based on the time information and the current first data packet. The target data packet is then sent to the receiving end so that the receiving end adjusts the reception timing of the next data packet according to the time information, so that the transmission timing of the transmitting end and the reception timing of the receiving end are aligned, thereby saving the total time required for data transmission and improving data transmission efficiency.
[0142] In the above embodiments, the description of each embodiment has its own focus. For the part that is not described in detail in a certain embodiment, please refer to the detailed description of the data transmission method above, which will not be repeated here.
[0143] It should be noted that, for the data transmission method in the embodiment of the present application, those skilled in the art can understand that all or part of the process of implementing the data transmission method in the embodiment of the present application can be completed by controlling the relevant hardware through a computer program. The computer program can be stored in a computer-readable storage medium, such as in the memory of the terminal, and executed by at least one processor in the terminal. During the execution process, it can include the process of the embodiment of the data transmission method.
[0144] For the data transmission device of the embodiment of the present application, its various functional modules can be integrated into a single processing chip, or each module can exist physically separately, or two or more modules can be integrated into a single module. The above-mentioned integrated modules can be implemented in the form of hardware or in the form of software functional modules. If the integrated modules are implemented in the form of software functional modules and sold or used as independent products, they can also be stored in a computer-readable storage medium.
[0145] To this end, an embodiment of the present application provides a storage medium storing a plurality of instructions that can be loaded by a processor to execute the steps of any of the data transmission methods provided in the embodiments of the present application. The storage medium can be a magnetic disk, an optical disk, a read-only memory (ROM), a random access memory (RAM), or the like.
[0146] The data transmission method, device, storage medium and electronic device provided by the present application are respectively introduced in detail above. Specific examples are used in this article to illustrate the principles and implementation methods of the present application. The description of the above embodiments is only used to help understand the core idea of the present application; at the same time, for technical personnel in this field, based on the idea of the present application, there will be changes in the specific implementation methods and application scope. In summary, the content of this specification should not be understood as a limitation on the present application.
Claims
1. A data transmission method, comprising: Get the current source data; Splitting the current source data into at least two data packets and caching them in time sequence; Acquire time information of a current second data packet, where the current second data packet is a next data packet arranged after the current first data packet; Perform data processing based on the time information and the current first data packet to generate a target data packet; When a data sending instruction is received, the target data packet is sent to the receiving end, so that the receiving end adjusts the receiving timing of the next data packet according to the time information.
2. The data transmission method according to claim 1, wherein: The obtaining time information of the current second data packet includes: Obtaining the data packet length of the current second data packet; The time information of the current second data packet is acquired according to the data packet length, where the time information includes the sending preparation time and the air transmission time of the current second data packet.
3. The data transmission method according to claim 2, wherein: The performing data processing based on the time information and the current first data packet to generate a target data packet includes: Encapsulating the sending preparation time and the air transmission time to generate identification information; The identification information is combined with the current first data packet to generate a target data packet.
4. The data transmission method according to claim 1, wherein: After the target data packet is sent to the receiving end upon receiving the data sending instruction so that the receiving end adjusts the receiving timing of the next data packet according to the time information, the method further includes: When receiving confirmation information fed back by the receiving end, obtaining a first transmission efficiency and a second transmission efficiency of the target data packet; comparing the first transmission efficiency and the second transmission efficiency, and determining whether to adjust the data packet length of the remaining data packets according to the comparison result; After the data packet lengths of the remaining data packets are adjusted or when it is determined that the data packet lengths of the remaining data packets are not adjusted, the step of obtaining the time information of the current second data packet is returned to be executed until all data packets are transmitted.
5. A data transmission method, comprising: Receive the target data packet sent by the sender; Obtaining identification information of the target data packet; Decapsulating the identification information to generate time information of the target data packet; The receiving timing of the next data packet is adjusted according to the time information so that its own receiving timing is aligned with the sending timing of the sending end.
6. The data transmission method according to claim 5, wherein: After adjusting the receiving timing of the next data packet according to the time information so that the receiving timing of the data packet itself is aligned with the sending timing of the sending end, the method further includes: Generate confirmation information, and feed the confirmation information back to the sending end.
7. A data transmission device, comprising: A first acquisition unit, used to acquire current source data; A data splitting unit, used for splitting the current source data into at least two data packets and caching them in time sequence; A second acquisition unit, used to acquire time information of a current second data packet, where the current second data packet is a data packet arranged next to the current first data packet; A data processing unit, configured to perform data processing based on the time information and the current first data packet to generate a target data packet; The data sending unit is used to send the target data packet to the receiving end when receiving the data sending instruction, so that the receiving end adjusts the receiving timing of the next data packet according to the time information.
8. A data transmission device, comprising: A data receiving unit, used for receiving a target data packet sent by a sending end; A third acquisition unit, used to acquire identification information of the target data packet; A data decapsulation unit, used for decapsulating the identification information to generate time information of the target data packet; The timing adjustment unit is used to adjust the receiving timing of the next data packet according to the time information so as to align its own receiving timing with the sending timing of the sending end.
9. A storage medium, wherein: The storage medium stores a plurality of instructions, and the instructions are suitable for being loaded by a processor to execute the data transmission method described in any one of claims 1-4 or 5-6.
10. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein: When the processor executes the computer program, the data transmission method according to any one of claims 1 to 4 or 5 to 6 is implemented.
Citation Information
Patent Citations
Method for releasing radio resource control connection, terminal equipment and storage medium
CN110505678A
Time information processing method, timing advance determination method and related equipment
CN111867073A
Data transmission method, data transmission device and related equipment
CN114337921A
Apparatus and method for controlling power
US20160212705A1