Energy-saving opportunistic routing method for underwater wireless optical communication network

By adopting the energy-saving opportunity routing method in the underwater wireless optical communication network, using the energy consumption function and the K-Means++ algorithm to generate clusters and select relay nodes, the problem of difficulty in ensuring data transmission rate and quality in the prior art is solved, and the network energy consumption reduction and efficiency improvement are achieved.

CN120090701APending Publication Date: 2025-06-03XIAN UNIV OF POSTS & TELECOMM +1
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411650960.2
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2024-11-18
Filing Date
2024-11-19
Publication Date
2025-06-03

AI Technical Summary

Technical Problem

The routing protocols of existing underwater wireless optical communication networks are difficult to ensure data transmission rate and transmission quality at the same time, resulting in the inability to effectively reduce energy consumption and improve network efficiency.

Method used

An energy-saving opportunity routing method is adopted to obtain the node coordinates in the underwater wireless optical communication network, calculate the cluster number K using the first energy consumption function, and generate the initial clustering center and cluster head through the K-Means++ algorithm, and select the optimal relay node for packet transmission.

Benefits of technology

This method can ensure data transmission rate and transmission quality in an underwater wireless optical communication network, reduce network energy consumption, improve network efficiency, and expand network coverage.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120090701A_ABST
    Figure CN120090701A_ABST
Patent Text Reader

Abstract

The invention relates to an energy-saving opportunistic routing method for an underwater wireless optical communication network, which comprises the following steps: acquiring the underwater wireless optical communication network which comprises a plurality of nodes; calculating a clustering number K by using a first energy consumption function according to the number and coordinates of the nodes; according to the clustering number K, K initial clustering centers are generated by using a K-Means + + algorithm, and K clusters are generated around the K initial clustering centers according to a K-Means iteration process; selecting a cluster head in each cluster according to the standard weight and the own weight; when the source node and the destination node are located in the same cluster, selecting an optimal relay node based on the forwarding weight of the node, and transmitting a data packet at the source node to the destination node by using the optimal relay node; and when the source node and the destination node are located in different clusters, transmitting a data packet at the source node to the cluster head of the destination node cluster by using the plurality of cluster heads, and then transmitting the data packet to the destination node by using the optimal relay node. According to the invention, the transmission rate and transmission quality of data in an underwater wireless optical communication network can be ensured.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to the technical field of underwater wireless optical communication networks, and in particular, to an energy-saving opportunistic routing method for underwater wireless optical communication networks. Background Art

[0002] With the development of underwater optical communication technology, underwater optical wireless communication (UOWC) technology using light waves as a carrier has received more and more research and attention from scholars due to its advantages of high bandwidth, low latency, and strong anti-interference ability.

[0003] Currently, most of the research on underwater wireless optical communication technology focuses on the physical layer, while little research has been done on the network layer of underwater wireless optical communication technology. Among them, the routing protocol is crucial in the research of underwater wireless optical communication networks, responsible for discovering and maintaining the optimal packet transmission path from the source node to the destination node in the network, determining the end-to-end transmission delay of the network and the reliable transmission of data, and can also achieve the purpose of reducing energy consumption, improving network efficiency, and expanding the network through the design of routing algorithms.

[0004] However, in the existing technology, the routing protocol applied to underwater wireless optical communication networks is not perfect, and there are still problems in ensuring both the transmission rate and transmission quality of data in underwater wireless optical communication networks for the optimal data transmission path from the source node to the destination node. Therefore, it is necessary to provide a new technical solution to improve one or more problems existing in the above solutions.

[0005] It should be noted that the information disclosed in the above background art section is only used to enhance the understanding of the background of the present disclosure, and therefore may include information that does not constitute the prior art known to those of ordinary skill in the art. Summary of the Invention

[0006] The purpose of the embodiments of the present disclosure is to provide an energy-saving opportunistic routing method for underwater wireless optical communication networks, which can ensure both the transmission rate and transmission quality of data in underwater wireless optical communication networks.

[0007] According to the embodiments of the present disclosure, an energy-saving opportunistic routing method for underwater wireless optical communication networks is provided, including:

[0008] Obtain an underwater wireless optical communication network, where the network includes multiple nodes;

[0009] Determine the coordinates of multiple nodes, the coordinates of the source node, and the coordinates of the destination node in the same time slot, where the source node and the destination node are any two nodes among the multiple nodes;

[0010] Calculate the number of clusters K using the first energy consumption function according to the number and coordinates of the nodes;

[0011] Generate K initial cluster centers using the K-Means++ algorithm according to the number of clusters K, and generate K clusters using the K-Means iterative process around the K initial cluster centers;

[0012] Calculate the standard weight of each cluster and the self-weight of each node within each cluster, and select the cluster head within each cluster according to the standard weight and the self-weight;

[0013] When the source node and the destination node are in the same cluster, select the optimal relay node based on the forwarding weight of the node, and use the optimal relay node to transmit the data packet at the source node to the destination node; or

[0014] When the source node and the destination node are in different clusters, use multiple cluster heads to transmit the data packet at the source node to the cluster head of the cluster where the destination node is located, and then select the optimal relay node from within the cluster where the destination node is located based on the forwarding weight of the node, and use the optimal relay node to transmit the data packet to the destination node.

[0015] In an exemplary embodiment of the present disclosure, the calculating the number of clusters K using the first energy consumption function according to the number and coordinates of the nodes includes:

[0016] According to the number and coordinates of the nodes, represent the functional relationship between the total energy consumption of the cluster heads and the number of clusters K using the first energy consumption function, and the first energy consumption function is:

[0017]

[0018] where E(K) represents the total energy consumption of the cluster heads, E r represents the energy consumed by a node to process and receive an n-bit data packet, E t represents the energy consumed by a node to process and send an n-bit data packet, E p represents the energy consumed by a node to process 1 bit of data, P r represents the received power, R b represents the data transmission rate, c(λ) represents the extinction coefficient, N represents the number of nodes, K represents the number of clusters, n represents the data packet size, represents the average value of the distances between all nodes and their nearest neighbor nodes;

