Dynamic data transmission method and device, equipment and storage medium
By dynamically adjusting the transmission window size and retransmission mechanism of the underwater communication network, the problems of bandwidth waste and retransmission lag caused by fixed window size are solved, thereby improving the data transmission efficiency and reliability of the underwater communication network.
Patent Information
- Application Number
- CN202510862162.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-06-25
- Publication Date
- 2025-11-07
AI Technical Summary
In existing underwater communication networks, the fixed window size mechanism cannot be dynamically adjusted according to the receiver's actual data reconstruction needs, resulting in bandwidth waste and retransmission delays, which affect data transmission efficiency and reliability.
By predicting the minimum number of data packets required for the data receiver to reconstruct the original data block, the window size of the transmission window is dynamically adjusted, and the window is moved or a retransmission mechanism is executed based on the feedback frame information to achieve dynamic adjustment.
It significantly improves channel utilization, optimizes data transmission efficiency, reduces unnecessary retransmissions, and enhances the stability and reliability of the system in dynamic topology environments.
Smart Images

Figure CN120915732A_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the technical field of data transmission of underwater communication networks, and in particular to a dynamic data transmission method, device, equipment and storage medium. BACKGROUND
[0002] Underwater communication relies on acoustic wave transmission and faces challenges such as multipath effect and node mobility. The existing underwater communication network data transmission adopts a fixed window size mechanism, such as a fixed window retransmission mechanism, which allocates transmission time slots through time division multiplexing.
[0003] However, the window size of this mechanism is fixed and cannot be dynamically adjusted according to the actual data reconstruction needs of the receiver. For example, when the receiver only needs 5 retransmission packets, 10 are still sent, resulting in a 50% waste of bandwidth and low channel utilization.
[0004] Due to the existing fixed window size mechanism, in the low rate scenario, window resources are wasted, and in the high rate scenario, retransmission is delayed, making it difficult to meet the actual needs of the receiver, thereby seriously affecting the data transmission efficiency and reliability of the underwater communication network. Therefore, how to effectively solve the efficient transmission of data in the dynamic topology and low bandwidth environment of underwater WiFi networks is a technical problem that needs to be solved at present. SUMMARY
[0005] The present application provides a dynamic data transmission method, device, equipment and storage medium, which can effectively avoid the common bandwidth waste problem in the fixed window mechanism by dynamically adjusting the size of the transmission window.
[0006] In a first aspect, the present application provides a dynamic data transmission method, comprising: predicting the minimum number of data packets required by a data receiver to reconstruct an original data block, and dynamically adjusting the window size of a transmission window based on the minimum number of data packets; sending data packets in the original data block in the transmission window to the data receiver, and receiving feedback frame information returned by the data receiver; based on the feedback frame information, moving the transmission window to continue sending data packets in the original data block or executing a retransmission mechanism.
[0007] In one possible implementation, the minimum number of data packets required by the data receiver to reconstruct the original data block comprises: obtaining the number of original data packets of the original data block; and determining the error correction probability based on the historical error rate of the channel; inputting the number of original data packets and the error correction probability into a pre-trained prediction model to obtain the minimum number of data packets required by the data receiver to reconstruct the original data packet; wherein the prediction model is as follows:
[0008] E(X) = n(1 + β)p;
[0009] In the formula, E(X) is the minimum number of data packets, n is the number of original data packets, p is the erasure probability, and β is the proportion of redundant packets.
[0010] In one possible implementation, after sending the data packets from the original data block within the transmission window to the data receiver, the method further includes: the data receiver decoding the received data packets; when the decoding result is successful, sending a feedback frame to the data sender, wherein the feedback frame is a denial frame and contains the number of the unsuccessfully received data packets; when the decoding result is successful, sending a feedback frame to the data sender, wherein the feedback frame is an acknowledgment frame and contains the number of the last successfully received data packet.
[0011] In one possible implementation, based on the feedback frame information, the transmission window is moved to continue sending data packets in the original data block or to execute a retransmission mechanism, including: when the feedback frame information is the denial frame information, obtaining the number of the unsuccessfully received data packet in the denial frame information, and executing a data packet retransmission mechanism for the target data packet corresponding to the unsuccessfully received data packet number; when the feedback frame information is the acknowledgment frame information, obtaining the last data packet number in the acknowledgment frame information, and determining whether the data packets in the original data block have been transmitted completely based on the last data packet number; if not, the transmission window is moved to continue sending data packets in the original data block.
[0012] In one possible implementation, before predicting the minimum number of data packets required for the data receiver to reconstruct the original data block, the method further includes: obtaining channel dynamic parameters, calculating the data block size based on the channel dynamic parameters, and performing data block processing on the original data packets based on the calculated data block size to obtain multiple original data blocks.
[0013] In one possible implementation, obtaining the channel dynamic parameters and calculating the data block size based on the channel dynamic parameters specifically includes: obtaining the node's moving speed, channel bandwidth, allowed transmission time, and single data packet length; inputting the moving speed, the channel bandwidth, the allowed transmission time, and the single data packet length into a preset calculation formula for the data block size to obtain the data block size, wherein the calculation formula for the data block size is as follows:
[0014] n block = (BT) / L(1+v / c);
[0015] In the formula, n block Where is the data block size, B is the channel bandwidth, T is the allowed transmission time, L is the single data packet length, v is the moving speed, and c is the speed of sound.
[0016] In a possible implementation, after receiving the feedback frame information returned by the data receiver, the method further includes: receiving a data packet decoding time returned by the data receiver, comparing the data packet decoding time with a preset data packet decoding time threshold, and dynamically adjusting the channel dynamic parameter based on a comparison result.
[0017] In a second aspect, the present application provides a dynamic data transmission device, including: a prediction module, a data sending module and a feedback execution module; wherein the prediction module is configured to predict a minimum data packet number required by a data receiver to reconstruct an original data block, and dynamically adjust a window size of a transmission window based on the minimum data packet number; the data sending module is configured to send data packets in the original data block in the transmission window to the data receiver, and receive feedback frame information returned by the data receiver; and the feedback execution module is configured to move the transmission window based on the feedback frame information, and continue to send the data packets in the original data block or execute a retransmission mechanism.
[0018] In a third aspect, the present application further provides a computer device including a memory and a processor, wherein the memory stores a computer program, and the processor implements the above method when executing the computer program.
[0019] In a fourth aspect, the present application further provides a computer readable storage medium, wherein the storage medium stores a computer program, and the computer program can implement the above method when executed by a processor.
[0020] The present application provides a method and device for dynamic data transmission, which has the following advantages compared with the prior art:
[0021] By predicting a minimum data packet number required by a data receiver to reconstruct an original data block, and dynamically adjusting a window size of a transmission window based on the minimum data packet number, sending data packets in the original data block in the transmission window to the data receiver, and receiving feedback frame information returned by the data receiver, moving the transmission window based on the feedback frame information, and continuing to send the data packets in the original data block or executing a retransmission mechanism, compared with the prior art, the technical solution of the present application accurately adjusts the window size according to the actual demand of the receiver, and only sends necessary data packets, thereby significantly improving the channel utilization rate; at the same time, by receiving the feedback frame information and moving the transmission window or executing the retransmission mechanism accordingly, the network state can be adapted in real time, the data transmission efficiency is further optimized, unnecessary retransmission is reduced, energy consumption is reduced, and the stability and reliability of the system in a dynamic topology environment are improved. BRIEF DESCRIPTION OF DRAWINGS
[0022] The accompanying drawings, which are incorporated herein and constitute part of the specification, illustrate embodiments consistent with the application and, together with the description, further serve to explain the principles of the application.
[0023] In order to more clearly demonstrate the embodiments of the present application or the technical solutions in the prior art, the drawings required to be used in the embodiments or the prior art description will be briefly introduced below. Obviously, for those skilled in the art, other drawings can also be obtained without creative labor based on these drawings.
[0024] One or more embodiments are illustrated by way of example in the drawings that are not intended to be limiting of the application, and the same or similar reference numbers in different drawings represent the same or similar elements unless otherwise stated. The drawings are for purposes of illustrating the embodiments of the present application and are not for purposes of limiting the same.
[0025] Figure 1 is a flow diagram of one embodiment of a dynamic data transmission method provided by the present application;
[0026] Figure 2 is a structural diagram of one embodiment of a dynamic data transmission device provided by the present application;
[0027] Figure 3 is a structural diagram of a computer device provided by the present application. DETAILED DESCRIPTION
[0028] In order to make the objects, technical solutions and advantages of the embodiments of the present application clearer, the technical solutions in the embodiments of the present application will be described clearly and completely below with reference to the drawings in the embodiments of the present application. Obviously, the described embodiments are only a part of the embodiments of the present application, rather than all the embodiments of the present application. Based on the embodiments in the present application, all other embodiments obtained by those skilled in the art without creative labor fall within the scope of protection of the present application.
[0029] The following disclosure provides many different embodiments, or examples, for implementing different structures of the present application. For the purpose of simplifying the present application, the components and settings of specific examples are described in the following. Of course, they are only examples, and the purpose is not to limit the present application. In addition, the present application can repeatedly refer to numbers and / or letters in different examples. Such repetition is for the purpose of simplification and clarity, and it does not indicate the relationship between the various embodiments and / or settings discussed.
[0030] It should be understood that the terms "comprises" and "comprising," when used in this specification and the following claims, indicate the presence of the described features, integers, steps, operations, elements, and / or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and / or groups thereof.
[0031] It should also be understood that the terms used in the specification and the following claims are intended to describe specific embodiments and do not intend to limit the application. As used in the specification and the appended claims, the singular forms "a," "an," and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise.
[0032] It should further be understood that the term "and / or" used in the specification and the following claims indicates one or more of the associated listed items, as well as all possible combinations of these items, and includes these combinations.
[0033] As used in the specification and the appended claims, the term "if' can be interpreted as meaning "when" or "once" or "in response to a determination" or "in response to a detection" depending on the context. Similarly, the phrase "if determined" or "if detected [the described condition or event]" can be interpreted to mean "once determined" or "in response to a determination" or "once detected [the described condition or event]" or "in response to a detection [the described condition or event]" depending on the context.
[0034] Embodiment 1, see Figure 1 , Figure 1 is a flowchart of an embodiment of a dynamic data transmission method provided by the present application, as shown in Figure 1 The method comprises steps 101-103, as follows:
[0035] Step 101: predicting the minimum number of data packets required by the data receiver to reconstruct the original data block, and dynamically adjusting the window size of the transmission window based on the minimum number of data packets.
[0036] Due to the influence of node movement, seawater medium change, etc. on underwater acoustic wave transmission, the parameters such as channel bandwidth and transmission delay exist real-time fluctuation, if a static data block division method with fixed block size is adopted, it will lead to imbalance between transmission rate and decoding rate, for example, when the node moves at high speed, such as AUV speed 2.5m / s, static block division may cause transmission delay fluctuation, resulting in decoding rate that cannot match, and the bit error rate is increased to 10-2 level.
[0037] And the movement of underwater nodes will change the node spacing, and then affect the propagation delay and Doppler shift, if using static block method, due to the lack of association between node moving speed, sound speed propagation delay and other parameters, it is difficult to adapt to dynamic topology changes, and may also lead to decoding delay or buffer overflow.
[0038] In an embodiment, before the minimum number of data packets required by the prediction data receiver to reconstruct the original data block, it further includes: obtaining channel dynamic parameters, calculating the data block size based on the channel dynamic parameters; based on the calculated data block size, the original data packets are subjected to data block processing to obtain a plurality of original data blocks.
[0039] Specifically, the moving speed of the node, the channel bandwidth, the allowed transmission time and the single data packet length are obtained; the moving speed, the channel bandwidth, the allowed transmission time and the single data packet length are input into a preset calculation block size calculation formula to obtain the data block size, wherein the calculation block size calculation formula is as follows:
[0040] n bock =(BT) / L(1+v / c);
[0041] In the formula, n block is the data block size, B is the channel bandwidth, T is the allowed transmission time, L is the single data packet length, v is the moving speed, and c is the sound speed.
[0042] Specifically, the moving speed of the node is collected in real time through underwater positioning technology and Doppler shift monitoring, and the channel bandwidth is dynamically obtained by using underwater channel detection algorithm; the sound speed is defaulted to be the standard value of seawater medium, which is 1500m / s.
[0043] Specifically, according to the calculated calculation block size, the original data packet sequence is divided into a plurality of equal-length data blocks in order, wherein each data block contains a calculation block size data packet.
[0044] In an embodiment, a cyclic redundancy check code is also attached to each data packet in the plurality of data blocks obtained after block processing, for the receiver to check the integrity.
[0045] In an embodiment, after obtaining a plurality of data blocks, the plurality of data blocks are transmitted to the data receiver respectively.
[0046] In an embodiment, the minimum number of data packets required by the prediction data receiver to reconstruct the original data block includes: obtaining the number of original data packets of the original data block; and determining the error correction probability based on the channel historical error rate; inputting the number of original data packets and the error correction probability into the pre-trained prediction model to obtain the minimum number of data packets required by the data receiver to reconstruct the original data packet.
[0047] Specifically, the prediction model is constructed based on a bipartite graph coding theory, wherein the bipartite graph coding is a Tornado code, the Tornado code satisfies that each redundant packet is generated by a small number of original data packets through an exclusive OR operation, forming a sparse graph structure, and the expansibility of the bipartite graph is utilized, that is, the number of neighbor nodes of any left subset is sufficient, to ensure that the receiver can reconstruct the original data with a high probability through a small number of redundant packets.
[0048] In an embodiment, the prediction model is as follows:
[0049] E(X)=n(1+β)p;
[0050] In the formula, E(X) is the minimum data packet number, n is the original data packet number, p is the error correction probability, and β is the redundant packet ratio.
[0051] Specifically, the channel historical error rate is calculated by counting the channel historical error rate, and the channel historical error rate or the mean value of the channel historical error rate is calculated as the experience coefficient ratio, which is used as the error correction probability for reflecting the data packet loss probability in the data transmission process.
[0052] Specifically, the redundant packet ratio is an empirical value of 0.2-0.5.
[0053] In an embodiment, when the window size of the transmission window is dynamically adjusted based on the minimum data packet number, the minimum data packet number is used as the window size of the transmission window.
[0054] Specifically, the sender sets the dynamic window size according to the minimum data packet number, for example, when it is predicted that 5 data packets need to be retransmitted, the transmission window is adjusted to 5 instead of a fixed 10.
[0055] When data transmission is performed, if the sender does not consider the propagation delay and directly slides the window according to a fixed time interval, it may cause the receiver to be unable to process the received data packet in time; for example, the sender may send a new data packet when the receiver has not completed the processing of the current data packet, thereby causing the buffer overflow or data loss of the receiver; therefore, in the embodiment, the node distance between the data sender and the data receiver is also obtained, the propagation delay is calculated based on the node distance, and the sliding time reference of the propagation window is adjusted based on the propagation delay.
[0056] Specifically, the node distance between the data sender and the data receiver is the real-time distance therebetween, which can be obtained through the underwater acoustic positioning technology.
[0057] Specifically, based on the node distance, the propagation delay is calculated by substituting the node distance into a preset propagation delay calculation formula, wherein the propagation delay calculation formula is τ=d / c, τ is the propagation delay, d is the node distance, and c is the sound speed.
[0058] Specifically, when the sliding time reference of the propagation window is adjusted based on the propagation delay, the sliding time reference can be adjusted to be not less than the transmission delay; for example, when the propagation delay is 2 seconds, the data sender can set the window sliding time reference to 2 seconds or slightly greater than 2 seconds to ensure that the data receiver has enough time to process the received data packets.
[0059] Step 102: Send the data packets in the original data block in the transmission window to the data receiver, and receive the feedback frame information returned by the data receiver.
[0060] In an embodiment, when sending the data packets in the original data block in the transmission window to the data receiver, all data packets in the original data block are numbered in sequence, and the data packets in the transmission window are sent to the data receiver through the underwater acoustic channel, wherein the data packets in the transmission window are sequentially numbered data packets, and each data packet includes a cyclic redundancy check code.
[0061] In an embodiment, the data receiver decodes the received data packets; when the decoding result is decoding success, the data receiver returns feedback frame information to the data sender, wherein the feedback frame information is negative acknowledgement frame information, and the negative acknowledgement frame information includes the number of unsuccessfully received data packets; when the decoding result is decoding success, the data receiver returns feedback frame information to the data sender, wherein the feedback frame information is acknowledgement frame information, and the acknowledgement frame information includes the number of the last successfully received data packet.
[0062] Specifically, when the data receiver decodes the received data packets, the data receiver receives acoustic signals through the underwater acoustic communication equipment and converts them into data signals, extracts data packets from the received signals, and performs cyclic redundancy check code verification on the extracted data packets; if the cyclic redundancy check code verification passes, it means that the extracted data packet is complete and correct; if the cyclic redundancy check code verification fails, it means that the data packet has not been received; after receiving the data packet, the data receiver performs encoding processing on the received data packet based on the erasure code to reconstruct the original data block, and determines the decoding result based on the reconstruction result of the original data block.
[0063] Specifically, if the data receiver successfully reconstructs the original data block, the data sender is sent an acknowledgement frame information indicating that the data has been correctly received, and the last data packet number of the successfully received data packet is contained in the acknowledgement frame information; as mentioned, the acknowledgement frame information can be represented as ACK:5.
[0064] Specifically, if the data receiver fails to successfully reconstruct the original data block, the data sender is sent a negative acknowledgement frame information indicating the unsuccessfully received data packet; and the data packet number of the lost or damaged data packet is contained in the negative acknowledgement frame information, so that the data sender can perform targeted retransmission; as mentioned, the negative acknowledgement frame information can be represented as NAK:3, 5, indicating that the third data packet and the fifth data packet are lost or damaged and need to be retransmitted.
[0065] Step 103: Based on the feedback frame information, the transmission window is moved to continue sending the data packets in the original data block or to perform a retransmission mechanism.
[0066] In an embodiment, when the feedback frame information is the negative acknowledgement frame information, the data packet retransmission mechanism is performed on the target data packet corresponding to the unsuccessfully received data packet number in the negative acknowledgement frame information.
[0067] Specifically, after the data sender receives the negative acknowledgement frame information, the data sender parses the negative acknowledgement frame information to obtain the unsuccessfully received data packet number, such as 3 and 5, and then performs the data packet retransmission mechanism on the target data packet corresponding to the unsuccessfully received data packet number, rather than the data packets in the entire transmission window.
[0068] Specifically, when the data sender receives the negative acknowledgement frame information and performs the data packet retransmission mechanism on the target data packet corresponding to the unsuccessfully received data packet number, the data sender also records the current data retransmission number. If the target data packet corresponding to the unsuccessfully received data packet number fails to be retransmitted, the data sender updates the current data retransmission number and compares the updated current data retransmission number with a preset data retransmission number threshold. If the updated current data retransmission number is less than the preset data retransmission number threshold, the data sender continues to perform the data packet retransmission mechanism on the target data packet corresponding to the unsuccessfully received data packet number. Otherwise, the data sender marks the target data packet corresponding to the unsuccessfully received data packet number as lost and notifies the upper layer protocol for processing, such as discarding or bypassing the route.
[0069] Specifically, only the actually lost data packets are retransmitted. Compared with the traditional fixed window retransmission, such as retransmitting the entire window, the channel utilization rate is improved by more than 40%, and redundant transmission is reduced.
[0070] In an embodiment, when the feedback frame information is the acknowledgement frame information, the last data packet number in the acknowledgement frame information is obtained, and whether the data packets in the original data block are completely transmitted is determined based on the last data packet number. If not, the transmission window is moved, and the data packets in the original data block are continuously transmitted.
[0071] Specifically, when the data sender receives the acknowledgement frame information and the data packets in the current original data block have not been completely transmitted, the transmission window is moved to the next group of data packets (for example, from 1-5 to 6-10), and the transmission of the subsequent data packets is continued.
[0072] In an embodiment, the data receiver also receives the data packet decoding time returned by the data receiver, compares the data packet decoding time with a preset data packet decoding time threshold, and dynamically adjusts the channel dynamic parameter based on the comparison result.
[0073] Specifically, when the data packet decoding time is compared with the preset data packet decoding time threshold, and the channel dynamic parameter is dynamically adjusted based on the comparison result, if the data packet decoding time is not greater than the preset data packet decoding time threshold, it is considered that the current channel dynamic parameter setting is reasonable, and the channel dynamic parameter is not adjusted; if the data packet decoding time is not greater than the preset data packet decoding time threshold, it is considered that the current channel dynamic parameter setting is unreasonable, and the channel dynamic parameter is dynamically adjusted.
[0074] Specifically, when the channel dynamic parameter is dynamically adjusted, the moving speed of the node and the allowed transmission time are adjusted to adjust the size of the data block calculated subsequently, for example, the size of the data block is reduced to reduce the complexity of data decoding of the data receiver.
[0075] In summary, the dynamic data transmission method provided by the present application can dynamically predict the demand of the data receiver through a mathematical model, can adaptively adjust the window size of the transmission window, can improve the channel utilization rate, and can calculate the size of the data block based on the channel dynamic parameter, can balance the transmission and decoding efficiency, and can enhance the network anti-topology change capability.
[0076] Embodiment 2, see Figure 2 , Figure 2 is a structural schematic diagram of an embodiment of a dynamic data transmission device provided by the present application. Corresponding to the above dynamic data transmission method, the present application also provides a dynamic data transmission device. The dynamic data transmission device includes a module for executing the above dynamic data transmission method, and the dynamic data transmission device can be configured in a desktop computer, a tablet computer, a laptop computer, and the like. Specifically, the dynamic data transmission device includes a prediction module 201, a data sending module 202, and a feedback execution module 203.
[0077] The prediction module 201 is configured to predict a minimum number of data packets required by a data receiver to reconstruct an original data block, and dynamically adjust a window size of a transmission window based on the minimum number of data packets.
[0078] The data sending module 202 is configured to send data packets in the original data block in the transmission window to the data receiver, and receive feedback frame information returned by the data receiver.
[0079] The feedback execution module 203 is configured to move the transmission window based on the feedback frame information, and continue to send the data packets in the original data block or execute a retransmission mechanism.
[0080] In an embodiment, the prediction module 201 is configured to predict the minimum number of data packets required by the data receiver to reconstruct the original data block, including: obtaining an original number of data packets in the original data block; determining an error correction probability based on a historical error rate of a channel; inputting the original number of data packets and the error correction probability into a pre-trained prediction model to obtain the minimum number of data packets required by the data receiver to reconstruct the original data packets; and wherein the prediction model is as follows:
[0081] E(X)=n(1+β)p;
[0082] In the formula, E(X) is the minimum number of data packets, n is the original number of data packets, p is the error correction probability, and β is a redundancy packet ratio.
[0083] In an embodiment, the dynamic data transmission device provided by the application further includes a decoding module.
[0084] In an embodiment, the decoding module is configured to decode the received data packets, and when the decoding result is a decoding success, return feedback frame information to the data sender, wherein the feedback frame information is negative acknowledgement frame information, and the negative acknowledgement frame information includes a number of unsuccessfully received data packets; and when the decoding result is a decoding success, return feedback frame information to the data sender, wherein the feedback frame information is acknowledgement frame information, and the acknowledgement frame information includes a number of successfully received last data packets.
[0085] In an embodiment, the prediction module 201 is configured to move the transmission window based on the feedback frame information, continue to send the data packets in the original data block or perform a retransmission mechanism, including: when the feedback frame information is the negative acknowledgement frame information, obtaining the unsuccessfully received data packet number in the negative acknowledgement frame information, performing a data packet retransmission mechanism on the target data packet corresponding to the unsuccessfully received data packet number; when the feedback frame information is the acknowledgement frame information, obtaining the last data packet number in the acknowledgement frame information, judging whether the data packets in the original data block are transmitted based on the last data packet number, and if not, moving the transmission window and continuing to send the data packets in the original data block.
[0086] In an embodiment, the dynamic data transmission device provided by the application further includes a data packet blocking module.
[0087] In an embodiment, the data packet blocking module is configured to obtain channel dynamic parameters, calculate a data block size based on the channel dynamic parameters, and perform data blocking processing on original data packets based on the calculated data block size to obtain a plurality of original data blocks.
[0088] In an embodiment, the data packet blocking module is configured to obtain channel dynamic parameters and calculate a data block size based on the channel dynamic parameters, and specifically includes: obtaining a moving speed of a node, a channel bandwidth, an allowed transmission time, and a single data packet length; inputting the moving speed, the channel bandwidth, the allowed transmission time, and the single data packet length into a preset calculation formula of a block size to obtain a data block size, wherein the calculation formula of the block size is as follows:
[0089] n block = (BT) / L (1 + v / c);
[0090] In the formula, n block is a data block size, B is a channel bandwidth, T is an allowed transmission time, L is a single data packet length, v is a moving speed, and c is a sound speed.
[0091] In an embodiment, the data packet blocking module is further configured to receive a data packet decoding time returned by the data receiver, compare the data packet decoding time with a preset data packet decoding time threshold, and dynamically adjust the channel dynamic parameters based on a comparison result.
[0092] The dynamic data transmission device can implement the dynamic data transmission method of the method embodiment. The optional items in the method embodiment are also applicable to this embodiment, and will not be described in detail here.
[0093] As shown in FIG. 1, Figure 3 Figure 3 Fig. 1 is a structural schematic diagram of a computer device provided in the present application; comprising a processor 111, a communication interface 112, a memory 113 and a communication bus 114, wherein the processor 111, the communication interface 112 and the memory 113 complete mutual communication through the communication bus 114, and the memory 113 is used for storing a computer program.
[0094] In an embodiment of the present application, the processor 111 is used for executing the program stored in the memory 113, and realizes the dynamic data transmission method provided by any one of the preceding method embodiments.
[0095] Those skilled in the art can understand that all or part of the processes in the above-mentioned method embodiments can be completed by a computer program instructing related hardware. The computer program can be stored in a storage medium, which is a computer readable storage medium. The computer program is executed by at least one processor in the computer system to realize the process steps of the above-mentioned method embodiments.
[0096] Therefore, the embodiments of the present application further provide a computer readable storage medium, which stores a computer program, and the computer program is executed by a processor to realize the steps of the dynamic data transmission method provided by any one of the preceding method embodiments.
[0097] The storage medium is an entity, non-transient storage medium, for example, can be a U disk, a mobile hard disk, a read-only memory (ROM), a magnetic disk or an optical disk and various entity storage media which can store program codes. The computer readable storage medium can be non-volatile or volatile.
[0098] Those skilled in the art can realize that the units and algorithm steps of each example described in combination with the embodiments disclosed herein can be realized in electronic hardware, computer software or combination of the two. In order to clearly illustrate the interchangeability of hardware and software, the components and steps of each example have been described in general in the above description. Whether the functions are executed in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of the present application.
[0099] In several embodiments provided in the present application, it should be understood that the disclosed apparatus and method can be implemented in other manners. For example, the described apparatus embodiments are merely schematic. For example, the division of the units is merely a logical function division. For example, a plurality of units or components can be combined or integrated into another system, or some features can be ignored or not executed. In a possible implementation process, the functions of the units can be implemented by using a process or a result of another process.
[0100] The steps in the method embodiments of the present application can be adjusted, combined and deleted according to actual needs. The units in the device embodiments of the present application can be combined, divided and deleted according to actual needs. In addition, each functional unit in each embodiment of the present application can be integrated in one processing unit, or each unit can exist physically, or two or more units can be integrated in one unit.
[0101] The integrated unit, if realized in the form of a software functional unit and sold or used as an independent product, can be stored in a storage medium. Based on such understanding, the technical solutions of the present application essentially or say the part that contributes to the prior art, or the whole or part of the technical solutions can be embodied in the form of a software product. The computer software product is stored in a storage medium, and includes a number of instructions for causing a computer device (which can be a personal computer, a terminal or a network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of the present application.
[0102] In the above embodiments, the description of each embodiment is focused on, and the parts not described in detail in a certain embodiment can be referred to the relevant description of other embodiments.
[0103] Obviously, those skilled in the art can make various modifications and variations to the present application without departing from the spirit and scope of the present application. Thus, these modifications and variations of the present application are intended to be included within the scope of the present application, and the claims of the present application and their equivalents. Therefore, the present application is intended to include all such modifications and variations.
[0104] The above description is merely specific embodiments of the present application, but the protection scope of the present application is not limited thereto. Any skilled person in the art can easily think of various equivalent modifications or replacements within the technical scope disclosed in the present application, and these modifications or replacements should be included in the protection scope of the present application. Therefore, the protection scope of the present application should be subject to the protection scope of the claims.
Claims
1. A dynamic data transmission method, characterized by, The method comprises the following steps: predicting the minimum number of data packets required by the data receiver to reconstruct the original data block, and dynamically adjusting the window size of the transmission window based on the minimum number of data packets; sending data packets in the original data block within the transmission window to the data receiver, and receiving feedback frame information returned by the data receiver; moving the transmission window based on the feedback frame information, and continuing to send data packets in the original data block or executing a retransmission mechanism.
2. The method of claim 1, wherein, The minimum number of data packets required by the data receiver to reconstruct the original data block comprises: obtaining the original number of data packets of the original data block, and determining the erasure probability based on the historical error rate of the channel; inputting the original number of data packets and the erasure probability into a pre-trained prediction model to obtain the minimum number of data packets required by the data receiver to reconstruct the original data block; wherein the prediction model is as follows: E(X) = n(1 + β)p; wherein E(X) is the minimum number of data packets, n is the original number of data packets, p is the erasure probability, and β is the redundancy packet ratio.
3. The method of claim 1, wherein, After sending the data packets in the original data block within the transmission window to the data receiver, the method further comprises the following steps: the data receiver decodes the received data packets; when the decoding result is decoding success, feeding back frame information to the data sender, wherein the feedback frame information is negative acknowledgement frame information, and the negative acknowledgement frame information contains the number of unsuccessfully received data packets; when the decoding result is decoding success, feeding back frame information to the data sender, wherein the feedback frame information is acknowledgement frame information, and the acknowledgement frame information contains the number of successfully received last data packets.
4. The method of claim 3, wherein, Moving the transmission window based on the feedback frame information, and continuing to send data packets in the original data block or executing a retransmission mechanism comprises: when the feedback frame information is the negative acknowledgement frame information, obtaining the number of unsuccessfully received data packets in the negative acknowledgement frame information, and executing a data packet retransmission mechanism for the target data packet corresponding to the number of unsuccessfully received data packets; when the feedback frame information is the acknowledgement frame information, obtaining the number of last data packets in the acknowledgement frame information, and based on the number of last data packets, judging whether the data packets in the original data block are transmitted completely, if not, moving the transmission window and continuing to send data packets in the original data block.
5. The method of claim 1, wherein, Before predicting the minimum number of data packets required by the data receiver to reconstruct the original data block, the method further comprises the following steps: obtaining channel dynamic parameters, and calculating the data block size based on the channel dynamic parameters; performing data block processing on the original data packets based on the calculated data block size to obtain a plurality of original data blocks.
6. The method of claim 1, wherein, The method of obtaining channel dynamic parameters and calculating the data block size based on the channel dynamic parameters comprises: obtaining the moving speed of the node, the channel bandwidth, the allowed transmission time, and the length of a single data packet; inputting the moving speed, the channel bandwidth, the allowed transmission time, and the length of a single data packet into a pre-set calculation formula of block size to obtain the data block size, wherein the calculation formula of block size is as follows: n bock = (BT) / L (1 + v / c); where n block is the data block size, B is the channel bandwidth, T is the allowed transmission time, L is the single packet length, v is the moving speed, and c is the sound speed.
7. The method of claim 6, wherein, The receiving the feedback frame information returned by the data receiver further comprises: receiving the data packet decoding time returned by the data receiver, comparing the data packet decoding time with a preset data packet decoding time threshold, and dynamically adjusting the channel dynamic parameter based on the comparison result.
8. A dynamic data transfer device, characterized by comprise: a prediction module, a data sending module and a feedback execution module; The prediction module is configured to predict the minimum number of data packets required by the data receiver to reconstruct the original data block, and dynamically adjust the window size of the transmission window based on the minimum number of data packets. The data sending module is configured to send the data packets in the original data block in the transmission window to the data receiver, and receive the feedback frame information returned by the data receiver. The feedback execution module is configured to move the transmission window based on the feedback frame information, continue to send the data packets in the original data block or execute the retransmission mechanism.
9. A computer device, comprising: The computer device comprises a memory and a processor, the memory stores a computer program, and the processor executes the computer program to realize the method in any one of claims 1-7.
10. A computer-readable storage medium, characterized in that, The storage medium stores a computer program, and the computer program can realize the method in any one of claims 1-7 when executed by a processor.
Citation Information
Cited By
Data interaction method and device and electronic equipment
CN121367702A