Underwater acoustic sensor network transmission method and device based on link interruption tolerance
By dynamically adjusting the RTS packet transmission parameters and data packet scheduling in the underwater acoustic sensor network, the problems of high transmission latency and low data packet delivery rate are solved, achieving more efficient data packet transmission and network throughput.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- XIAMEN UNIV
- Filing Date
- 2023-10-18
- Publication Date
- 2026-07-03
AI Technical Summary
In the design of existing underwater acoustic sensor network MAC protocols, the transmission latency is high, the data packet delivery rate is low, and most existing protocols remain at the routing design level of the network layer, failing to effectively utilize channel quality to dynamically adjust transmission parameters.
By determining the packet error rate and RTS packet transmission success rate during the handshake phase, the maximum number of RTS packet transmissions and the contention window size are dynamically adjusted. Combined with propagation delay and packet arrival order, CTS packets are generated for broadcasting to optimize packet transmission.
This improved the data packet delivery rate of the underwater acoustic sensor network, reduced transmission latency and energy loss, and increased network throughput.
Smart Images

Figure CN117595941B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of computer technology, and more specifically, to a method and apparatus for transmitting underwater acoustic sensor networks based on link interruption tolerance. Background Technology
[0002] In recent years, Underwater Acoustic Sensor Networks (UASNs) have gradually become an important method for marine development and have been widely used in various fields such as ship navigation, marine surveying, disaster early warning, and environmental monitoring. Static UASNs typically consist of multiple sensor nodes fixed underwater and receiving nodes located on the surface, communicating via sound waves. Improving packet delivery rate, and thus increasing throughput, is one of the main goals of MAC protocol design for underwater networks. In current technical solutions, the backoff mechanisms and retransmission schemes of existing MAC protocols are often designed based on packet transmission collisions. Protocol designs that consider link quality and transmission conflicts mostly remain at the network layer routing design level, which can easily lead to high transmission latency. Therefore, how to dynamically adjust transmission parameters based on channel quality to improve the packet delivery rate of UASNs has become an urgent technical problem to be solved. Summary of the Invention
[0003] The embodiments of this application provide a method and apparatus for transmitting underwater acoustic sensor networks based on link interruption tolerance, which can at least to some extent dynamically adjust transmission parameters based on channel quality to improve the data packet delivery rate of the underwater acoustic sensor network.
[0004] Other features and advantages of this application will become apparent from the following detailed description, or may be learned in part from practice of this application.
[0005] According to one aspect of the embodiments of this application, a transmission method for an underwater acoustic sensor network based on link interruption tolerance is provided, wherein the underwater acoustic sensor network includes a receiving node and a plurality of sensor nodes.
[0006] The method is applied to the receiving node and includes:
[0007] Based on the RTS packets sent by the sensor nodes received during this handshake phase, determine the packet error rate corresponding to the current communication link;
[0008] Based on the number of RTS packets that each sensor node should transmit during this handshake phase and the packet error rate, determine the RTS packet transmission success rate of each sensor node during this handshake phase.
[0009] Based on the packet error rate and the RTS packet transmission success rate of each sensor node, determine the maximum number of RTS packet transmissions and the contention window size for the sensor node in the next handshake phase.
[0010] Based on the RTS packets received during this handshake phase and the reception time of each RTS packet, the propagation delay between the receiving node and each of the sensor nodes, as well as the transmission delay corresponding to the sensor node with data transmission requirements, are determined.
[0011] Based on the propagation delay and transmission delay of each sensor node with data transmission requirements, the arrival order of data packets for each sensor node is determined, and the data packet transmission waiting time for each sensor node is determined based on the arrival order of the data packets.
[0012] CTS packets are generated and broadcast based on the maximum number of RTS packet transmissions, the contention window size, and the data packet transmission waiting time corresponding to each sensor node;
[0013] Receive data packets sent by each sensor node according to the CTS packet.
[0014] According to one aspect of the embodiments of this application, a transmission device for an underwater acoustic sensor network based on link interruption tolerance is provided, wherein the underwater acoustic sensor network includes a receiving node and a plurality of sensor nodes.
[0015] This device is used at a receiving node and is configured as follows:
[0016] Based on the RTS packets sent by the sensor nodes received during this handshake phase, determine the packet error rate corresponding to the current communication link;
[0017] Based on the number of RTS packets that each sensor node should transmit during this handshake phase and the packet error rate, determine the RTS packet transmission success rate of each sensor node during this handshake phase.
[0018] Based on the packet error rate and the RTS packet transmission success rate of each sensor node, determine the maximum number of RTS packet transmissions and the contention window size for the sensor node in the next handshake phase.
[0019] Based on the RTS packets received during this handshake phase and the reception time of each RTS packet, the propagation delay between the receiving node and each of the sensor nodes, as well as the transmission delay corresponding to the sensor node with data transmission requirements, are determined.
[0020] Based on the propagation delay and transmission delay of each sensor node with data transmission requirements, the arrival order of data packets for each sensor node is determined, and the data packet transmission waiting time for each sensor node is determined based on the arrival order of the data packets.
[0021] CTS packets are generated and broadcast based on the maximum number of RTS packet transmissions, the contention window size, and the data packet transmission waiting time corresponding to each sensor node;
[0022] Receive data packets sent by each sensor node according to the CTS packet.
[0023] According to one aspect of the embodiments of this application, a computer-readable medium is provided having a computer program stored thereon, which, when executed by a processor, implements the underwater acoustic sensor network transmission method based on link interruption tolerance as described in the above embodiments.
[0024] According to one aspect of the embodiments of this application, an electronic device is provided, including: one or more processors; and a storage device for storing one or more programs, which, when executed by the one or more processors, cause the one or more processors to implement the underwater acoustic sensor network transmission method based on link interruption tolerance as described in the above embodiments.
[0025] According to one aspect of the embodiments of this application, a computer program product or computer program is provided, which includes computer instructions stored in a computer-readable storage medium. A processor of a computer device reads the computer instructions from the computer-readable storage medium and executes the computer instructions, causing the computer device to perform the underwater acoustic sensor network transmission method based on link interruption tolerance provided in the above embodiments.
[0026] In some embodiments of this application, the technical solutions provide that, based on the RTS packets received by the sensor nodes during the current handshake phase, determine the packet error rate corresponding to the current communication link, and then determine the RTS packet transmission success rate of each sensor node during the current handshake phase. Based on the packet error rate and the RTS packet transmission success rate of each sensor node, determine the maximum number of RTS packet transmissions and the contention window size for the sensor node in the next handshake phase. Based on the RTS packets received during the current handshake phase and the reception time of each RTS packet, determine the propagation delay between the receiving node and each sensor node, as well as the transmission delay corresponding to the sensor node with data transmission needs. Based on the propagation delay and transmission delay corresponding to each sensor node with data transmission needs, determine the data packet arrival order corresponding to each sensor node, and determine the data packet transmission waiting time corresponding to each sensor node based on the data packet arrival order. Generate a CTS packet based on the maximum number of RTS packet transmissions, the contention window size, and the data packet transmission waiting time corresponding to each sensor node, and broadcast the CTS packet to receive data packets sent by each sensor node according to the CTS packet. Therefore, transmission parameters can be dynamically adjusted based on channel quality, thereby improving the data packet delivery rate of the underwater acoustic sensor network.
[0027] It should be understood that the above general description and the following detailed description are exemplary and explanatory only, and do not limit this application. Attached Figure Description
[0028] The accompanying drawings, which are incorporated in and form part of this specification, illustrate embodiments consistent with this application and, together with the description, serve to explain the principles of this application. It is obvious that the drawings described below are merely some embodiments of this application, and those skilled in the art can obtain other drawings based on these drawings without any inventive effort. In the drawings:
[0029] Figure 1 A schematic diagram of an exemplary system architecture to which the technical solutions of the embodiments of this application can be applied is shown;
[0030] Figure 2 A flowchart illustrating a transmission method for an underwater acoustic sensor network based on link interruption tolerance according to an embodiment of this application is shown.
[0031] Figure 3 A schematic diagram of the data format of a CTS packet according to an embodiment of this application is shown;
[0032] Figure 4 A schematic diagram of the structure of a computer system suitable for implementing the electronic device of the present application is shown. Detailed Implementation
[0033] Exemplary embodiments will now be described more fully with reference to the accompanying drawings. However, these exemplary embodiments can be implemented in many forms and should not be construed as limited to the examples set forth herein; rather, these embodiments are provided to make this application more comprehensive and complete, and to fully convey the concept of the exemplary embodiments to those skilled in the art.
[0034] Furthermore, the described features, structures, or characteristics can be combined in any suitable manner in one or more embodiments. Numerous specific details are provided in the following description to give a thorough understanding of embodiments of this application. However, those skilled in the art will recognize that the technical solutions of this application can be practiced without one or more of the specific details, or other methods, components, apparatuses, steps, etc., can be employed. In other instances, well-known methods, apparatuses, implementations, or operations are not shown or described in detail to avoid obscuring various aspects of this application.
[0035] The block diagrams shown in the accompanying drawings are merely functional entities and do not necessarily correspond to physically independent entities. That is, these functional entities can be implemented in software, in one or more hardware modules or integrated circuits, or in different network and / or processor devices and / or microcontroller devices.
[0036] The flowcharts shown in the accompanying drawings are merely illustrative and do not necessarily include all content and operations / steps, nor do they necessarily have to be performed in the described order. For example, some operations / steps can be broken down, while others can be combined or partially combined; therefore, the actual execution order may change depending on the specific circumstances.
[0037] Figure 1 A schematic diagram of an exemplary system architecture to which the technical solutions of the embodiments of this application can be applied is shown.
[0038] like Figure 1 As shown, the system architecture may include a receiving node (i.e., a surface sink node) and several underwater sensor nodes (hereinafter referred to as sensor nodes). The receiving node acts as a data collection device, while the sensor nodes act as data providing devices, randomly distributed underwater to collect data and transmit the data to the receiving node within a data collection cycle. Furthermore, the sensor nodes do not possess information about their own location, and time synchronization between them is not required; the receiving node knows the number of sensor nodes within its communication range. In this application's technical solution, since the spatiotemporal characteristics of acoustic channels often lead to link interruptions, thus affecting inter-node communication, the link packet error rate is used as a metric to characterize this.
[0039] Data collection is divided into notification scheduling and data transmission phases. During the notification scheduling phase, due to collisions and link interruptions, RTS packets may fail to reach the receiving node, resulting in a failed handshake and a lost transmission opportunity in this round of data collection. Therefore, the receiving node, considering the collision probability and the reception status of RTS packets, senses the channel quality and estimates the packet error rate of the communication link. This leads to the design of the number of RTS packets sent by the sensor nodes and the backoff mechanism during the handshake phase of the next data collection cycle, ensuring that as many sensor nodes within the communication range as possible access the channel within a single data collection cycle.
[0040] During the data transmission phase, the receiver determines the maximum number of retransmissions for data packets based on the channel quality sensed during the notification and scheduling phase, thereby improving the data packet delivery rate while balancing latency and throughput. The entire process mainly includes: the receiving node sending a data collection notification; the sensor node sending an RTS packet to request channel access; the receiving node calculating the backoff parameters and transmission count for the next round of RTS packets, as well as the scheduling information for the data transmission phase, and sending this information to the sensor node; the sensor node completing data transmission according to the scheduling information; and the receiving node entering the next round of data collection notification after collecting data, while the sensor node adjusting the transmission mode of the RTS packets based on the information received in the previous round.
[0041] Figure 2 A flowchart illustrating a link interruption-tolerant underwater acoustic sensor network transmission method according to an embodiment of this application is shown, which is applied to a receiving node.
[0042] like Figure 2 As shown, the method includes at least steps S210 to S270, which are described in detail below:
[0043] In step S210, the packet error rate corresponding to the current communication link is determined based on the RTS packets sent by the sensor nodes received during the current handshake phase.
[0044] In this embodiment, to complete data collection, the receiving node first establishes a handshake with the sensor nodes within its communication range to obtain the data transmission requirements and related information of the sensor nodes. After periodic data collection is triggered, the receiving node can broadcast m ORDER packets, where the initial value of m can be any number such as 5, to notify the sensor nodes to enter the handshake establishment phase. Assuming the maximum link packet error rate is no greater than 0.5, the probability of the ORDER packet being successfully received is calculated to be greater than 0.99, approximately 1. After the ORDER packet is broadcast, the receiving node enters the WF_RTS state and starts a timer with a duration of 2τ. max +2τ order ,in, R is the maximum propagation delay between the receiving node and the sensor node. maxτ is the longest propagation distance from the receiving node to the sensor node, c is the underwater speed of sound, and τ is the maximum propagation distance from the receiving node to the sensor node. order This refers to the transmission delay of the ORDER packet.
[0045] When sensor node i in any state receives an ORDER or ACK packet, it will enter the SEND_RTS state and start a timer. The timer duration is the backoff time τ set in the previous round. backoff,i-1 The timer is initially set to 0, and the initial number of RTS packets sent is 1. After the timer expires, the sensor node sends n (n≥1) RTS packets sequentially according to a pre-set timer. The sending time of each RTS packet is τ from the time the ORDER packet is received. backoff,i-1 , τ backoff,i-2 ......τ backoff,i-n In one example, the RTS packet includes the sending address of sensor node i, the receiving address of the receiving node, the sequence number of the current RTS packet in the RTS packets sent by the sensor node in this round of handshake phase (i.e., which RTS packet this sensor node has sent in this round of handshake phase), and the backoff time τ. backoff,i-n and the size d of the data packets to be transmitted. i If sensor node i has no data packets to transmit in this round, then the data packet size d will be... i Set to 0.
[0046] Next, if the receiving node fails to receive an RTS packet from any sensor node after the timer expires, it indicates that this round of data collection has failed, and the receiving node returns to the SEND_ORDER state. After periodic data collection is triggered, it enters the next round of ORDER packet broadcasting. If the receiving node receives an RTS packet before the timer expires, it assesses the channel quality based on the RTS packet reception status after the timer expires, and, combined with the collision probability, formulates the next round of RTS packet transmission strategy.
[0047] Specifically, assuming that the sensor nodes are randomly distributed underwater and follow a uniform distribution, the maximum transmission delay from the sensor node to the receiving node in the network is τ. max The maximum contention window for sensor nodes to back off when sending RTS packets is τ. cwnow Then, taking the initial time of the ORDER packet sent by the receiving node as the initial time, the time when the RTS packet arrives at the receiving node can be regarded as being in [0, 2τ]. max +τ cwnow +τ order Assuming a uniform distribution on the [], and the transmission delay of the RTS packet is τ. RTS The probability P of two sensor nodes colliding at the receiving node is... C As shown in the following formula:
[0048]
[0049] Let n be the number of RTS packets sent by sensor node i. i If k nodes send RTS packets, then the total number of RTS packets sent is N. RTSsend-total for:
[0050]
[0051] The total number of RTS packets received by the receiving node is N RTSrcv-total The number of sensor nodes that successfully received the sent RTS packets was N. RTSsuc ,but:
[0052]
[0053] Calculate the estimated packet error rate P for this round of communication link. PER for:
[0054]
[0055] In step S220, the success rate of RTS packet transmission for each sensor node in this handshake phase is determined based on the number of RTS packets that each sensor node should transmit in this handshake phase and the packet error rate.
[0056] In this embodiment, the proportion of the number of underwater sensor nodes whose RTS packets are successfully received by the receiving node to the total number k of sensor nodes that sent the RTS packets is P. RTS-rcv :
[0057]
[0058] Let the judgment function for the error rate of the h-th round be:
[0059] P(a, b) h ≡a·P PER,h +b·P PERavg,h-1
[0060] Among them, P PER,h P is the estimated packet error rate of the h-th round of communication, where a and b are the weights of the current and past packet error rate estimates in the judgment function of the packet error rate of this round of communication, respectively. PERavg,h-1 It is the average of the estimated error rates of the past (h-1) round packets, calculated as follows:
[0061]
[0062] Let n be the maximum number of RTS packets sent by all sensor nodes during the handshake phase of this data collection round. max The minimum value is nmin The number of RTS packets sent by sensor node i is n. i .
[0063] When a sensor node transmits n RTS packets, the success rate of RTS packet transmission P is calculated based on the packet error rate P(a, b). RTS-suc,n The calculation method is as follows:
[0064]
[0065] When the sensor transmits n min If there are 10 RTS packets, then the success rate of RTS packet transmission is denoted as . This is also the lowest success rate for RTS packets during this handshake phase.
[0066] In step S230, based on the packet error rate and the RTS packet transmission success rate corresponding to each sensor node, the maximum number of RTS packet transmissions and the contention window size for the sensor node in the next round of handshake are determined.
[0067] In one embodiment, based on the packet error rate and the RTS packet transmission success rate corresponding to each sensor node, the maximum number of RTS packet transmissions and the contention window size for the sensor node in the next handshake phase are determined, including:
[0068] When the proportion of underwater sensor nodes whose RTS packets are successfully received to the total number of underwater sensor nodes that sent RTS packets is greater than a first threshold, the packet error rate of the current communication link is less than or equal to the average historical packet error rate, and the minimum RTS packet transmission success rate in this round of data collection is greater than a second threshold, then the contention window τ is adjusted. cwnow Change to τ cwnow -X, where X is a predetermined value, and n is the maximum number of retransmissions of the RTS packet. max Change to n max -1;
[0069] When the proportion of underwater sensor nodes whose RTS packets are successfully received to the total number of underwater sensor nodes that sent RTS packets is less than or equal to a first threshold, and the minimum successful transmission rate in this round of data collection is greater than a second threshold, then the contention window τ is... cwnow Change to τ cwnow ·Z, where Z is a predetermined value;
[0070] When the proportion of underwater sensor nodes whose RTS packets are successfully received to the total number of underwater sensor nodes that sent RTS packets is less than or equal to a first threshold, and the minimum successful transmission rate in this round of data collection is less than or equal to a second threshold, then iterate through the sensor nodes whose RTS packets were not successfully received and increment their corresponding RTS packet transmission count by 1; then iterate through all sensor nodes again. If the difference between the modified maximum RTS packet transmission count and the minimum RTS packet transmission count is greater than 1, then decrement the maximum RTS packet transmission count by 1, and modify the RTS packet transmission count of underwater sensor nodes whose RTS packet transmission count is greater than the modified maximum RTS packet transmission count to the modified maximum RTS packet transmission count; if the difference between the modified maximum RTS packet transmission count and the minimum RTS packet transmission count is less than 1, then the contention window τ is... cwnow For τ cwnow +Y, where Y is a predetermined value; if the difference between the modified maximum RTS packet transmission count and the minimum RTS packet transmission count is equal to 0, no adjustment is made.
[0071] In this embodiment, P α P is a comparison threshold (i.e., the first threshold) for the proportion of sensor nodes whose transmitted RTS packets were successfully received by the receiving node out of the total number of sensor nodes that transmitted RTS packets. β for The comparison threshold (i.e., the second threshold) needs to be explained, P α and P β It can be determined in advance by those skilled in the art based on prior experience.
[0072] Based on the RTS packet reception status, the proportion P of sensor nodes that successfully transmitted RTS packets was calculated. RTS-rcv and threshold P α If the error rate is greater than the threshold, the error rate judgment function P(a, b) for this round of communication link is calculated. h Is it greater than the mean P of the historical packet error rate? PERavg,h If the value is greater than the target value, no adjustment is made; if the value is less than the target value, the minimum successful transmission rate of the RTS packets in this round is calculated. Is it greater than the comparison threshold P? β If it is greater than n, then modify the maximum number of retransmissions (i.e., the maximum number of RTS packet transmissions) n. max For n max -1, and narrow the competition window τ cwnow For τ cwnow -X, where X is a predetermined value, thereby avoiding redundant RTS packet transmission and reducing energy consumption based on the premise of reducing the link packet error rate.
[0073] If the proportion of sensor nodes that successfully transmit RTS packets is P RTS-rcv Less than threshold Pα Then determine the minimum success rate of RTS packets in this round. Is it greater than the comparison threshold P? β If the value is greater than τ, it indicates that the proportion of sensor nodes successfully transmitting RTS packets is low, mainly due to collisions. In this case, the contention window τ should be modified. cwnow For τ cwnow ·Z, where Z is a predetermined value. If it is less than this value, it means that the number of RTS packets transmitted has not reached the standard. Iterate through all sensor nodes where RTS packets failed to be received, and retransmit their RTS packets for the specified number of times n. i Change to n i +1, iterate through the modified results, if n max -n min If n > 1, then n max Change to n max -1, then iterate through all sensor nodes again, if the number of transmissions is n. i >n max Then n i Change to n max The goal is to ensure that the growth in the number of RTS packets transmitted by each sensor node tends to be balanced; if n max -n min If ≤1, then in n max =n min No adjustments are needed at this time; otherwise, modify the competition window τ. cwnow For τ cwnow +U, where Y is a predetermined value.
[0074] It should be noted that those skilled in the art can pre-set the values of X, Y, and Z based on prior experience, without any special limitations.
[0075] Please continue to refer to this. Figure 2 In step S240, based on the RTS packets received in this round of handshake phase and the reception time of each RTS packet, the propagation delay between the receiving node and each of the sensor nodes, as well as the transmission delay corresponding to the sensor node with data transmission requirements, are determined.
[0076] In this embodiment, when sensor node i sends the nth RTS packet, the backoff time τ of the RTS packet is set. backoff,i-n and the transmission delay τ of data packets data,i Encapsulated in an RTS packet, the receiving node reads the information carried in the RTS packet after receiving it, and then determines the information based on the sending time T of the ORDER packet. ORDER or the time T when the ACK packet is sent ACK And the reception time of the nth RTS packet sent by sensor node i. The transmission delay of the ORDER packet is τ orderThe transmission delay of the RTS packet is τ. RTS The propagation delay τ between the receiving node and sensor node i can be estimated. sink,i for:
[0077]
[0078] When the WF_RTS timer expires, the receiving node first checks the reception status of RTS packets, determines the data transmission needs of sensor nodes whose RTS packets were successfully received, and writes the statistical results into the flag bits for each sensor node in the CTS packet. If the receiving node fails to receive the RTS packet sent by sensor node i during this notification scheduling phase, it resets the flag bit for sensor node i in the CTS packet. sign Setting it to "0" indicates that RTS packet transmission failed due to link interruption or collision. If an RTS packet sent by sensor node i is successfully received, the packet size information d in the RTS packet is read. i If d i A value of 0 indicates that sensor node i successfully transmitted the RTS packet in this round, but no data was transmitted. The flag bit i will then be reset. sign Set to "1" to reset the flag i if data transmission occurs. sign Set it to "2", and calculate the data packet transmission delay of sensor node i as τ. DATA,i The calculation method is as follows:
[0079]
[0080] Among them, V data This refers to the data packet transmission rate.
[0081] In step S250, the arrival order of data packets for each sensor node is determined based on the propagation delay and transmission delay corresponding to each sensor node with data transmission requirements, and the data packet transmission waiting time for each sensor node is determined based on the arrival order of the data packets.
[0082] In this embodiment, the arrival order of data packets sent by each sensor node with data transmission needs (i.e., the node with flag "2") is arranged according to the estimated increasing propagation delay with the fixed sensor node. Assume there are sensor nodes A, B, and C, and their propagation delays with the receiving node are respectively τ. sink,A ≤τ sink,B ≤τ sink,C Then the arrival time sequence of the node data packets is {A→B→C}.
[0083] To ensure that data packets sent by sensor nodes arrive at the receiving node without collisions, it is necessary to schedule the transmission of data packets by the sensor nodes. That is, before sensor node i sends a data packet, it needs to wait for a specific period of time τ. guard,i According to the scheduling information, the time for the data packet from sensor node i to arrive at the receiving node is T. DATArcv,i .
[0084] If the number of sensor nodes requiring data transmission is g, then use number O i This represents the order in which sensor node i sends data packets, i.e., {O1, O2, ... O...} i}, then O i The maximum value is g, assuming sensor nodes x, y, z ∈ {O1, O2, ... O i}, and there is O x <O y <O z The propagation delay from the sensor node to the receiving node is expressed as T. sink,x ≤τ sink,y ≤τ sink,z The data packet transmission waiting time τ for sensor node i guard,i and the time T for the data packet to arrive at the receiving node DATArcv,i The calculation formula is as follows:
[0085] When Oi = 1, τ guard,i =0;
[0086] When O i When >1, let O j =O i -1, then we can calculate:
[0087] τ guard,i
[0088] The time T for the data packet to arrive at the receiving node DATArcv,i The calculation formula is as follows:
[0089] T DATArcv,i =τ DATA,i +2·τ sink,i +τ CTS +τ guard,i
[0090] In step S260, a CTS packet is generated based on the maximum number of RTS packet transmissions, the contention window size, and the data packet transmission waiting time corresponding to each sensor node, and the CTS packet is broadcast. Figure 3As shown, the CTS packet includes the sensor node's identification information, flag bits, data packet transmission waiting time, maximum number of RTS packet transmissions, and contention window size. The flag bits are used to indicate whether the data sent by the sensor node has been successfully received by the receiving node.
[0091] In step S270, data packets sent by each sensor node according to the CTS packet are received.
[0092] In one embodiment, receiving data packets sent by each sensor node according to the CTS packet includes:
[0093] Based on the packet error rate corresponding to the current communication link, determine the data packet transmission success rate of the sensor node with data transmission needs, and determine the threshold for the number of data retransmission collection times of the receiving node in this round of data collection based on the data packet transmission success rate.
[0094] The data packet waiting time for the receiving node is determined based on the transmission delay, data packet sending waiting time, propagation delay, and CTS packet transmission delay of the sensor node that arrives last in the data packet arrival order.
[0095] Based on the data packet waiting time and the data retransmission collection number threshold, data packets sent by each sensor node according to the CTS packet are received.
[0096] In this embodiment, the number of data retransmission collection attempts for the receiving node is determined based on the calculated packet error rate. Specifically, if the number of data retransmission collection attempts is e, then the data packet transmission success rate P based on the packet error rate P(a, b) can be calculated. DATA-rcv,r for:
[0097]
[0098] Let P be the threshold for comparing data packet delivery rates. γ If P DATA-rcv,r Greater than P γ If the threshold for the number of retransmissions collected by the receiving node in this round is e, then the threshold is e.
[0099] When the WF_RTS timer expires, two scenarios exist: If all sent RTS packets are successfully received, and the underwater sensor node does not require data transmission, the receiving node sends a CTS packet and enters the SEND_ORDER state to begin the next round of data collection. If the received RTS packets require data transmission, the receiving node sends a CTS packet and enters the WF_DATA state, then starts the timer. The timer duration T... WF_DATA_timer (i.e., packet wait time) is set as follows:
[0100] T WF_DATA_timer =τ DATA,r+2·τ sink,r +τ CTS +τ guard,r
[0101] In this context, sensor node r is the sensor node that is last in the data packet sending order during this round of data collection.
[0102] In one example, after each data packet waiting timer expires, if not all data packets sent by sensor nodes with transmission needs are received, and the number of data retransmission collections reaches the data retransmission collection threshold, then a CTS packet is generated and broadcast based on the nodes that have received data packets in this round of data collection, and the next round of data collection is started; if the number of data retransmission collections does not reach the data retransmission collection threshold, then a CTS packet is generated and broadcast based on the scheduling plan corresponding to the sensor nodes whose data packets were not successfully received, in order to start data retransmission collection.
[0103] Specifically, for a receiving node in the WF_DATA state, after the timer expires, there are two possible scenarios:
[0104] First, if all data packets sent by the sensor nodes requesting data transmission can be successfully received, an ACK packet is sent, and the system enters the WF_RTS state to start a new data collection cycle.
[0105] Second, if data packets from all requested sensor nodes are not successfully received, then this includes:
[0106] 1. If the number of data retransmission collections reaches the data retransmission collection threshold, then the flag of the sending sensor node i that received the data packets in this round will be set to 'i'. sign Set to "3", encapsulate it in a CTS packet and send it, enter the SEND_ORDER state, and start a new round of data collection.
[0107] 2. If the number of data retransmissions has not reached the data retransmission collection threshold, then the flag of the sending sensor node i of the data packets received in this round will be set to 0. sign Set to "3", and set the flag bit i sign The sensor node that is still "2" refers to the above steps to formulate a data packet scheduling plan and a new timer duration for the WF_DATA state, regenerates and broadcasts the CTS packet, starts data retransmission collection, and enters the WF_DATA state again.
[0108] Sensor node i in the WF_CTS state reads the information in the CTS packet sent by the receiving node and obtains the flag bit corresponding to sensor node i. The following situations exist:
[0109] First, if the flag bit corresponding to sensor node i is "0", then this sensor node failed to successfully transmit the RTS packet to the receiving node. Next, read the maximum number of RTS packets n transmitted from the CTS packet. max and competition window size τ cwnow If sensor node i transmits n RTS packets i <n max Then modify n i For n i +1. In [0, τ] cwnow Randomly select n i A time length τ backoff,i-1 , τ backoff,i-2 ......τ backoff,i-n This serves as the backoff waiting time for the RTS packet during the handshake phase of the next data collection cycle. If sensor node i transmits n RTS packets... i =n max This indicates that even when the number of transmissions meets the requirement, transmission failures due to collisions still occur at sensor nodes. Therefore, the RTS packet backoff waiting time is updated within the range [0, τ]. cwnow Randomly select n again i A time length τ backoff,i-1 , τ backoff,i-2 ......τ backoff,i-n This serves as the backoff waiting time for the next round of RTS packets.
[0110] Second, if the flag bit corresponding to sensor node i is "1", then this sensor node has successfully transmitted the RTS packet but has no data transmission requirement, and enters the QUIET state.
[0111] Third, if the flag bit corresponding to sensor node i is "2", then sensor node i has a data transmission requirement, according to the scheduling time T specified in the CTS packet. guard,i After waiting for a period of time, a data packet is sent and the system enters the WF_ACK state.
[0112] Furthermore, if n i >n max Regardless of the flag bit corresponding to the sensor node, the number of RTS packets transmitted in the next round will be n. i Change to n i =n max And in the new competitive window [0, τ cwnow Randomly select n i A time length τ backoff,i-1 , τ backoff,i-2 ......τ backoff,i-n Update the backoff wait time for the RTS packet.
[0113] For sensor nodes in the WF_ACK state, the following situations exist:
[0114] First, upon receiving the ACK packet, all sensor nodes in this round have successfully transmitted data and entered the SEND_RTS state.
[0115] Second, upon receiving the CTS packet, if the sensor node i flag bit is read... sign If the value is "3", then sensor node i has successfully transmitted data in this round, but other sensor nodes need to retransmit data, thus entering the QUIET state. If the flag bit of sensor node i is "i", then the data transmission is successful. sign If the value is "2", then sensor node i will retransmit data according to the scheduling time specified in the CTS packet.
[0116] Third, upon receiving the ORDER packet, if the data transmission of sensor node i in this round fails, it enters the SEND_RTS state to initiate the next round of handshake establishment.
[0117] When a sensor node in the QUIET state receives an ACK or ORDER packet, it enters the SEND_RTS state and initiates the handshake for the next round of data transmission.
[0118] The following describes an embodiment of the apparatus described in this application, which can be used to execute the underwater acoustic sensor network transmission method based on link interruption tolerance described in the above embodiments of this application. For details not disclosed in the apparatus embodiments of this application, please refer to the embodiments of the underwater acoustic sensor network transmission method based on link interruption tolerance described in this application.
[0119] According to one embodiment of this application, a transmission device for an underwater acoustic sensor network based on link interruption tolerance is provided. The underwater acoustic sensor network includes a receiving node and several sensor nodes.
[0120] This device is used at a receiving node and is configured as follows:
[0121] Based on the RTS packets sent by the sensor nodes received during this handshake phase, determine the packet error rate corresponding to the current communication link;
[0122] Based on the number of RTS packets that each sensor node should transmit during this handshake phase and the packet error rate, determine the RTS packet transmission success rate of each sensor node during this handshake phase.
[0123] Based on the packet error rate and the RTS packet transmission success rate of each sensor node, determine the maximum number of RTS packet transmissions and the contention window size for the sensor node in the next handshake phase.
[0124] Based on the RTS packets received during this handshake phase and the reception time of each RTS packet, the propagation delay between the receiving node and each of the sensor nodes, as well as the transmission delay corresponding to the sensor node with data transmission requirements, are determined.
[0125] Based on the propagation delay and transmission delay of each sensor node with data transmission requirements, the arrival order of data packets for each sensor node is determined, and the data packet transmission waiting time for each sensor node is determined based on the arrival order of the data packets.
[0126] CTS packets are generated and broadcast based on the maximum number of RTS packet transmissions, the contention window size, and the data packet transmission waiting time corresponding to each sensor node;
[0127] Receive data packets sent by each sensor node according to the CTS packet.
[0128] In one embodiment of this application, receiving data packets sent by each sensor node according to the CTS packet includes:
[0129] Based on the packet error rate corresponding to the current communication link, determine the data packet transmission success rate of the sensor node with data transmission needs, and determine the threshold for the number of data retransmission collection times of the receiving node in this round of data collection based on the data packet transmission success rate.
[0130] The data packet waiting time for the receiving node is determined based on the transmission delay, data packet sending waiting time, propagation delay, and CTS packet transmission delay of the sensor node that arrives last in the data packet arrival order.
[0131] Based on the data packet waiting time and the data retransmission collection number threshold, data packets sent by each sensor node according to the CTS packet are received.
[0132] Figure 4 A schematic diagram of the structure of a computer system suitable for implementing the electronic device of the present application is shown.
[0133] It should be noted that, Figure 4 The computer system of the electronic device shown is merely an example and should not impose any limitation on the functionality and scope of use of the embodiments of this application.
[0134] like Figure 4As shown, the computer system includes a Central Processing Unit (CPU) 401, which can perform various appropriate actions and processes based on programs stored in Read-Only Memory (ROM) 402 or programs loaded from storage portion 408 into Random Access Memory (RAM) 403, such as performing the methods described in the above embodiments. The RAM 403 also stores various programs and data required for system operation. The CPU 401, ROM 402, and RAM 403 are interconnected via a bus 404. An Input / Output (I / O) interface 405 is also connected to the bus 404.
[0135] The following components are connected to I / O interface 405: an input section 406 including a keyboard, mouse, etc.; an output section 407 including a cathode ray tube (CRT), liquid crystal display (LCD), etc., and speakers, etc.; a storage section 408 including a hard disk, etc.; and a communication section 409 including a network interface card such as a LAN (Local Area Network) card, modem, etc. The communication section 409 performs communication processing via a network such as the Internet. A drive 410 is also connected to I / O interface 405 as needed. A removable medium 411, such as a disk, optical disk, magneto-optical disk, semiconductor memory, etc., is installed on drive 410 as needed so that computer programs read from it can be installed into storage section 408 as needed.
[0136] Specifically, according to embodiments of this application, the processes described above with reference to the flowcharts can be implemented as computer software programs. For example, embodiments of this application include a computer program product comprising a computer program carried on a computer-readable medium, the computer program including a computer program for performing the methods shown in the flowcharts. In such embodiments, the computer program can be downloaded and installed from a network via communication section 409, and / or installed from removable medium 411. When the computer program is executed by central processing unit (CPU) 401, it performs various functions defined in the system of this application.
[0137] It should be noted that the computer-readable medium shown in the embodiments of this application can be a computer-readable signal medium or a computer-readable storage medium, or any combination of the two. A computer-readable storage medium can be, for example,—but not limited to—an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination thereof. More specific examples of a computer-readable storage medium may include, but are not limited to: an electrical connection having one or more wires, a portable computer disk, a hard disk, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM), flash memory, optical fiber, portable compact disc read-only memory (CD-ROM), optical storage device, magnetic storage device, or any suitable combination thereof. In this application, a computer-readable storage medium can be any tangible medium containing or storing a program that can be used by or in conjunction with an instruction execution system, apparatus, or device. In this application, a computer-readable signal medium can include a data signal propagated in baseband or as part of a carrier wave, carrying a computer-readable computer program. The transmitted data signal can take various forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination thereof. The computer-readable signal medium can also be any computer-readable medium other than a computer-readable storage medium, which can send, propagate, or transmit a program for use by or in connection with an instruction execution system, apparatus, or device. The computer program contained on the computer-readable medium can be transmitted using any suitable medium, including but not limited to wireless, wired, etc., or any suitable combination thereof.
[0138] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of this application. Each block in a flowchart or block diagram may represent a module, segment, or portion of code, which contains one or more executable instructions for implementing a specified logical function. It should also be noted that in some alternative implementations, the functions indicated in the blocks may occur in a different order than those indicated in the drawings. For example, two consecutively indicated blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in a block diagram or flowchart, and combinations of blocks in a block diagram or flowchart, can be implemented using a dedicated hardware-based system that performs the specified function or operation, or using a combination of dedicated hardware and computer instructions.
[0139] The units described in the embodiments of this application can be implemented in software or hardware, and the described units can also be located in a processor. The names of these units do not necessarily limit the specific unit itself.
[0140] In another aspect, this application also provides a computer-readable medium, which may be included in the electronic device described in the above embodiments; or it may exist independently and not assembled into the electronic device. The computer-readable medium carries one or more programs, which, when executed by the electronic device, cause the electronic device to perform the methods described in the above embodiments.
[0141] It should be noted that although several modules or units for the device used to perform actions have been mentioned in the detailed description above, this division is not mandatory. In fact, according to the embodiments of this application, the features and functions of two or more modules or units described above can be embodied in one module or unit. Conversely, the features and functions of one module or unit described above can be further divided and embodied by multiple modules or units.
[0142] Through the above description of the embodiments, those skilled in the art will readily understand that the exemplary embodiments described herein can be implemented by software or by combining software with necessary hardware. Therefore, the technical solutions according to the embodiments of this application can be embodied in the form of a software product, which can be stored in a non-volatile storage medium (such as a CD-ROM, USB flash drive, external hard drive, etc.) or on a network, including several instructions to cause a computing device (such as a personal computer, server, touch terminal, or network device, etc.) to execute the method according to the embodiments of this application.
[0143] Other embodiments of this application will readily occur to those skilled in the art upon consideration of the specification and practice of the embodiments disclosed herein. This application is intended to cover any variations, uses, or adaptations of this application that follow the general principles of this application and include common knowledge or customary techniques in the art not disclosed herein.
[0144] It should be understood that this application is not limited to the precise structure described above and shown in the accompanying drawings, and various modifications and changes can be made without departing from its scope. The scope of this application is limited only by the appended claims.
Claims
1. A transmission method for underwater acoustic sensor networks based on link interruption tolerance, characterized in that, An underwater acoustic sensor network consists of a receiving node and several sensor nodes; The method is applied to the receiving node and includes: Based on the RTS packets sent by the sensor nodes received during this handshake phase, determine the packet error rate corresponding to the current communication link; Based on the number of RTS packets that each sensor node should transmit during this handshake phase and the packet error rate, determine the RTS packet transmission success rate of each sensor node during this handshake phase. Based on the packet error rate and the RTS packet transmission success rate of each sensor node, determine the maximum number of RTS packet transmissions and the contention window size for the sensor node in the next handshake phase. Based on the RTS packets received during this handshake phase and the reception time of each RTS packet, the propagation delay between the receiving node and each of the sensor nodes, as well as the transmission delay corresponding to the sensor node with data transmission requirements, are determined. Based on the propagation delay and transmission delay of each sensor node with data transmission requirements, the arrival order of data packets for each sensor node is determined, and the data packet transmission waiting time for each sensor node is determined based on the arrival order of the data packets. CTS packets are generated and broadcast based on the maximum number of RTS packet transmissions, the contention window size, and the data packet transmission waiting time corresponding to each sensor node; Receive data packets sent by each sensor node according to the CTS packet.
2. The method according to claim 1, characterized in that, Receiving data packets sent by each sensor node according to the CTS packet includes: Based on the packet error rate corresponding to the current communication link, determine the data packet transmission success rate of the sensor node with data transmission requirements, and determine the threshold for the number of data retransmission collection times of the receiving node in this round of data collection based on the data packet transmission success rate. The data packet waiting time for the receiving node is determined based on the transmission delay, data packet sending waiting time, propagation delay, and CTS packet transmission delay of the sensor node that arrives last in the data packet arrival sequence. Based on the data packet waiting time and the data retransmission collection number threshold, data packets sent by each sensor node according to the CTS packet are received.
3. The method according to claim 2, characterized in that, After each data packet waiting time expires, if not all data packets sent by sensor nodes with transmission needs are received, and the number of data retransmission collections reaches the data retransmission collection threshold, then a CTS packet is generated and broadcast based on the sensor nodes that have received data packets in this round of data collection, and the next round of data collection is started. If the number of data retransmission collection attempts does not reach the data retransmission collection attempt threshold, a CTS packet is generated and broadcast according to the scheduling plan corresponding to the sensor node whose data packet was not successfully received, in order to start data retransmission collection.
4. The method according to claim 1, characterized in that, Based on the packet error rate and the RTS packet transmission success rate corresponding to each sensor node, determine the maximum number of RTS packet transmissions and the contention window size for the sensor node in the next handshake phase, including: When the proportion of underwater sensor nodes whose RTS packets are successfully received to the total number of underwater sensor nodes that sent RTS packets is greater than a first threshold, the packet error rate of the current communication link is less than or equal to the average historical packet error rate, and the minimum RTS packet transmission success rate in this round of data collection is greater than a second threshold, then the contention window τ is adjusted. cwnow Change to τ cwnow -X, where X is a predetermined value, and n is the maximum number of retransmissions of the RTS packet. max Change to n max -1; When the proportion of underwater sensor nodes whose RTS packets are successfully received to the total number of underwater sensor nodes that sent RTS packets is less than or equal to a first threshold, and the minimum successful transmission rate in this round of data collection is greater than a second threshold, then the contention window τ is... cwnow Change to τ cwnow ·Z, where Z is a predetermined value; When the proportion of underwater sensor nodes whose RTS packets are successfully received to the total number of underwater sensor nodes that sent RTS packets is less than or equal to a first threshold, and the minimum successful transmission rate in this round of data collection is less than or equal to a second threshold, then iterate through the sensor nodes whose RTS packets were not successfully received and increment their corresponding RTS packet transmission count by 1; then iterate through all sensor nodes again. If the difference between the modified maximum RTS packet transmission count and the minimum RTS packet transmission count is greater than 1, then decrement the maximum RTS packet transmission count by 1, and modify the RTS packet transmission count of underwater sensor nodes whose RTS packet transmission count is greater than the modified maximum RTS packet transmission count to the modified maximum RTS packet transmission count; if the difference between the modified maximum RTS packet transmission count and the minimum RTS packet transmission count is less than 1, then the contention window τ is... cwnow For τ cwnow +Y, where Y is a predetermined value; if the difference between the modified maximum RTS packet transmission count and the minimum RTS packet transmission count is equal to 0, no adjustment is made.
5. The method according to any one of claims 1-4, characterized in that, The RTS packet includes the sensor node's sending address, the receiving node's receiving address, the sequence number of the current RTS packet in the RTS packets sent by the sensor node in this round of handshake phase, the backoff time, and the size of the data packet to be transmitted.
6. The method according to any one of claims 1-4, characterized in that, The CTS packet includes the sensor node's identification information, flag bits, data packet transmission waiting time, maximum number of RTS packet transmissions, and contention window size. The flag bits are used to indicate whether the data sent by the sensor node has been successfully received by the receiving node.
7. A transmission device for an underwater acoustic sensor network based on link interruption tolerance, characterized in that, An underwater acoustic sensor network consists of a receiving node and several sensor nodes; This device is used at a receiving node and is configured as follows: Based on the RTS packets sent by the sensor nodes received during this handshake phase, determine the packet error rate corresponding to the current communication link; Based on the number of RTS packets that each sensor node should transmit during this handshake phase and the packet error rate, determine the RTS packet transmission success rate of each sensor node during this handshake phase. Based on the packet error rate and the RTS packet transmission success rate of each sensor node, determine the maximum number of RTS packet transmissions and the contention window size for the sensor node in the next handshake phase. Based on the RTS packets received during this handshake phase and the reception time of each RTS packet, the propagation delay between the receiving node and each of the sensor nodes, as well as the transmission delay corresponding to the sensor node with data transmission requirements, are determined. Based on the propagation delay and transmission delay of each sensor node with data transmission requirements, the arrival order of data packets for each sensor node is determined, and the data packet transmission waiting time for each sensor node is determined based on the arrival order of the data packets. CTS packets are generated and broadcast based on the maximum number of RTS packet transmissions, the contention window size, and the data packet transmission waiting time corresponding to each sensor node; Receive data packets sent by each sensor node according to the CTS packet.
8. The apparatus according to claim 7, characterized in that, Receiving data packets sent by each sensor node according to the CTS packet includes: Based on the packet error rate corresponding to the current communication link, determine the data packet transmission success rate of the sensor node with data transmission requirements, and determine the threshold for the number of data retransmission collection times of the receiving node in this round of data collection based on the data packet transmission success rate. The data packet waiting time for the receiving node is determined based on the transmission delay, data packet sending waiting time, propagation delay, and CTS packet transmission delay of the sensor node that arrives last in the data packet arrival sequence. Based on the data packet waiting time and the data retransmission collection number threshold, data packets sent by each sensor node according to the CTS packet are received.
9. A computer-readable medium having a computer program stored thereon, characterized in that, When the computer program is executed by the processor, it implements the underwater acoustic sensor network transmission method based on link interruption tolerance as described in any one of claims 1 to 6.
10. An electronic device, characterized in that, include: One or more processors; A storage device for storing one or more programs, which, when executed by one or more processors, cause the one or more processors to implement the underwater acoustic sensor network transmission method based on link interruption tolerance as described in any one of claims 1 to 6.