[0019] Determine the value of the number of clusters K by finding the minimum value of the first energy consumption function.

[0020] In an exemplary embodiment of the present disclosure, generating K initial clustering centers by using the K-Means++ algorithm according to the number of clusters K includes:

[0021] a1. Randomly select a node from the multiple nodes as the initial clustering center;

[0022] b1. Calculate the shortest distance from each of the nodes to the initial clustering center;

[0023] c1. Calculate the probability value corresponding to each of the nodes according to the shortest distance, obtain the multiple probability values corresponding to the multiple nodes, and select the node corresponding to the maximum probability value as the next initial clustering center;

[0024] d1. Repeat steps b1 and c1 until K initial clustering centers are obtained.

[0025] In an exemplary embodiment of the present disclosure, generating K clusters according to the K-Means iteration process around the K initial clustering centers includes:

[0026] a2. Calculate the distance from each of the nodes to the K initial clustering centers, and assign the node to the cluster of the initial clustering center with the closest distance;

[0027] b2. Calculate the mean value of the three-dimensional coordinate data of all the nodes included in each cluster, and use the mean value as the three-dimensional coordinate data of the updated clustering center;

[0028] c2. Repeat steps b2 and c2 until the three-dimensional coordinate data of the updated K clustering centers no longer changes, and obtain the clustering result of the K clusters.

[0029] In an exemplary embodiment of the present disclosure, calculating the standard weight value of each cluster and the self-weight value of each node in each cluster, and selecting the cluster head in each cluster according to the standard weight value and the self-weight value includes:

[0030] Calculate the standard weight value of each cluster, and the expression of the standard weight value is:

[0031]

[0032] Where, W std represents the standard weight value, c 1 and c 2 represent the decision factors of energy and distance, Avg(D cc ) represents the average value of the distances from the nodes in the cluster to the clustering center of the cluster, E totalIt represents the energy consumed by the cluster head of the cluster to receive a data packet from all nodes in the cluster and send a data packet to the other cluster heads in the network. M is the number of nodes in the cluster, and E p It represents the energy consumed by a node to process 1 bit of data, P r Represents the received power, R b represents the data transmission rate, c(λ) represents the extinction coefficient, K represents the number of clusters, n represents the packet size, Represents the average distance between all nodes and their nearest neighboring nodes;

[0033] Calculate the self-weight of each node in each cluster. The expression of the self-weight is:

[0034] W ni =c 1 ·E ni +c 2 ·D cc (3)

[0035] Among them, W ni Represents its own weight, E ni represents the residual energy of the node, D cc Indicates the distance from the node to the cluster center of its cluster;

[0036] For each cluster, a node corresponding to its own weight that is closest to the standard weight of the cluster is selected as the cluster head of the cluster.

[0037] In an exemplary embodiment of the present disclosure, when the source node and the destination node are located in the same cluster, selecting an optimal relay node based on the forwarding weight of the node, and using the optimal relay node to transmit the data packet at the source node to the destination node includes:

[0038] a3. Determine whether the destination node is within the communication range of the source node according to the communication distance of the source node, the coordinates of the source node and the coordinates of the destination node;

[0039] b3. If the destination node is within the communication range of the source node, the data packet at the source node is sent to the destination node; if the destination node is outside the communication range of the source node, steps c3 to e3 are executed;

[0040] c3. Selecting multiple candidate forwarding nodes from nodes in the same cluster according to the communication distance of the source node, the coordinates of the source node and the coordinates of the destination node;

[0041] d3. Calculate the forwarding weight of the candidate forwarding node, and select the optimal relay node from the plurality of candidate forwarding nodes based on the forwarding weight;

[0042] e3. Use the optimal relay node as the next source node, and repeat steps c3 to d3 until the destination node is within the communication range of the source node, then send the data packet at the source node to the destination node.

[0043] In an exemplary embodiment of the present disclosure, the selecting multiple candidate forwarding nodes from the nodes within the same cluster according to the communication distance of the source node, the coordinates of the source node, and the coordinates of the destination node includes:

[0044] Determine the optimal candidate forwarding area according to the communication distance of the source node, the coordinates of the source node, and the coordinates of the destination node;

[0045] When there are nodes within the optimal candidate forwarding area, use the nodes located within the optimal candidate forwarding area as the candidate forwarding nodes;

[0046] When there are no nodes within the optimal candidate forwarding area, expand the optimal candidate forwarding area to obtain a secondary candidate forwarding area, and use the nodes located within the secondary candidate forwarding area as the candidate forwarding nodes.

[0047] In an exemplary embodiment of the present disclosure, the optimal candidate forwarding area is the area where the first communication area intersects with the first defined area, and the secondary candidate forwarding area is the first communication area;

[0048] Wherein, the first communication area is a three-dimensional area defined with the source node as the center and the communication distance as the radius;

[0049] The first defined area is a three-dimensional area defined with the destination node as the center and the distance between the source node and the destination node as the radius.

[0050] In an exemplary embodiment of the present disclosure, when the source node and the destination node are in different clusters, use multiple cluster heads to transmit the data packet at the source node to the cluster head of the cluster where the destination node is located, then select the optimal relay node from the cluster where the destination node is located based on the forwarding weight of the node, and use the optimal relay node to transmit the data packet to the destination node, including:

[0051] Select the optimal relay node from the cluster where the source node is located based on the forwarding weight of the node, and use the optimal relay node to transmit the data packet at the source node to the cluster head of the cluster where the source node is located;

[0052] For each of the cluster heads, calculate the distances between it and the nearest cluster heads among other cluster heads to obtain a plurality of distance values, select the maximum distance value from the plurality of distance values, and calculate a preset transmission power for communication between cluster heads based on the maximum distance value and the receiver sensitivity, and use the preset transmission power as the transmission power when the cluster head operates;

[0053] Select an optimal relay cluster head based on the forwarding weight value of the cluster head, and use the optimal relay cluster head to transmit the data packet at the cluster head of the cluster where the source node is located to the cluster head of the cluster where the destination node is located;

[0054] Select an optimal relay node from within the cluster where the destination node is located based on the forwarding weight value of the node, and use the optimal relay node to transmit the data packet at the cluster head of the cluster where the destination node is located to the destination node.

[0055] In an exemplary embodiment of the present disclosure, the determining the coordinates of multiple nodes, the coordinates of the source node, and the coordinates of the destination node within the same time slot includes:

[0056] Obtain the coordinate data of all nodes in the underwater wireless optical communication network at the current moment;

[0057] Compare the coordinate data of all nodes at the current moment with the coordinate data of all nodes at the start moment of the current time slot to obtain the change ratio of the node coordinate data;

[0058] If the change ratio of the node coordinate data is greater than a preset change threshold, update the coordinate data of all nodes, and use the current moment as the end moment of the current time slot and the start moment of the next time slot;

[0059] If the change ratio of the node coordinate data is less than or equal to the preset change threshold, maintain the coordinate data of all nodes at the start moment of the current time slot.

[0060] The technical solutions provided by the present disclosure may include the following beneficial effects:

[0061] In the embodiments of the present disclosure, on the one hand, during the clustering process, the first energy consumption function is used to calculate the number of clusters K, which can ensure the minimum network energy consumption. Further, according to the number of clusters K, the K-Means++ algorithm is used to generate K initial clustering centers, and around the K initial clustering centers, K clusters are generated according to the K-Means iteration process, thus completing the clustering process of the underwater wireless optical communication network; on the other hand, during the data packet transmission process, the optimal relay node is selected based on the forwarding weight value of the node, which can make the found optimal relay node have both energy-saving advantages and high-quality transmission advantages, and thus is conducive to ensuring the transmission rate and transmission quality of data in the underwater wireless optical communication network.

[0062] It should be understood that the above general description and the following detailed description are merely exemplary and explanatory, and do not limit the present disclosure. BRIEF DESCRIPTION OF THE DRAWINGS

[0063] The accompanying drawings herein are incorporated into and constitute a part of this specification, showing embodiments consistent with the present disclosure, and together with the specification are used to explain the principles of the present disclosure. Obviously, the drawings in the following description are only some embodiments of the present disclosure, and those of ordinary skill in the art can obtain other drawings based on these drawings without creative efforts.

[0064] Figure 1 A flowchart showing the steps of an energy-saving opportunistic routing method for an underwater wireless optical communication network in an exemplary embodiment of the present disclosure;

[0065] Figure 2 A coordinate-limited area constructed for each node in an exemplary embodiment of the present disclosure;

[0066] Figure 3 A cluster head of each cluster and nodes of each cluster after clustering in an exemplary embodiment of the present disclosure;

[0067] Figure 4 A schematic diagram of intra-cluster routing in an exemplary embodiment of the present disclosure;

[0068] Figure 5 Candidate forwarding nodes located in the optimal candidate forwarding area in an exemplary embodiment of the present disclosure;

[0069] Figure 6 Candidate forwarding nodes located in the secondary candidate forwarding area in an exemplary embodiment of the present disclosure;

[0070] Figure 7 A schematic diagram of inter-cluster routing in an exemplary embodiment of the present disclosure;

[0071] Figure 8 A schematic diagram of a randomly selected destination node and a source node in an exemplary embodiment of the present disclosure. DETAILED DESCRIPTION OF THE EMBODIMENTS

[0072] Example embodiments will now be described more fully with reference to the accompanying drawings. However, the example embodiments can be implemented in various forms and should not be construed as limited to the examples set forth herein; rather, these embodiments are provided so that this disclosure will be more complete and comprehensive, and will fully convey the concept of the example embodiments to those skilled in the art. The described features, structures, or characteristics can be combined in any suitable manner in one or more embodiments.

[0073] In addition, the accompanying drawings are only schematic illustrations of the present disclosure and are not necessarily drawn to scale. The same reference numerals in the drawings denote the same or similar parts, and thus repeated descriptions thereof will be omitted. Some of the block diagrams shown in the drawings are functional entities and do not necessarily correspond to physically or logically independent entities. These functional entities may be implemented in software form, or in one or more hardware modules or integrated circuits, or in different networks and / or processor devices and / or microcontroller devices.

[0074] In this exemplary embodiment, a method for energy-saving opportunistic routing in an underwater wireless optical communication network is first provided. As shown in Figure 1 , the method may include the following steps:

[0075] Step S101: Obtain an underwater wireless optical communication network, where the network includes multiple nodes;

[0076] Step S102: Determine the coordinates of multiple nodes, the coordinates of the source node, and the coordinates of the destination node within the same time slot, where the source node and the destination node are any two nodes among the multiple nodes;

[0077] Step S103: Calculate the number of clusters K using the first energy consumption function based on the number and coordinates of the nodes;

[0078] Step S104: Generate K initial cluster centers using the K-Means++ algorithm according to the number of clusters K, and generate K clusters using the K-Means iterative process around the K initial cluster centers;

[0079] Step S105: Calculate the standard weight of each cluster and the self-weight of each node within each cluster, and select the cluster head within each cluster according to the standard weight and the self-weight;

[0080] Step S106: When the source node and the destination node are within the same cluster, select the optimal relay node based on the forwarding weight of the nodes, and use the optimal relay node to transmit the data packet at the source node to the destination node; or

[0081] When the source node and the destination node are in different clusters, use multiple cluster heads to transmit the data packet at the source node to the cluster head of the cluster where the destination node is located, and then select the optimal relay node from within the cluster where the destination node is located based on the forwarding weight of the nodes, and use the optimal relay node to transmit the data packet to the destination node.

[0082] In an embodiment of the present disclosure, on the one hand, during the clustering process, the first energy consumption function is used to calculate the number of clusters K, which can ensure the minimum network energy consumption. Further, according to the number of clusters K, the K-Means++ algorithm is used to generate K initial cluster centers, and around the K initial cluster centers, K clusters are generated according to the K-Means iteration process, thus completing the clustering process of the underwater wireless optical communication network; on the other hand, during the data packet transmission process, the optimal relay node is selected based on the forwarding weight of the node, which can make the found optimal relay node have both energy-saving advantages and high-quality transmission advantages, and thus is conducive to ensuring the transmission rate and transmission quality of data in the underwater wireless optical communication network.

[0083] Next, the above steps of the method in this exemplary embodiment will be described in more detail with reference to Figures 2 to 8 the following.

[0084] In one embodiment, the determining the coordinates of multiple nodes, the coordinates of the source node, and the coordinates of the destination node within the same time slot includes:

[0085] Obtaining the coordinate data of all nodes in the underwater wireless optical communication network at the current moment;

[0086] Comparing the coordinate data of all nodes at the current moment with the coordinate data of all nodes at the start moment of the current time slot to obtain the change ratio of the node coordinate data;

[0087] If the change ratio of the node coordinate data is greater than a preset change threshold, update the coordinate data of all nodes, and use the current moment as the end moment of the current time slot and the start moment of the next time slot;

[0088] If the change ratio of the node coordinate data is less than or equal to the preset change threshold, maintain the coordinate data of all nodes at the start moment of the current time slot.

[0089] According to the above update setting of the network node coordinate data, it can be seen that the length of the time slot in this embodiment can be changed in real time according to the change of the network node coordinate data, which can avoid the problem that the length of the time slot is fixed in the past and cannot adapt to the network topology change in real time.

[0090] Specifically, each node in the underwater wireless optical communication network in this embodiment has the ability of omnidirectional communication and equal initial energy and initial luminous power. The communication distance of the node can be calculated using the initial luminous power and the receiver sensitivity. Assume that the start moment of a certain time slot is t 0 , and the initial coordinate of the node at time t 0 is (x i , y i , z i), where \(i = 1, 2, \ldots, N\), and \(N\) is the total number of nodes in the underwater wireless optical communication network; refer to Figure 2 As shown in, a coordinate-limited area with the initial coordinate of each node as the center of the sphere and the communication distance \(L\) as the radius is constructed for each node.

[0091] The above preset change threshold can be set to 50%. When 50% of the nodes in the underwater wireless optical communication network move out of the corresponding coordinate-limited area, it can be regarded that the change ratio of the node coordinate data is greater than the preset change threshold, and the current moment can be recorded as \(t\) 1 , and at \(t\) 1 moment, the current time slot ends; then \(t\) 1 - \(t\) 0 is the length of the current time slot, \(t\) 0 is the start moment of the current time slot, \(t\) 1 is the end moment of the current time slot, \(t\) 1 is also the start moment of the next time slot.

[0092] In one embodiment, calculating the number of clusters \(K\) using the first energy consumption function according to the number and coordinates of the nodes includes:

[0093] According to the number and coordinates of the nodes, represent the functional relationship between the total energy consumption of the cluster heads and the number of clusters \(K\) using the first energy consumption function. The first energy consumption function is:

[0094]

[0095] where \(E(K)\) represents the total energy consumption of the cluster heads, \(E\) r represents the energy consumed by a node to process and receive an \(n\)-bit data packet, \(E\) t represents the energy consumed by a node to process and send an \(n\)-bit data packet, \(E\) p represents the energy consumed by a node to process 1 bit of data, \(P\) r represents the received power, \(R\) b represents the data transmission rate, \(c(\lambda)\) represents the extinction coefficient, \(N\) represents the number of nodes, \(K\) represents the number of clusters, \(n\) represents the data packet size, represents the average value of the distances between all nodes and their nearest neighbors;

[0096] Determine the value of the number of clusters \(K\) by finding the minimum value of the first energy consumption function.

[0097] The above represents the functional relationship between the total energy consumption of the cluster heads and the number of clusters \(K\) using the first energy consumption function based on the number and coordinate data of the nodes, and determines the value of the number of clusters \(K\) by finding the minimum value of the first energy consumption function. It can be seen that network energy consumption is considered in the calculation of the number of clusters \(K\), achieving the effect of balanced energy consumption.

[0098] Specifically, assume that the number of nodes in the underwater wireless optical communication network is N, and the number of clusters is K. Then the average number of nodes in each cluster is N / K. The energy E consumed by a node to process and receive an n-bit data packet r can be calculated by formula (4):

[0099]

[0100] where E r represents the energy consumed by a node to process and receive an n-bit data packet, and E p represents the energy consumed by a node to process 1 bit of data, P r represents the received power, R b represents the data transmission rate, and n represents the data packet size;

[0101] The energy E consumed by a node to process and send an n-bit data packet t can be calculated by formula (5):

[0102]

[0103] where E t represents the energy consumed by a node to process and send an n-bit data packet, and E p represents the energy consumed by a node to process 1 bit of data, P r represents the received power, R b represents the data transmission rate, and n represents the data packet size.

[0104] The relationship between the above P t and P r can be expressed by formula (6):

[0105]

[0106] where c(λ) represents the extinction coefficient, represents the average value of the distances between all nodes and their nearest neighboring nodes.

[0107] It should be noted that by substituting formulas (4) to (6) into formula (1), based on formula (1), the minimum value of the first energy consumption function can be obtained to determine the value of the number of clusters K. It can be seen that the value of the number of clusters K in this embodiment can ensure that the network energy consumption is minimized.

[0108] In one embodiment, the step of generating K initial clustering centers according to the number of clusters K using the K-Means++ algorithm includes:

[0109] a1. Randomly select a node from the multiple nodes as the initial clustering center;

[0110] b1. Calculate the shortest distance from each of the nodes to the initial cluster center;

[0111] c1. Calculate the probability value corresponding to each of the nodes based on the shortest distance, obtain the multiple probability values corresponding to the multiple nodes, and select the node corresponding to the maximum probability value as the next initial cluster center;

[0112] d1. Repeat steps b1 and c1 until K initial cluster centers are obtained.

[0113] Further, generating K clusters by using the K-Means iterative process around the K initial cluster centers includes:

[0114] a2. Calculate the distances from each of the nodes to the K initial cluster centers, and assign the nodes to the clusters of the initial cluster centers with the closest distances;

[0115] b2. Calculate the mean value of the three-dimensional coordinate data of all the nodes included in each cluster, and use the mean value as the three-dimensional coordinate data of the updated cluster center;

[0116] c2. Repeat steps b2 and c2 until the three-dimensional coordinate data of the updated K cluster centers no longer changes, and obtain the clustering result of the K clusters. As shown in Figure 3 , which shows the cluster heads of each cluster after clustering and the nodes of each cluster, where the same shape indicates belonging to the same cluster.

[0117] Based on the coordinate data of the nodes above, according to the number of clusters K, using the K-Means++ algorithm to generate K initial cluster centers, and around the K initial cluster centers, generating K clusters according to the K-Means iterative process, thus completing the clustering process of the underwater wireless optical communication network, which can ensure the clustering effect and is conducive to further determining the cluster heads beneficial to data packet transmission based on the clustering result here.

[0118] In one embodiment, calculating the standard weight value of each cluster and the self-weight value of each node in each cluster, and selecting the cluster head in each cluster according to the standard weight value and the self-weight value includes:

[0119] Calculating the standard weight value of each cluster, and the expression of the standard weight value is:

[0120]

[0121] where W std represents the standard weight value, c 1 and c 2 represent the decision factors of energy and distance, Avg(D cc) represents the average distance from the nodes in the cluster to the cluster center of the cluster, E total It represents the energy consumed by the cluster head of the cluster to receive a data packet from all nodes in the cluster and send a data packet to the other cluster heads in the network. M is the number of nodes in the cluster, and E p It represents the energy consumed by a node to process 1 bit of data, P r Represents the received power, R b represents the data transmission rate, c(λ) represents the extinction coefficient, K represents the number of clusters, n represents the packet size, Represents the average distance between all nodes and their nearest neighboring nodes;

[0122] Calculate the self-weight of each node in each cluster. The expression of the self-weight is:

[0123] W ni =c 1 ·E ni +c 2 ·D cc (3)

[0124] Among them, W ni represents its own weight, E ni represents the residual energy of the node, D cc Indicates the distance from the node to the cluster center of its cluster;

[0125] For each cluster, a node corresponding to its own weight that is closest to the standard weight of the cluster is selected as the cluster head of the cluster.

[0126] The above cluster head selection process takes network energy consumption into consideration, which is conducive to achieving the effect of balanced energy consumption.

[0127] It should be noted that, based on the clustering process of step S104 and the cluster head selection process of step S105, there are two situations in the data transmission process: 1) the source node and the destination node are located in the same cluster; 2) the source node and the destination node are located in different clusters. Therefore, under the premise of considering both node energy consumption and link quality, step S106 of this embodiment further provides the energy-saving opportunity routing process in the above two situations.

[0128] In one embodiment, when the source node and the destination node are located in the same cluster, selecting an optimal relay node from the same cluster based on the forwarding weight of the node, and using the optimal relay node to transmit the data packet at the source node to the destination node includes:

[0129] a3. Determine whether the destination node is within the communication range of the source node according to the communication distance of the source node, the coordinates of the source node and the coordinates of the destination node;

[0130] b3. If the destination node is within the communication range of the source node, the data packet at the source node is sent to the destination node. If the destination node is outside the communication range of the source node, steps c3 to e3 are executed;

[0131] c3. According to the communication distance of the source node, the coordinates of the source node, and the coordinates of the destination node, multiple candidate forwarding nodes are selected from the nodes within the same cluster;

[0132] d3. Calculate the forwarding weight values of the candidate forwarding nodes, and select the optimal relay node from the multiple candidate forwarding nodes based on the forwarding weight values;

[0133] e3. Take the optimal relay node as the next source node, and repeat steps c3 to d3 until the destination node is within the communication range of the source node, then send the data packet at the source node to the destination node.

[0134] It should be noted that in step d3, the candidate forwarding node with the largest forwarding weight value has the highest forwarding priority and can become the optimal relay node, while the forwarding priorities of the remaining candidate forwarding nodes decrease in order from largest to smallest according to the forwarding weight values. In this way, considering both energy consumption and link quality during the calculation of the forwarding weight values of the candidate forwarding nodes can make the obtained optimal relay node have both energy-saving advantages and high-quality transmission advantages.

[0135] Reference Figure 4 As shown in, it shows the in-cluster routing schematic diagram obtained through the above steps a3 to e3 when the source node and the destination node are within the same cluster. For the case where the source node and the destination node are within the same cluster, by first selecting multiple candidate forwarding nodes from the nodes within the same cluster, and then selecting the optimal relay node from the multiple candidate forwarding nodes based on the forwarding weight values, the effect of balancing node energy consumption and link quality is achieved.

[0136] Specifically, the calculation formula for the forwarding weight value of the candidate forwarding node is as follows:

[0137]

[0138] where α and β respectively represent the weight coefficients of energy consumption and link packet delivery rate, E res (i) represents the remaining energy of the candidate forwarding node, E init represents the initial energy of the candidate forwarding node, P(i) represents the link packet delivery rate from the source node to the candidate forwarding node, and P max represents the maximum value of the link packet delivery rate.

[0139] In one embodiment, referring to Figures 5 to 6 as shown in

[0140] selecting a plurality of candidate forwarding nodes from the nodes within the same cluster according to the communication distance of the source node, the coordinates of the source node, and the coordinates of the destination node, includes:

[0141] determining an optimal candidate forwarding area according to the communication distance of the source node, the coordinates of the source node, and the coordinates of the destination node; Figure 5 when there are nodes within the optimal candidate forwarding area, taking the nodes located within the optimal candidate forwarding area as the candidate forwarding nodes; wherein, as

[0142] shown in Figure 6 nodes C, D, and E are all located within the optimal candidate forwarding area, that is, nodes C, D, and E are all candidate forwarding nodes;

[0143] when there are no nodes within the optimal candidate forwarding area, expanding the optimal candidate forwarding area to obtain a secondary candidate forwarding area, and taking the nodes located within the secondary candidate forwarding area as the candidate forwarding nodes; wherein, as

[0144] shown in Figure 5 nodes C and D are located within the secondary candidate forwarding area, that is, nodes C and D are candidate forwarding nodes. Figure 6 The above-mentioned method of expanding the optimal candidate forwarding area to obtain a secondary candidate forwarding area when there are no nodes within the optimal candidate forwarding area, thus adding a hole processing mechanism, is beneficial to further ensuring the reliability of network end-to-end transmission, reducing the risk of frequent network connection interruptions when the network node density is low, and achieving the goal of ensuring reliable network transmission while balancing node energy consumption and extending the network lifetime.

[0145] Specifically, referring to

[0146] as shown in

[0147] the optimal candidate forwarding area is the area where the first communication area 1 intersects with the first defined area 2; referring to Figure 6 as shown in

[0145] the secondary candidate forwarding area is the first communication area 1;

[0145] wherein, the first communication area 1 is a three-dimensional area defined with the source node A as the center and the communication distance L as the radius;

[0146] the first defined area 2 is a three-dimensional area defined with the destination node B as the center and the distance between the source node A and the destination node B as the radius.

[0147] In one embodiment, when the source node and the destination node are in different clusters, a plurality of cluster heads are used to transmit the data packet at the source node to the cluster head of the cluster where the destination node is located, and then an optimal relay node is selected from within the cluster where the destination node is located based on the forwarding weight value of the node, and the data packet is transmitted to the destination node by using the optimal relay node, including:

[0148] An optimal relay node is selected from within the cluster where the source node is located based on the forwarding weight value of the node, and the data packet at the source node is transmitted to the cluster head of the cluster where the source node is located by using the optimal relay node;

[0149] For each cluster head, calculate the distance between it and the nearest cluster head among other cluster heads to obtain a plurality of distance values, select the maximum distance value from the plurality of distance values, and calculate the preset transmission power for communication between cluster heads based on the maximum distance value and the receiver sensitivity, and use the preset transmission power as the transmission power when the cluster head works;

[0150] An optimal relay cluster head is selected based on the forwarding weight value of the cluster head, and the data packet at the cluster head of the cluster where the source node is located is transmitted to the cluster head of the cluster where the destination node is located by using the optimal relay cluster head;

[0151] An optimal relay node is selected from within the cluster where the destination node is located based on the forwarding weight value of the node, and the data packet at the cluster head of the cluster where the destination node is located is transmitted to the destination node by using the optimal relay node.

[0152] It should be noted that, on the one hand, for the specific implementation steps of selecting the optimal relay node from within the same cluster based on the forwarding weight value of the node and the specific implementation steps of selecting the optimal relay node from within the cluster where the destination node is located based on the forwarding weight value of the node, reference can be made to the aforementioned steps c3 to d3, and the principle is the same, so it will not be elaborated here; on the other hand, by calculating the distance between each cluster head and the nearest cluster head among other cluster heads to obtain a plurality of distance values, selecting the maximum distance value from the plurality of distance values, and calculating the preset transmission power for communication between cluster heads based on the maximum distance value and the receiver sensitivity, and using this preset transmission power as the transmission power when the cluster head works, this method can ensure that there is definitely another cluster head within the communication range of each cluster head, thereby ensuring that for each cluster head, an optimal relay cluster head can be selected within its communication range to achieve the transmission of the data packet at the cluster head of the cluster where the source node is located to the cluster head of the cluster where the destination node is located.

[0153] Reference Figure 7As shown, it shows the inter-cluster routing schematic diagram obtained through the above steps when the source node and the destination node are in different clusters. Node A is the source node and node B is the destination node. First, node A can send the data packet to the cluster head CH1 of the cluster where node A is located in the above intra-cluster routing manner (refer to steps a3 to e3). Among them, nodes C and D are the optimal relay nodes selected in different rounds. Then, the cluster head CH1 adjusts its own transmission power. The specific idea of the transmission power adjustment is as follows: Each cluster head calculates the distance between itself and the nearest cluster head among the other cluster heads, obtains multiple distance values, selects the maximum distance value from the multiple distance values, and calculates the preset transmission power for communication between cluster heads based on the maximum distance value and the receiver sensitivity. The preset transmission power is used as the transmission power when all cluster heads work, so as to realize the adjustment of the transmission power of cluster head CH1. In this way, it can also ensure that there must be other cluster heads within the communication range of each cluster head. After the cluster head CH1 completes the transmission power adjustment, then refer to steps c3 to d3 to find the optimal relay cluster head CH2 from the neighboring cluster heads by the method of finding the optimal relay based on the forwarding weight, and send the data packet to the cluster head CH2. The cluster head CH2 then forwards the data packet to the cluster head CH3 that belongs to both its communication range and the cluster where the destination node D is located. When the cluster head CH3 receives the data packet, it can then transmit the data packet to the destination node B in the above intra-cluster routing manner (refer to steps a3 to e3).

[0154] To show the effect of the energy-saving opportunistic routing method for the underwater wireless optical communication network provided in this embodiment, the following gives the simulation experiment results for illustration. Among them, Table 1 shows the parameter settings of the underwater wireless optical communication network in the simulation experiment.

[0155] Table 1 Parameter settings of the network

[0156]

[0157] According to the parameter settings in Table 1, 50 three-dimensional nodes are randomly generated to represent all the nodes of the underwater wireless optical communication network, and the average value of the distances between all nodes and their nearest neighbors is calculated. Based on the parameter settings in Table 1 above, the value of the clustering number K is calculated to be 4 through formula (1).

[0158] According to the above steps a1 to d1 and steps a2 to c2, the clustering result is obtained. Table 2 below shows the three-dimensional coordinate data of some nodes in the third cluster.

[0159] Table 2 Three-dimensional coordinate data of some nodes in the third cluster

[0160] Sequence number in the cluster x y z 3 226.9425 90.8769 -33.7193 5 215.5247 95.3691 -163.8877 7 202.5247 65.3060 -79.7782 9 53.5460 126.2495 -219.4653 10 87.1904 291.6067 -95.5179

[0161] According to the above step S105, and through formulas (2) and (3), for each cluster, select the node corresponding to its own weight that is closest to the standard weight of the cluster as the cluster head of the cluster, and obtain the three-dimensional coordinate data of the cluster head of each cluster. Table 3 below shows the three-dimensional coordinate data of the cluster heads of four clusters.

[0162] Table 3 Three-dimensional coordinate data of the cluster heads of four clusters

[0163] Sub-cluster to which CH belongs x y z The first cluster 460.2440 55.5268 -36.2631 The second cluster 209.4401 58.8354 -136.4923 The third cluster 94.2699 475.5941 -322.7817 The fourth cluster 322.3320 232.6223 -200.7015

[0164] For the cluster heads of the above four clusters, the maximum value in the closest neighbor distances of each cluster head is simulated and output as 354.8960, which is used to calculate the transmission power when communicating between cluster heads.

[0165] Allocate 500J of initial energy to each node. Assume that when a path passes through a node, its energy consumption is 20J. Refer to Figure 8 as shown in, which shows a schematic diagram of randomly selected destination nodes and source nodes. Among them, the node at the letter S1 is the source node, and the node indicated at the letter S2 is the destination node.

[0166] Implement the transmission of the data packet at the source node to the destination node according to step S106. Table 4 below shows the opportunistic routing paths for transmitting the data packet at the source node to the destination node.

[0167] Table 4 Opportunistic routing paths

[0168] Node x y z Source node 354.6825 377.3433 -138.0125 2 339.3676 378.8701 -371.5662 3 347.4143 158.5497 -475.1110 4 70.9432 210.8806 -457.8678 Destination node 59.4988 249.1820 -479.8720

[0169] The simulation outputs that the current proportion of surviving network nodes is 100%, the total network energy consumption is 80J, and the data packet is successfully delivered. It can be seen that the energy-saving opportunistic routing method for underwater wireless optical communication networks proposed in this embodiment realizes the balance of node energy consumption while ensuring reliable network transmission.

[0170] Regarding the system in the above embodiment, the specific ways in which each unit performs operations have been described in detail in the embodiment related to the method, and will not be elaborated here.

[0171] It should be noted that although several units of the system for action execution are mentioned in the above detailed description, this division is not mandatory. In fact, according to the embodiments of the present disclosure, the features and functions of the two or more units described above can be embodied in one unit. Conversely, the features and functions of one unit described above can be further divided and embodied by multiple units. Some or all of the units can be selected according to actual needs to achieve the purpose of the solution of the present disclosure. Those of ordinary skill in the art can understand and implement it without creative effort.

[0172] Other embodiments of the present disclosure will be readily apparent to those skilled in the art upon consideration of the specification and practice of the invention disclosed herein. This application is intended to cover any variations, uses, or adaptations of the present disclosure that follow the general principles of the present disclosure and include known common general knowledge or conventional technical means in the technical field not disclosed in the present disclosure. The specification and examples are only to be considered as exemplary, and the true scope and spirit of the present disclosure are pointed out by the appended claims.

Claims

1. An energy-saving opportunistic routing method for an underwater wireless optical communication network, characterized in that: include: Acquire an underwater wireless optical communication network, wherein the network includes a plurality of nodes; Determine the coordinates of multiple nodes in the same time slot, the coordinates of a source node, and the coordinates of a destination node, wherein the source node and the destination node are any two nodes among the multiple nodes; According to the number and coordinates of the nodes, the number of clusters K is calculated using a first energy consumption function; According to the clustering number K, K initial cluster centers are generated using the K-Means++ algorithm, and K clusters are generated around the K initial cluster centers using the K-Means iterative process; Calculating the standard weight of each cluster and the self-weight of each node in each cluster, and selecting a cluster head in each cluster according to the standard weight and the self-weight; When the source node and the destination node are located in the same cluster, an optimal relay node is selected based on the forwarding weight of the node, and the data packet at the source node is transmitted to the destination node by using the optimal relay node; or When the source node and the destination node are located in different clusters, multiple cluster heads are used to transmit the data packet at the source node to the cluster head of the cluster where the destination node is located, and then the optimal relay node is selected from the cluster where the destination node is located based on the forwarding weight of the node, and the data packet is transmitted to the destination node using the optimal relay node.

2. The energy-saving opportunistic routing method for underwater wireless optical communication network according to claim 1, characterized in that: The step of calculating the number of clusters K using a first energy consumption function according to the number and coordinates of the nodes includes: According to the number and coordinates of the nodes, the functional relationship between the total energy consumption of the cluster head and the number of clusters K is represented by the first energy consumption function, and the first energy consumption function is: Where E(K) represents the total energy consumption of the cluster head, E r represents the energy consumed by a node to process and receive an n-bit data packet, E t represents the energy consumed by a node to process and send an n-bit data packet, E p It represents the energy consumed by a node to process 1 bit of data, P r Represents the received power, R b represents the data transmission rate, c(λ) represents the extinction coefficient, N represents the number of nodes, K represents the number of clusters, n represents the data packet size, Represents the average distance between all nodes and their nearest neighboring nodes; The value of the clustering number K is determined by finding the minimum value of the first energy consumption function.

3. The energy-saving opportunistic routing method for underwater wireless optical communication network according to claim 1, characterized in that: The step of generating K initial cluster centers using the K-Means++ algorithm according to the cluster number K includes: a1. Randomly select a node from the multiple nodes as the initial cluster center; b1. Calculate the shortest distance from each node to the initial cluster center; c1. Calculate the probability value corresponding to each node according to the shortest distance, obtain multiple probability values ​​corresponding to multiple nodes, and select the node corresponding to the largest probability value as the next initial clustering center; d1. Repeat steps b1 and c1 until K initial cluster centers are obtained.

4. The energy-saving opportunistic routing method for underwater wireless optical communication network according to claim 3 is characterized in that: The K-Means iterative process is used to generate K clusters around the K initial cluster centers, including: a2. Calculate the distance between each node and K initial cluster centers, and assign the node to the cluster closest to the initial cluster center; b2. Calculate the mean of the three-dimensional coordinate data of all nodes included in each cluster, and use the mean as the updated three-dimensional coordinate data of the cluster center; c2. Repeat steps b2 and c2 until the updated three-dimensional coordinate data of the K cluster centers no longer change, and obtain the clustering results of K clusters.

5. The energy-saving opportunistic routing method for underwater wireless optical communication network according to claim 1, characterized in that: The step of calculating the standard weight of each cluster and the self-weight of each node in each cluster, and selecting a cluster head in each cluster according to the standard weight and the self-weight, comprises: Calculate the standard weight of each cluster, the expression of the standard weight is: Among them, W std represents the standard weight, c1 and c2 represent the determining factors of energy and distance, Avg(D cc ) represents the average distance from the nodes in the cluster to the cluster center of the cluster, E total It represents the energy consumed by the cluster head of the cluster to receive a data packet from all nodes in the cluster and send a data packet to the other cluster heads in the network. M is the number of nodes in the cluster, and E p It represents the energy consumed by a node to process 1 bit of data, P r Represents the received power, R b represents the data transmission rate, c(λ) represents the extinction coefficient, K represents the number of clusters, n represents the packet size, Represents the average distance between all nodes and their nearest neighboring nodes; Calculate the self-weight of each node in each cluster. The expression of the self-weight is: W ni =c1·E ni +c2·D cc (3) Among them, W ni Represents its own weight, E ni represents the residual energy of the node, D cc Indicates the distance from the node to the cluster center of its cluster; For each cluster, a node corresponding to its own weight that is closest to the standard weight of the cluster is selected as the cluster head of the cluster.

6. The energy-saving opportunistic routing method for underwater wireless optical communication network according to claim 1, characterized in that: When the source node and the destination node are located in the same cluster, selecting an optimal relay node based on the forwarding weight of the node, and using the optimal relay node to transmit the data packet at the source node to the destination node, comprising: a3. Determine whether the destination node is within the communication range of the source node according to the communication distance of the source node, the coordinates of the source node and the coordinates of the destination node; b3. If the destination node is within the communication range of the source node, the data packet at the source node is sent to the destination node; if the destination node is outside the communication range of the source node, steps c3 to e3 are executed; c3. Selecting multiple candidate forwarding nodes from nodes in the same cluster according to the communication distance of the source node, the coordinates of the source node and the coordinates of the destination node; d3. Calculate the forwarding weight of the candidate forwarding node, and select the optimal relay node from the plurality of candidate forwarding nodes based on the forwarding weight; e3. Take the optimal relay node as the next source node and repeat steps c3 to d3 until the destination node is within the communication range of the source node, then send the data packet at the source node to the destination node.

7. The energy-saving opportunistic routing method for underwater wireless optical communication network according to claim 6, characterized in that: The selecting a plurality of candidate forwarding nodes from nodes in the same cluster according to the communication distance of the source node, the coordinates of the source node and the coordinates of the destination node comprises: Determine an optimal candidate forwarding area according to the communication distance of the source node, the coordinates of the source node and the coordinates of the destination node; When there is a node in the optimal candidate forwarding area, taking the node in the optimal candidate forwarding area as the candidate forwarding node; When there is no node in the optimal candidate forwarding area, the optimal candidate forwarding area is expanded to obtain a secondary candidate forwarding area, and the nodes located in the secondary candidate forwarding area are used as the candidate forwarding nodes.

8. The energy-saving opportunistic routing method for underwater wireless optical communication network according to claim 7, characterized in that: The optimal candidate forwarding area is the area where the first communication area intersects with the first limited area, and the secondary candidate forwarding area is the first communication area; The first communication area is a three-dimensional area with the source node as the center and the communication distance as the radius; The first limited area is a three-dimensional area with the destination node as the center and the distance between the source node and the destination node as the radius.

9. The energy-saving opportunistic routing method for underwater wireless optical communication network according to claim 1, characterized in that: When the source node and the destination node are located in different clusters, the data packet at the source node is transmitted to the cluster head of the cluster where the destination node is located by using a plurality of cluster heads, and then an optimal relay node is selected from the cluster where the destination node is located based on the forwarding weight of the node, and the data packet is transmitted to the destination node by using the optimal relay node, including: Selecting an optimal relay node from the cluster where the source node is located based on the forwarding weight of the node, and using the optimal relay node to transmit the data packet at the source node to the cluster head of the cluster where the source node is located; For each cluster head, calculate the distance between the cluster head and the nearest cluster head among other cluster heads to obtain multiple distance values, select a maximum distance value from the multiple distance values, and calculate a preset transmission power for communication between cluster heads based on the maximum distance value and receiver sensitivity, and use the preset transmission power as the transmission power when the cluster head is working; Selecting an optimal relay cluster head based on the forwarding weight of the cluster head, and using the optimal relay cluster head to transmit the data packet at the cluster head of the cluster where the source node is located to the cluster head of the cluster where the destination node is located; An optimal relay node is selected from the cluster where the destination node is located based on the forwarding weight of the node, and the data packet at the cluster head of the cluster where the destination node is located is transmitted to the destination node by using the optimal relay node.

10. The energy-saving opportunistic routing method for underwater wireless optical communication network according to claim 1, characterized in that: The determining of the coordinates of the plurality of nodes in the same time slot, the coordinates of the source node and the coordinates of the destination node comprises: Acquire coordinate data of all nodes of the underwater wireless optical communication network at the current moment; Compare the coordinate data of all nodes at the current moment with the coordinate data of all nodes at the start moment of the current time slot to obtain the change ratio of the node coordinate data; If the change ratio of the node coordinate data is greater than the preset change threshold, the coordinate data of all nodes are updated, and the current time is used as the end time of the current time slot and the start time of the next time slot; If the change ratio of the node coordinate data is less than or equal to the preset change threshold, the coordinate data of all nodes at the start time of the current time slot are maintained.