Adaptive probability broadcast method and system for flight ad hoc network data transmission

By using adaptive probability broadcasting method in the flight ad hoc network, updating neighbor tables and calculating forwarding probability, the broadcast storm problem in FANET is solved, and the packet transmission efficiency and success rate are improved.

CN119450362APending Publication Date: 2025-02-14CHINESE PEOPLES LIBERATION ARMY UNIT 32806
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202310941135.7
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2023-07-28
Publication Date
2025-02-14

AI Technical Summary

Technical Problem

The broadcast storm problem in Flight Adaptive Network (FANET) is serious, resulting in network congestion and packet loss, and it is difficult for the existing technology to effectively solve this problem.

Method used

An adaptive probability broadcasting method is proposed. By extracting the packet header information of the data packet, updating the neighbor table, determining whether the data packet can be forwarded, and selecting an appropriate algorithm based on the connection status and type of the node to calculate the forwarding probability for packet forwarding.

Benefits of technology

This method can reduce the redundancy and invalid forwarding of data packets in FANET, avoid network congestion, improve communication effect, improve packet transmission success rate and reduce transmission delay.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119450362A_ABST
    Figure CN119450362A_ABST
Patent Text Reader

Abstract

The invention provides an adaptive probability broadcast method and system for flight ad hoc network data transmission, and the method comprises the steps: extracting the packet header information of a data packet when a node monitors the data packet, updating a neighbor table of the node, and judging whether the data packet is forwarded or not; determining the connection state and type of the node by calculating the connectivity of the node based on the neighbor table; when it is judged that the data packet can be forwarded, a corresponding algorithm is selected from set algorithms based on the connection state and type of the node, the node forwarding probability is calculated by using the corresponding algorithm, and the data packet is forwarded according to the probability; according to the method, on the basis of the neighbor tables established with the nodes in a one-to-one mode, the node connection state can be sensed by calculating the connectivity of the nodes, and then the dynamic change of the ad hoc network topology is determined; according to different connection states, the corresponding algorithm is selected to calculate the forwarding probability and forward the data packet, so that the flight ad hoc network data packet redundancy and invalid forwarding times can be reduced, network congestion is avoided, and the communication effect is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention belongs to the technical field of unmanned aerial vehicle wireless communications, and in particular relates to an adaptive probability broadcasting method and system for flying ad hoc network data transmission. Background Art

[0002] With the development of UAV technology, the technology of establishing UAV communication networks by using small UAVs and airborne communication equipment to form flying ad hoc networks (FANET) has attracted more and more attention. This type of technology has the advantages of strong flexibility, no dependence on infrastructure, fast networking, and strong adaptability to the environment. Therefore, it is widely used in civil and military fields. Broadcasting is a communication method that spreads information to all reachable nodes. As a strategy for effectively transmitting data in dynamic networks, it has been widely used in FANET. The simplest way to broadcast a data packet to all nodes in the network is the simple flooding method, which is easy to implement, but it has a broadcast storm problem. This is because a large number of redundant broadcast data packets are flooded in the network and cannot be processed. They will compete for limited wireless channels, causing serious network congestion, resulting in a large number of data packet losses, network performance degradation, and even network paralysis. When the scale of network nodes is large, the broadcast storm problem is more likely to occur.

[0003] At present, there are some effective solutions to alleviate the broadcast storm problem. These solutions are all proposed on the basis of traditional mobile ad hoc networks (MANET) and vehicle-mounted ad hoc networks (VANET). However, due to the special application environment of FANET, these methods cannot completely solve the broadcast storm problem faced by FANET. The special feature of FANET is that it has the characteristics of high-speed node movement, drastic topology changes, special motion model, and unstable node state. Therefore, FANET needs special methods to alleviate the broadcast storm problem and improve data transmission efficiency. Another broadcast method in ad hoc networks is the probabilistic broadcast method. Probabilistic broadcast is similar to the flooding algorithm, but the nodes rebroadcast according to a predetermined probability. This broadcast method can stop rebroadcasting in a network with dense nodes to save node and network resources. Therefore, how to use probabilistic broadcasting to meet the needs of data transmission in FANET is a problem that needs to be solved at present. Summary of the invention

[0004] In order to overcome the above-mentioned deficiencies of the prior art, the present invention proposes an adaptive probabilistic broadcast method for data transmission in a flight ad hoc network, comprising:

[0005] When any node in the flying ad hoc network receives a data packet by monitoring the broadcast, the neighbor table of any node is updated by extracting the packet header information of the data packet, and the set forwarding criteria are used to determine whether the data packet can be forwarded;

[0006] Based on the updated neighbor table, determining the connection state and type of any node by calculating the connectivity of any node;

[0007] When it is determined that the data packet can be forwarded, a corresponding algorithm is determined from the set algorithms based on the connection state and type of any one of the nodes, and the probability of any one of the nodes forwarding the data packet is calculated using the corresponding algorithm to forward the data packet;

[0008] Among them, the neighbor table is a neighbor table generated one-to-one with any one of the nodes, and is used to record the information of all nodes in the flying ad hoc network topology perceived by any one of the nodes; the setting algorithm includes a calculation model based on ant colony algorithm and a calculation model based on probability theory.

[0009] Preferably, the updating of the neighbor table of any node by extracting the header information of the data packet and judging whether the data packet can be forwarded by using a set forwarding criterion includes:

[0010] Extracting header information from the data packet;

[0011] Based on the packet header information, update the information of all the nodes recorded in the neighbor table;

[0012] Based on the packet header information, determining whether the data packet can be forwarded using the forwarding criterion;

[0013] The packet header information includes the source node ID that generates the data packet, a forwarding record table that records the node ID that has forwarded the data packet, the data packet ID, the maximum number of forwarding times of the data packet, the time when the data packet is sent from the source node, the data packet forwarding timeout threshold and the optimal node ID;

[0014] The information of all nodes includes the ID of the node in the flight ad hoc network topology sensed by any node, the total number of nodes, the neighbor ID and the number of neighbors;

[0015] The forwarding criteria include that the data packet has not been forwarded by any of the nodes, the forwarding record table is not filled, and the difference between the time when the data packet is received and the time when the data packet is sent from the data source node is less than a set time threshold.

[0016] Preferably, updating the information of all nodes recorded in the neighbor table based on the packet header information includes:

[0017] Determine the ID of the node that has forwarded the data packet based on the forwarding record table in the packet header information;

[0018] Determine the neighbor relationship between the nodes that have forwarded the data packet based on the source node ID in the packet header information and the ID of the node that has forwarded the data packet;

[0019] Based on the source node ID and the ID of the node that forwarded the data packet, the ID and the total number of nodes in the flight self-organizing network topology perceived by any node in the neighbor table are updated, and based on the neighbor relationship between the nodes that forwarded the data packet, the neighbor ID and the number of neighbors of the nodes in the flight self-organizing network topology perceived by any node in the neighbor table are updated.

[0020] Preferably, judging whether the data packet can be forwarded based on the packet header information and using the forwarding criterion includes:

[0021] Based on the forwarding record table in the packet header information, using the forwarding criterion that the data packet has not been forwarded by any of the nodes, determining whether the data packet has been forwarded by any of the nodes;

[0022] Based on the forwarding record table, using a forwarding criterion that the forwarding record table is not filled, determining whether the forwarding record table is filled;

[0023] Based on the current time, the time when the data packet in the packet header information is sent from the source node and the data packet forwarding timeout threshold, using the forwarding criterion that the difference between the time when the data packet is received and the time when the data packet is sent from the data source node is less than the set time threshold, it is determined whether the difference between the time when the data packet is received and the time when the data packet is sent from the data source node is less than the set time threshold;

[0024] When it is determined that the data packet has not been forwarded by any of the nodes, the forwarding record table is not filled, and the difference between the time when the data packet is received and the time when the data packet is sent from the data source node is less than the set time threshold, a forwarding judgment result that the data packet can be forwarded is obtained; otherwise, a judgment result that the data packet is not forwarded is obtained, and the broadcast is monitored;

[0025] Wherein, the time threshold is set based on the data packet forwarding timeout threshold.

[0026] Preferably, the determining the connection state and type of any node by calculating the connectivity of any node based on the updated neighbor table includes:

[0027] Check the neighbor table according to a set period, obtain and determine the number of neighbors and neighbor IDs perceived by any node based on the ID and total number of nodes in the flight ad hoc network topology perceived by any node in the neighbor table;

[0028] Determine the average number of neighbors of all nodes sensed by any node based on the total number of nodes sensed by any node, the neighbor IDs sensed by any node, and the number of neighbors and neighbor IDs of nodes in the flight ad hoc network topology sensed by any node in the neighbor table;

[0029] The connectivity of any node is calculated based on the total number of nodes sensed by any node and the average number of neighbors of all nodes sensed by any node to obtain a connectivity index of any node, and based on the connectivity index of any node, a connection state of any node is determined by using a set connectivity index threshold;

[0030] When the connection state of any node is a sparse connection state, determining the type of any node by traversing all neighbors in the neighbor table based on the neighbor ID perceived by any node;

[0031] Among them, the ratio of the average number of neighbors of all nodes perceived by any node to the total number of nodes perceived by any node is the connectivity index of any node; the connection state of any node includes a dense connection state and a sparse connection state; the type of any node includes an exit node and a non-exit node.

[0032] Preferably, the determining the connection status of any node based on the connectivity index of any node by using a set connectivity index threshold comprises:

[0033] Determining whether the connectivity index of any of the nodes is less than the connectivity index threshold;

[0034] When the connectivity index of any node is less than a set connectivity index threshold, the connection state of any node is judged to be a sparse connection state; otherwise, the connection state of any node is judged to be a dense connection state;

[0035] Wherein, the connectivity index threshold is set based on the number of nodes in the flight ad hoc network.

[0036] Preferably, when the connection state of any node is a sparse connection state, determining the type of any node by traversing all neighbors in the neighbor table based on the neighbor ID perceived by any node includes:

[0037] When the connection state of any of the nodes is a sparse connection state, based on the neighbor ID perceived by any of the nodes, by traversing the neighbor nodes of all the neighbors perceived by any of the nodes in the neighbor table, it is determined whether there is a neighbor node that includes all the neighbors of any of the nodes and has neighbors that any of the nodes do not have;

[0038] If there is a neighbor node that includes all neighbors of the any node and has neighbors that the any node does not have, the type of the any node is determined to be a non-exit node; otherwise, the type of the any node is determined to be an exit node.

[0039] Preferably, when it is determined that the data packet can be forwarded, a corresponding algorithm is determined from a set algorithm based on the connection state and type of any node, and the probability of any node forwarding the data packet is calculated using the corresponding algorithm to forward the data packet, including:

[0040] When it is determined that the data packet can be forwarded, determining whether any of the nodes is in a densely connected state based on the connection state of any of the nodes;

[0041] When it is determined that the connection state of any node is a dense connection state, the algorithm is determined to be a calculation model based on probability theory, and the probability of any node forwarding the data packet is calculated based on the forwarding record table and the neighbor table using the calculation model based on probability theory; otherwise, the connection state of any node is determined to be a sparse connection state, and further it is determined whether any node is a non-exit node;

[0042] When it is determined that any of the nodes is a non-exit node, the probability that any of the nodes forwards the data packet is determined to be 0; otherwise, the algorithm is determined to be a calculation model based on an ant colony algorithm, and the probability that any of the nodes forwards the data packet is calculated based on the optimal node ID using the calculation model based on the ant colony algorithm;

[0043] Based on the probability of any node forwarding the data packet, updating the packet header information and forwarding the data packet;

[0044] Among them, the calculation model based on probability theory takes the maximum success rate of data packet transmission as the goal, and is set based on the average number of times and probability range that the data packet is allowed to be forwarded by the entire flying ad hoc network as constraints; the calculation model based on the ant colony algorithm uses the nodes through which the data packet is forwarded as an analogy to the foraging path of the ant colony, and is set by calculating the pheromone concentration of the path; the optimal node is the source node of the data packet, based on all the nodes recorded in the forwarding record table of several received data packets, and is determined by the node with the largest number of different source nodes that forward the data packet and has not timed out. The optimal node is used to determine the pheromone concentration of the foraging path of the ant colony.

[0045] Preferably, the calculating the probability of any node forwarding the data packet based on the forwarding record table and the neighbor table using the probability theory-based calculation model includes:

[0046] Based on the forwarding record table, determining the number of times the data packet is forwarded;

[0047] The number of times the data packet is forwarded and the number of nodes in the flying ad hoc network topology perceived by any node in the neighbor table are brought into the probability theory-based calculation model to calculate the forwarding probability of any node.

[0048] Preferably, the setting of the computational model based on probability theory includes:

[0049] Taking the number of times the data packet is forwarded and the number of nodes in the flight ad hoc network topology sensed by any node as input, and the probability of any node forwarding the data packet as output, based on the set average transmission success rate of data packets sent directly from one node to another node without forwarding and the average number of times data packets are allowed to be forwarded by the entire flight ad hoc network, with the maximum data packet transmission success rate as the goal, and the average number of times data packets are allowed to be forwarded by the entire flight ad hoc network and the probability range as constraints, the setting is performed;

[0050] The data packet transmission success rate is calculated based on the average transmission success rate of the data packets directly sent from one node to another node without forwarding, using the probability calculation formula of the product event of n independent events in probability theory.

[0051] Preferably, the computational model based on probability theory is expressed as follows:

[0052]

[0053] Where i is the number of times the data packet is forwarded, P i is the probability that the data packet is forwarded by any node after being forwarded i times, N is the number of nodes in the flight ad hoc network topology perceived by any node, s0 is the average transmission success rate of a data packet sent directly from one node to another without forwarding, and c is the average number of times a data packet is allowed to be forwarded by the entire flight ad hoc network.

[0054] Preferably, the calculating, based on the optimal node ID, the probability of any node forwarding the data packet using the calculation model based on the ant colony algorithm includes:

[0055] Taking any of the nodes as a path for the ant colony to forage, and determining whether the optimal node ID is the ID of any of the nodes;

[0056] When it is determined that the optimal node ID is the ID of any of the nodes, the source node ID of the data packet is recorded, and the number of the recorded source node IDs that have not timed out is used as the pheromone concentration of the path; otherwise, no record is made;

[0057] Determine whether the pheromone concentration of the one path is greater than a set pheromone concentration threshold;

[0058] When it is determined that the pheromone concentration of the path is greater than the pheromone concentration threshold, the probability of any node forwarding the data packet is determined to be 1; otherwise, the probability of any node forwarding the data packet is determined to be a ratio of 1 to the number of neighbors sensed by any node;

[0059] Wherein, the pheromone concentration threshold is set based on the total number of nodes in the flying ad hoc network.

[0060] Preferably, updating the packet header information and forwarding the data packet based on the probability of forwarding the data packet by any node comprises:

[0061] Determine whether to forward the data packet based on the probability that any node forwards the data packet;

[0062] When it is determined to forward the data packet, the packet header information is updated by filling the ID of any node into the forwarding record table, and the data packet with the updated packet header information is forwarded; otherwise, the data packet is discarded.

[0063] Based on the same inventive concept, the present invention also provides an adaptive probability broadcasting system for flight ad hoc network data transmission, which is used to implement the adaptive probability broadcasting method for flight ad hoc network data transmission, including: a forwarding judgment module, a state perception module and a probability calculation and forwarding module;

[0064] The forwarding judgment module is used to update the neighbor table of any node by extracting the header information of the data packet when any node in the flying ad hoc network receives a data packet through broadcast monitoring, and to judge whether the data packet can be forwarded by using the set forwarding criteria;

[0065] The state perception module is used to determine the connection state and type of any node by calculating the connectivity of any node based on the updated neighbor table;

[0066] The probability calculation and forwarding module is used to determine a corresponding algorithm from the set algorithm based on the connection status and type of any node when it is determined that the data packet can be forwarded, and use the corresponding algorithm to calculate the probability of any node forwarding the data packet to forward the data packet;

[0067] Among them, the neighbor table is a neighbor table generated one-to-one with any one of the nodes, and is used to record the information of all nodes in the flying ad hoc network topology perceived by any one of the nodes; the setting algorithm includes a calculation model based on ant colony algorithm and a calculation model based on probability theory.

[0068] Compared with the closest prior art, the present invention has the following beneficial effects:

[0069] 1. The present invention provides an adaptive probabilistic broadcasting method and system for data transmission in a flying ad hoc network, comprising: when any node in the flying ad hoc network monitors the broadcast and receives a data packet, the neighbor table of the any node is updated by extracting the packet header information of the data packet, and a set forwarding criterion is used to determine whether the data packet can be forwarded; based on the updated neighbor table, the connection status and type of the any node are determined by calculating the connectivity of the any node; when it is determined that the data packet can be forwarded, a corresponding algorithm is determined from a set algorithm based on the connection status and type of the any node, and the corresponding algorithm is used to calculate the probability of the any node forwarding the data packet to forward the data packet; wherein the neighbor table is a pair of nodes corresponding to the any node. A generated neighbor table is used to record the information of all nodes in the FANET topology perceived by any node; the setting algorithm includes a calculation model based on an ant colony algorithm and a calculation model based on probability theory; the present invention is based on a neighbor table established one-to-one with a node, and can realize the connection state perception of the node itself by calculating the connectivity of the node, and can determine the dynamic change result of the FANET topology by perceiving the connection state of the node itself; based on the connection state of the node itself, a corresponding algorithm is selected from the calculation model based on the ant colony algorithm and the calculation model based on probability theory provided by the present invention to calculate the forwarding probability, and the data packet is forwarded through probability broadcasting according to the forwarding probability obtained, which can reduce the redundancy of data packets and the number of invalid forwarding times in FANET, avoid network congestion, and improve the communication effect;

[0070] 2. The method and system provided by the present invention can be applied to FANETs of different scales and dynamic topology changes, and the method and system provided by the present invention can be used to perform probabilistic broadcasting of data packets, thereby improving the transmission success rate of data packets and reducing the transmission delay of data packets. BRIEF DESCRIPTION OF THE DRAWINGS

[0071] Figure 1 A schematic flow chart of an adaptive probability broadcast method for data transmission in a flight ad hoc network provided by the present invention;

[0072] Figure 2 A schematic flow chart of an embodiment of an adaptive probability broadcast method for flying ad hoc network data transmission provided by the present invention;

[0073] Figure 3 A schematic diagram of the topological structure of densely connected nodes of a flying ad hoc network provided by the present invention;

[0074] Figure 4 A line chart showing the average data packet transmission success rate of data packet transmission using the method provided by the present invention;

[0075] Figure 5 A line chart showing the end-to-end delay of data packet transmission using the method provided by the present invention;

[0076] Figure 6 A basic structural diagram of an adaptive probabilistic broadcasting system for flying ad hoc network data transmission provided by the present invention. DETAILED DESCRIPTION

[0077] In order to transmit data efficiently and timely in FANET with different node scales and dynamically changing topology, the present invention proposes an adaptive probabilistic broadcast method for dynamically sensing node status to meet the communication needs of actual FANET and support effective collaboration among drone swarms.

[0078] The specific implementation modes of the present invention are further described in detail below with reference to the accompanying drawings.

[0079] Embodiment 1:

[0080] The present invention provides an adaptive probability broadcast method for data transmission in a flight ad hoc network, and its flow chart is as follows: Figure 1 As shown, including:

[0081] Step 1: When any node in the flying ad hoc network receives a data packet by monitoring the broadcast, the neighbor table of any node is updated by extracting the packet header information of the data packet, and the set forwarding criteria are used to determine whether the data packet can be forwarded;

[0082] Step 2: Based on the updated neighbor table, determine the connection state and type of any node by calculating the connectivity of any node;

[0083] Step 3: When it is determined that the data packet can be forwarded, a corresponding algorithm is determined from the set algorithm based on the connection state and type of any node, and the probability of any node forwarding the data packet is calculated using the corresponding algorithm to forward the data packet;

[0084] Among them, the neighbor table is a neighbor table generated one-to-one with any one of the nodes, and is used to record the information of all nodes in the flying ad hoc network topology perceived by any one of the nodes; the setting algorithm includes a calculation model based on ant colony algorithm and a calculation model based on probability theory.

[0085] Step 1 includes:

[0086] Any node keeps monitoring, and when a data packet is received, extracts packet header information from the data packet;

[0087] Analyze the packet header information, and update the information of all nodes recorded in the neighbor table established and maintained by any node according to the information; use the forwarding criterion to determine whether to forward the data packet;

[0088] The data packet is composed of a custom packet header and user data; the packet header information includes the source node ID that generates the data packet, a forwarding record table that records the node ID that has forwarded the data packet, the data packet ID (which also represents the sending time), the maximum number of data packet forwarding times (or the allowed number of forwarding times), the data packet forwarding timeout threshold and the optimal node ID.

[0089] The neighbor table is a data structure of N rows and 3 columns that stores the topological connection relationship perceived by any node; N is the total number of nodes in the flight ad hoc network topology perceived by any node, and each row in the neighbor table describes the ID of the node in the flight ad hoc network topology perceived by any node, as well as all neighbor IDs and number of neighbors of this node;

[0090] The neighbor table updating method is that any node updates the neighbor table by reading the forwarding record table in the received packet header information, as follows:

[0091] Based on the forwarding record table in the packet header information, determine the ID of the node that has forwarded the data packet; assuming that any node d c Received from source node d s The data packet sent passes through node d1, node d2, ..., node d m , then the forwarding record table is {d1, d2, ..., d m};

[0092] Based on the source node ID in the packet header information and the ID of the node that forwarded the data packet, determine the neighbor relationship between the nodes that forwarded the data packet; according to the forwarding record table {d1, d2, ..., d m}, you can get d s with d1, d1 with d2, …, d m With d c Information about being neighbors;

[0093] Based on the source node ID and the ID of the node that forwarded the data packet, the ID and the total number of nodes in the flying self-organizing network topology perceived by any node in the neighbor table are updated, and based on the neighbor relationship between the nodes that forwarded the data packet, the neighbor ID and the number of neighbors of the nodes in the flying self-organizing network topology perceived by any node in the neighbor table are updated, and the update time of the neighbor table is updated at the same time.

[0094] Any node determines whether to forward the data packet according to the following three forwarding criteria:

[0095] 1) The data packet has not been forwarded by any of the nodes;

[0096] 2) The forwarding record table is not filled;

[0097] 3) The difference between the time when the data packet is received and the time when the data packet is sent from the data source node is less than a set time threshold; the time threshold is set based on the data packet forwarding timeout threshold.

[0098] Specifically:

[0099] Based on the forwarding record table, using the forwarding criterion that the data packet has not been forwarded by any of the nodes, determining whether the data packet has been forwarded by any of the nodes;

[0100] Based on the forwarding record table, using a forwarding criterion that the forwarding record table is not filled, determining whether the forwarding record table is filled;

[0101] Based on the current time, the time when the data packet in the packet header is sent from the source node and the data packet forwarding timeout threshold, using the forwarding criterion that the difference between the time when the data packet is received and the time when the data packet is sent from the data source node is less than the set time threshold, it is determined whether the difference between the time when the data packet is received and the time when the data packet is sent from the data source node is less than the set time threshold;

[0102] If it is determined that the data packet satisfies the above three criteria at the same time, it is determined that the data packet can be forwarded, and any one of the nodes will prepare to forward the data packet; if the data packet does not meet any of the above criteria, then any one of the nodes will not forward the data packet and return to the listening state.

[0103] Step 2 specifically includes:

[0104] Any node checks the neighbor table according to a set period, obtains and determines the number of neighbors and neighbor IDs perceived by any node based on the ID and total number of nodes in the flight ad hoc network topology perceived by any node in the neighbor table;

[0105] Based on the total number of nodes perceived by any node, the neighbor ID perceived by any node, and the neighbor ID and number of neighbors of the nodes in the flight ad hoc network topology perceived by any node in the neighbor table, determine the average number of neighbors of all nodes perceived by any node;

[0106] Calculating the connectivity of any node based on the total number of nodes sensed by any node and the average number of neighbors of all nodes sensed by any node to obtain a connectivity indicator (CI) of any node;

[0107] The connectivity index of any node is calculated as follows:

[0108]

[0109] Where N a is the average number of neighbors of all nodes sensed by any node, and N is the total number of nodes sensed by any node.

[0110] Based on the connectivity index of any node, the connection state of any node is determined by using a set connectivity index threshold γ; the connection state of any node includes a dense connection state and a sparse connection state; the connectivity index threshold is set based on the number of nodes in the flight ad hoc network;

[0111] It is determined whether CI is less than γ; if CI≥γ, the connection state of any node is a dense connection state; if CI<γ, the connection state of any node is a sparse connection state.

[0112] When the connection state of any node is a sparse connection state, based on the neighbor ID perceived by any node, the type of any node is determined by traversing all neighbors in the neighbor table; the type of any node includes an exit node and a non-exit node;

[0113] Specifically, the any node determines whether there is a neighbor node that includes all neighbors of the any node and has neighbors that the any node does not have by traversing the neighbor nodes of all neighbors perceived by the any node in the neighbor table based on the neighbor ID perceived by the any node;

[0114] If there is a neighbor node that includes all neighbors of the any node and has neighbors that the any node does not have, the type of the any node is determined to be a non-exit node; otherwise, the type of the any node is determined to be an exit node.

[0115] Step 3 specifically includes:

[0116] The any node calculates the forwarding probability based on the result of the forwarding judgment and the connection state of the any node, and forwards the data packet. Specifically, if the result of the forwarding judgment is not to forward, the data packet is discarded, and the any node returns to the listening state; if the result of the forwarding judgment is that the data packet can be forwarded, the forwarding probability is calculated based on the connection state of the any node, and the forwarding is completed.

[0117] When it is determined that the data packet can be forwarded, determining whether any of the nodes is in a densely connected state based on the connection state of any of the nodes;

[0118] When it is determined that the connection state of any node is a dense connection state, the algorithm is determined to be a calculation model based on probability theory, and based on the forwarding record table and the neighbor table, the probability of any node forwarding the data packet is calculated using the calculation model based on probability theory; otherwise, the connection state of any node is determined to be a sparse connection state, and further it is determined whether any node is a non-exit node;

[0119] When the connection state of any node is a dense connection state, the probability of any node forwarding the data packet is as follows:

[0120] Determining the number of times the data packet is forwarded based on the forwarding record table in the packet header;

[0121] The number of times the data packet is forwarded and the number of nodes in the flying ad hoc network topology perceived by any node in the neighbor table are brought into the probability theory-based calculation model to calculate the forwarding probability of any node.

[0122] The setting of the computational model based on probability theory includes:

[0123] Taking the number of times the data packet is forwarded and the number of nodes in the flight ad hoc network topology sensed by any node as input, and the probability of any node forwarding the data packet as output, based on the set average transmission success rate of data packets sent directly from one node to another node without forwarding and the average number of times data packets are allowed to be forwarded by the entire flight ad hoc network, with the maximum data packet transmission success rate as the goal, and the average number of times data packets are allowed to be forwarded by the entire flight ad hoc network and the probability range as constraints, the setting is performed;

[0124] The data packet transmission success rate is calculated based on the average transmission success rate of the data packets directly sent from one node to another node without forwarding, using the probability calculation formula of the product event of n independent events in probability theory.

[0125] The calculation model based on probability theory is expressed as follows:

[0126]

[0127] Where i is the number of times the data packet is forwarded, P i is the probability that the data packet is forwarded by any node after being forwarded i times (p0 is the probability that the data packet has not been forwarded before and is ready to be forwarded by any node for the first time, p1 is the probability that the data packet has been forwarded once and is ready to be forwarded by any node for the second time, p2 is the forwarding probability that the data packet has been forwarded twice and is ready to be forwarded by any node for the third time, and so on), N is the total number of nodes in the flying ad hoc network topology perceived by any node, s0 is the average transmission success rate of a data packet sent directly from one node to another without forwarding, and c is the average number of times a data packet is allowed to be forwarded by the entire flying ad hoc network.

[0128] When it is determined that any of the nodes is a non-exit node, the probability of forwarding the data packet by any of the nodes is determined to be 0; otherwise, the algorithm is determined to be a calculation model based on the ant colony algorithm, and the probability of forwarding the data packet by any of the nodes is calculated based on the optimal node ID using the calculation model based on the ant colony algorithm; in the ant colony algorithm, the higher the pheromone concentration (pc) of the path, the greater the probability of being selected, so the present invention judges the importance of any of the nodes by calculating the pc value of the node based on the idea of ​​the ant colony algorithm, and calculates the forwarding probability (that is, when the pc value of the node is larger, the probability of forwarding through this node is greater), and in this process, any of the nodes first determines whether the optimal node in the packet header information is itself, and then determines a new optimal node to be added to the packet header information.

[0129] The computing model based on the ant colony algorithm uses the nodes through which data packets are forwarded to analogize the foraging path of ants, and is set by calculating the pheromone concentration of the path.

[0130] The optimal node is the source node of the data packet, which is determined based on the node with the largest number of different source nodes that forward data packets and has not timed out among all nodes recorded in the forwarding record table of several received data packets; the optimal node is used to determine the pheromone concentration of the ant colony foraging path.

[0131] Based on the optimal node ID, the probability of any node forwarding the data packet is calculated using the calculation model based on the ant colony algorithm. The specific process is as follows:

[0132] Taking any of the nodes as an analogy for a foraging path of an ant colony, any of the nodes will establish an optimal node table. When any of the nodes receives the data packet, it analyzes whether the optimal node ID in the packet header information of the data is the ID of any of the nodes; if the optimal node ID is the ID of any of the nodes, the source node ID of the data packet is stored in the optimal node table, and the storage time of the source node ID is updated; if the source node ID is already in the optimal node table, only the storage time is updated; otherwise, no record is made;

[0133] At a set time interval, determine whether the difference between the current time and the time of each source node stored in the optimal node table is greater than the set value (i.e., determine whether the recorded source node has timed out); if the difference between the current time and the time of storing the source node is greater than the set value (i.e., timed out), delete the source node ID corresponding to the difference between the current time and the time of storing the source node in the optimal node table; otherwise, retain the source node ID corresponding to the difference between the current time and the time of storing the source node;

[0134] The number of source nodes in the optimal node table is counted as the pheromone concentration of any node.

[0135] Determine whether the pheromone concentration of any node is greater than a set pheromone concentration threshold; the pheromone concentration threshold is set based on the total number of nodes in the flying ad hoc network;

[0136] If the pheromone concentration of any node is greater than the pheromone concentration threshold, the probability of any node forwarding the data packet is determined to be 1; otherwise, the probability of any node forwarding the data packet is determined to be the ratio of 1 to the number of neighbors perceived by any node (i.e., 1 / n nerb , the n nerb is the number of neighbors perceived by any node).

[0137] Then, based on the probability of any node forwarding the data packet, the packet header information is updated and the data packet is forwarded.

[0138] Determine whether to forward the data packet based on the probability of any node forwarding the data packet (if the probability is 80%, there is an 80% probability of forwarding the data packet, and there is also a 20% probability of not forwarding the data packet);

[0139] When it is determined to forward the data packet, the packet header information is updated by filling the ID of any node into the forwarding record table, and the packet with the updated packet header information is forwarded; otherwise, the packet is discarded.

[0140] When the source node sends a packet, the method for updating the optimal node ID in the packet header information is as follows:

[0141] After the source node receives a data packet, it first obtains the predecessor node according to the forwarding record table in the header of the data packet (all nodes in the forwarding record table in the header information of the data packet received by the source node are the predecessor nodes of the source node), and then inserts the predecessor node ID into the predecessor node table (the predecessor node table is created and maintained by the source node), and records the insertion time. Check whether there is a timed-out node in the table at regular intervals, that is, whether the difference between the time of inserting into the predecessor node table and the current time is less than the set value. If it times out, delete the node ID. The node with the largest number of different source nodes forwarding data packets among these predecessor nodes is the optimal node. The selected optimal node ID will be inserted into the header of the data packet when the source node sends the data packet. The optimal node is selected by the source node, and any node that subsequently forwards this data packet cannot change the optimal node.

[0142] The present invention has the following beneficial effects:

[0143] 1. In traditional probabilistic broadcasting, based on the neighbor table established one-to-one with the node, the node's own connection status perception can be realized by calculating the node's connectivity, and the dynamic change result of the FANET topology can be determined by perceiving the node's own connection status;

[0144] 2. Based on the connection status of the node itself, a corresponding algorithm is selected from the calculation model and ant colony algorithm provided by the present invention to calculate the forwarding probability, and the data packet is forwarded through probabilistic broadcasting according to the obtained forwarding probability, which can reduce redundant broadcast data packets and invalid forwarding times in FANET and improve communication effect;

[0145] 3. The method provided by the present invention can be applied to FANETs of different scales and dynamic topology changes, and the method provided by the present invention can be used to perform probabilistic broadcasting of data packets, thereby improving the transmission success rate of data packets and reducing the transmission delay of data packets.

[0146] Embodiment 2:

[0147] The adaptive probabilistic broadcast method of the present invention can be widely used in the process of dynamic changes in the topology of various drone groups, and is suitable for drone groups of different sizes to ensure information transmission between flying ad hoc networks. The following will describe the embodiments of the present invention in conjunction with the accompanying drawings and embodiments. This embodiment introduces the specific implementation process of an adaptive probabilistic broadcast method for flying ad hoc network data transmission. Figure 2 The figure is a flow chart of an embodiment of an adaptive probability broadcast method for flying ad hoc network data transmission provided by the present invention, which includes the following three parts:

[0148] The first part is the forwarding condition judgment (i.e. deciding whether to forward); the second part is the dynamic state perception; the third part is calculating the forwarding probability and forwarding the data packet based on this probability.

[0149] The first part is used to determine whether the current data packet meets the forwarding conditions and update the neighbor table at the same time;

[0150] The second part dynamically updates the node status based on the information in the neighbor table;

[0151] The third part calculates the forwarding probability and forwards the data packet based on the judgment result of the first part (forward or not forward) and the node status perception result of the second part;

[0152] Among them, the calculation method of the forwarding probability is closely related to the node status perception result. If the perception result is that the current node is in a densely connected state, the present invention constructs a calculation model based on probability theory to solve the optimal forwarding probability; if the perception result is that the current node is in a sparsely connected state, then the node will be further subdivided into exit nodes and non-exit nodes. For the exit nodes, the present invention adopts the idea of ​​ant colony algorithm to calculate the node importance (i.e., pheromone concentration) and calculates the forwarding probability based on the node importance.

[0153] The first part includes:

[0154] The current node is in the listening state. When a data packet is received, it first establishes or updates its neighbor table according to the forwarding record table in the packet header, and at the same time updates the time when the node is inserted into the neighbor table. The following table 1 is an example of a neighbor table:

[0155] Table 1 Neighbor table

[0156]

[0157]

[0158] Furthermore, the current node determines whether the received data packet has been forwarded by itself. If so, it returns to the listening state. If not, it determines whether the number of times the data packet has been forwarded is less than 6 times (or determines that the forwarding record table is not filled). If not, it returns to the listening state. If so, it calculates the difference between the current time and the time when the data packet is sent, whether it is less than the time threshold (the time threshold is set to 10 seconds in this embodiment). If not, it returns to the listening state. If so, the current node is ready to forward the data packet and inserts the current node ID into the forwarding record table.

[0159] The second part includes:

[0160] Before forwarding, it is necessary to read the status perception result of the current node. The current node periodically checks the neighbor table (the period is set to 100 milliseconds in this embodiment), calculates its connectivity indicator (CI) and compares it with the set connectivity indicator threshold γ to determine its status and generate a status perception result.

[0161] Furthermore, the calculation formula of CI is:

[0162]

[0163] Where N a is the average number of neighbors of all nodes perceived by the current node, and N is the total number of nodes perceived by the determined node.

[0164] Furthermore, the state judgment method of the current node is: if CI≥γ, the state perception result of the node is that the node is in a densely connected state; if CI<γ, the state perception result of the node is that the node is in a sparsely connected state, and on this basis, the type of the node continues to be judged.

[0165] Furthermore, the value of the connectivity index threshold γ is also related to the number of nodes; when the total number of nodes is 50 or less, the value of γ is 0.5; when the total number of nodes is between 50 and 100, the value of γ is 0.4.

[0166] The third part includes:

[0167] Furthermore, if the result of state perception is that the current node is in a densely connected state, the number of times the data packet has been forwarded is determined based on the information in the data packet header, and the forwarding probability is calculated according to formula (2). Among them, p0 refers to the forwarding probability that the data packet has not been forwarded before and is ready to be forwarded by the current node for the first time; p1 refers to the forwarding probability that the data packet has been forwarded once and is ready to be forwarded by the current node for the second time; p2 refers to the forwarding probability that the data packet has been forwarded twice and is ready to be forwarded by the current node for the third time, and so on.

[0168]

[0169] Where i is the number of times the data packet is forwarded, P i is the probability that a data packet is forwarded by the current node after being forwarded i times, N is the total number of nodes in the flying ad hoc network topology perceived by the current node, s0 is the average transmission success rate of a data packet sent directly from one node to another without forwarding, c is the average number of times a data packet is allowed to be forwarded by the entire network, and in this embodiment, s0=0.9 and c=1 are set.

[0170] Formula (2) means that the current node is in a densely connected state, and the computational model based on probability theory proposed in this embodiment is constructed with maximizing the average packet transmission success rate as the objective function and limiting the number of forwarding times and the probability itself as the constraint function.

[0171] as follows Figure 3 In the topological structure diagram of densely connected nodes shown in FIG. 1 , the communication behavior of each node can be approximated to be equal. Therefore, all nodes can be regarded as a whole. This embodiment defines an aggregate forwarding probability P rb To represent the total probability of a data packet being forwarded as a whole. rb_n It refers to the total probability of a data packet undergoing the nth forwarding, where n refers to the maximum number of times a data packet is allowed to be forwarded. In order to facilitate the writing of the formula, x is used instead of P rb , that is, P rb_i =x i (i=1,2,…,n).

[0172] Because P rb_n Refers to the total probability of a data packet undergoing the nth forwarding, then the forwarding probability P of a node forwarding the data packet i for:

[0173]

[0174] Wherein N is the total number of all nodes in the flight ad hoc network topology sensed by the current node.

[0175] According to the probability calculation formula of the product event of n independent events in probability theory, the packet transmission success rate s after the packet has been forwarded no more than n times can be calculated. n for:

[0176] s n =1-(1-s0)(1-s0x1)(1-s0x1x2)...(1-s0x1x2...x n ) (4)

[0177] And x1, x2, x3, …, x n The following conditions are met:

[0178] 0≤x1,x2,...,x n ≤1 (5)

[0179] Unlimited forwarding does not improve the success rate and will cause network congestion, so it is necessary to limit the number of forwarding times for each data packet. In this embodiment, c is set as the average number of times each data packet is allowed to be forwarded by the entire network, then x1, x2, x3, ..., x n The following constraints should also be met:

[0180] s0x1*1+s0x1x2*2+s0x1x2x3*3+...+s0x1x2x3...x n *n=c (6)

[0181] The process of solving the optimal forwarding probability is to find a n When the maximum value is obtained and x1, x2, x3, ..., x1 satisfies formulas (3) and (4), n , the calculation result is:

[0182]

[0183] In the formula, i is the number of times the data packet has been forwarded. Reducing x in formula (7) to P yields formula (2).

[0184] Furthermore, if the result of state perception is that the current node is in a sparsely connected state, and the current node is a non-exit node, then the forwarding probability of the current node p=0; if the current node is an exit node, the present invention draws on the idea of ​​the ant colony algorithm to calculate the forwarding probability. In the ant colony algorithm, the higher the pheromone concentration (pc) of the path, the greater the probability of being selected. Therefore, the present invention determines the importance of the current node by calculating the pc value and calculates the forwarding probability. If pc is greater than the set pheromone concentration threshold, the forwarding probability p=1, and if pc is less than the pheromone concentration threshold, the forwarding probability p=1 / n nerb , where n nerb The number of neighbors perceived by the current node. The current node first determines whether the VIP node (also known as the best node) in the packet header information is itself, and then determines a new VIP node to add to the packet header information.

[0185] Furthermore, the calculation method of the pheromone concentration pc is as follows: the current node will establish and maintain a VIP node table. After the current node receives a data packet, it analyzes whether the VIP node ID in the data packet header is the ID of the current node. If so, the source node ID of the data packet header is stored in the VIP node table, and the storage time is updated at the same time. If this source node ID is already in the VIP node table, only its storage time is updated; otherwise, no record is made. Check whether there is a timed-out node at a set time interval (set to 100 milliseconds in this embodiment), that is, whether the difference between the time of insertion into the VIP node table and the current time is less than the set time (set to 60 seconds in this embodiment). If it times out, delete the node ID. Count the total number of nodes in the VIP node table. This number of nodes is the pheromone concentration pc of the current node.

[0186] Furthermore, when each source node sends a packet, the method for updating the VIP node information in the packet header is as follows: after the source node receives a data packet, it first obtains the predecessor node according to the forwarding record table in the packet header of the data packet, and then inserts the predecessor node ID into the predecessor node table, and records the insertion time. Check whether there is a timed-out node in the table at a set time interval (set to 100 milliseconds in this embodiment), that is, whether the difference between the time of inserting the predecessor node table and the current time is less than the set time (set to 60 seconds in this embodiment), and delete the node ID if it times out. All nodes in the forwarding record table in the packet header of the data packet received by the source node are the predecessor nodes of the source node. The node with the largest number of different source nodes that forward the data packet among these predecessor nodes is the VIP node, and the VIP node ID is inserted into the packet header when the source node sends the data packet. The optimal node is selected by the source node, and any node that subsequently forwards this data packet cannot change the optimal node.

[0187] Furthermore, the setting of the pheromone concentration threshold is related to the number of nodes. When the total number of nodes in the topology is less than or equal to 50 nodes, the pheromone concentration threshold is set to 3; when the total number of nodes in the topology is greater than 50 nodes and less than or equal to 100 nodes, the pheromone concentration threshold is set to 5.

[0188] The current node calculates the forwarding probability according to the above method, performs probabilistic forwarding, and then returns to the listening state to wait for receiving the next data packet.

[0189] The above examples are used to describe the embodiments of the present invention. It should be understood by those skilled in the art that the present invention is not limited to the embodiments described above. Without departing from the concept of the present invention, several modifications and improvements may be made, which all belong to the protection scope of the present invention. Therefore, the protection scope of the present invention shall be subject to the claims.

[0190] The method of the present invention is used to carry out experimental tests in FANETs composed of different numbers of nodes, wherein the number of test nodes is: 20, 40, 60, 80, 100 nodes, the data packet size is 100 bytes, the packet sending frequency is 1 Hz, and the total number of packets is 600. According to the test results, the following Figure 4 The average packet delivery success rate line graph shown in Figure 5 A line graph of end-to-end delay is shown.

[0191] This embodiment is based on graph theory and optimizes the method through physical experimental data to maximize the average data packet transmission success rate of the entire network. Experiments show that the method provided by the present invention has a high average data packet transmission success rate (more than 95%) and a low transmission delay (10 milliseconds) under different node scales (20 to 100); the present invention effectively supports data transmission in FANETs of different scales and dynamically changing topologies, especially in large-scale FANET experiments consisting of 100 nodes, the present invention can still ensure good communication indicators and meet communication needs.

[0192] Embodiment 3:

[0193] Based on the same inventive concept, the present invention also provides an adaptive probabilistic broadcast system for flying ad hoc network data transmission, the basic structural diagram of which is shown in FIG. Figure 6 As shown, it includes: a forwarding judgment module, a state perception module and a probability calculation and forwarding module;

[0194] The forwarding judgment module is used to update the neighbor table of any node by extracting the header information of the data packet when any node in the flying ad hoc network receives a data packet through broadcast monitoring, and to judge whether the data packet can be forwarded by using the set forwarding criteria;

[0195] The state perception module is used to determine the connection state and type of any node by calculating the connectivity of any node based on the updated neighbor table;

[0196] The probability calculation and forwarding module is used to determine a corresponding algorithm from the set algorithm based on the connection status and type of any node when it is determined that the data packet can be forwarded, and use the corresponding algorithm to calculate the probability of any node forwarding the data packet to forward the data packet;

[0197] Among them, the neighbor table is a neighbor table generated one-to-one with any one of the nodes, and is used to record the information of all nodes in the flying ad hoc network topology perceived by any one of the nodes; the setting algorithm includes a calculation model based on ant colony algorithm and a calculation model based on probability theory.

[0198] The forwarding judgment module includes: a packet header extraction unit, a neighbor table updating unit and a forwarding judgment unit;

[0199] The packet header extraction unit is used to extract packet header information from the data packet;

[0200] The neighbor table updating unit is used to update the information of all nodes recorded in the neighbor table based on the packet header information;

[0201] The forwarding judgment unit is used to judge whether the data packet can be forwarded based on the packet header information and using the forwarding criterion;

[0202] The packet header information includes the source node ID that generates the data packet, a forwarding record table that records the node ID that has forwarded the data packet, the data packet ID, the maximum number of forwarding times of the data packet, the time when the data packet is sent from the source node, the data packet forwarding timeout threshold and the optimal node ID;

[0203] The information of all nodes includes the ID, number, neighbor ID and number of neighbors of the node in the flight ad hoc network topology perceived by any node;

[0204] The forwarding criteria include that the data packet has not been forwarded by any node, the forwarding record table is not filled, and the difference between the time when the data packet is received and the time when the data packet is sent from the data source node is less than a set time threshold.

[0205] The neighbor table updating unit is specifically used for:

[0206] Determine the ID of the node that has forwarded the data packet based on the forwarding record table in the packet header information;

[0207] Determine the neighbor relationship between the nodes that have forwarded the data packet based on the source node ID in the packet header information and the ID of the node that has forwarded the data packet;

[0208] Based on the source node ID and the ID of the node that forwarded the data packet, the ID and the total number of nodes in the flight self-organizing network topology perceived by any node in the neighbor table are updated, and based on the neighbor relationship between the nodes that forwarded the data packet, the neighbor ID and the number of neighbors of the nodes in the flight self-organizing network topology perceived by any node in the neighbor table are updated.

[0209] The forwarding judgment unit is specifically used to:

[0210] Based on the forwarding record table in the packet header information, using the forwarding criterion that the data packet has not been forwarded by any of the nodes, determining whether the data packet has been forwarded by any of the nodes;

[0211] Based on the forwarding record table, using a forwarding criterion that the forwarding record table is not filled, determining whether the forwarding record table is filled;

[0212] Based on the current time, the time when the data packet in the packet header information is sent from the source node and the data packet forwarding timeout threshold, using the forwarding criterion that the difference between the time when the data packet is received and the time when the data packet is sent from the data source node is less than the set time threshold, it is determined whether the difference between the time when the data packet is received and the time when the data packet is sent from the data source node is less than the set time threshold;

[0213] When it is determined that the data packet has not been forwarded by any of the nodes, the forwarding record table is not filled, and the difference between the time when the data packet is received and the time when the data packet is sent from the data source node is less than the set time threshold, a forwarding judgment result that the data packet can be forwarded is obtained; otherwise, a judgment result that the data packet is not forwarded is obtained, and the broadcast is monitored;

[0214] Wherein, the time threshold is set based on the data packet forwarding timeout threshold.

[0215] The state perception module includes: a neighbor determination unit, an average neighbor number determination unit, a state perception unit and a type determination unit;

[0216] The neighbor number determination unit is used to check the neighbor table according to a set period, obtain and determine the number of neighbors and neighbor IDs perceived by any node based on the ID and total number of nodes in the flight ad hoc network topology perceived by any node in the neighbor table;

[0217] The average neighbor number determination unit of the neighbors is used to determine the average number of neighbors of all nodes perceived by any node based on the total number of nodes perceived by any node, the neighbor ID perceived by any node, and the number of neighbors and neighbor IDs of nodes in the flight ad hoc network topology perceived by any node in the neighbor table;

[0218] The state sensing unit is used to calculate the connectivity of any node based on the total number of nodes sensed by any node and the average number of neighbors of all nodes sensed by any node to obtain the connectivity index of any node, and to determine the connection state of any node based on the connectivity index of any node and using a set connectivity index threshold;

[0219] The type determination unit is configured to determine the type of any node by traversing all neighbors in the neighbor table based on the neighbor ID perceived by any node when the connection state of any node is a sparse connection state;

[0220] Among them, the ratio of the average number of neighbors of all nodes perceived by any node to the total number of nodes perceived by any node is the connectivity index of any node; the connection state of any node includes a dense connection state and a sparse connection state; the type of any node includes an exit node and a non-exit node.

[0221] The state sensing unit is specifically used for:

[0222] Determining whether the connectivity index of any of the nodes is less than the connectivity index threshold;

[0223] When the connectivity index of any node is less than a set connectivity index threshold, the connection state of any node is judged to be a sparse connection state; otherwise, the connection state of any node is judged to be a dense connection state;

[0224] Wherein, the connectivity index threshold is set based on the number of nodes in the flight ad hoc network.

[0225] The type determination unit is specifically used to:

[0226] When the connection state of any of the nodes is a sparse connection state, based on the neighbor ID perceived by any of the nodes, by traversing the neighbor nodes of all the neighbors perceived by any of the nodes in the neighbor table, it is determined whether there is a neighbor node that includes all the neighbors of any of the nodes and has neighbors that any of the nodes do not have;

[0227] If there is a neighbor node that includes all neighbors of the any node and has neighbors that the any node does not have, the type of the any node is determined to be a non-exit node; otherwise, the type of the any node is determined to be an exit node.

[0228] The probability calculation and forwarding module includes: a connection status judgment unit, a calculation model calculation and node type judgment unit, an ant colony algorithm calculation unit and a forwarding unit;

[0229] The connection state judgment unit is configured to judge whether any of the nodes is in a densely connected state based on the connection state of any of the nodes when it is judged that the data packet can be forwarded;

[0230] The computing model calculation and node type judgment unit is used to determine that the algorithm is a computing model based on probability theory when the connection state of any node is determined to be a dense connection state, and calculate the probability of any node forwarding the data packet using the computing model based on probability theory based on the forwarding record table and the neighbor table; otherwise, determine that the connection state of any node is a sparse connection state, and further determine whether any node is a non-exit node;

[0231] The ant colony algorithm calculation unit is used to, when it is determined that any node is a non-exit node, determine that the probability of any node forwarding the data packet is 0; otherwise, determine that the algorithm is a calculation model based on the ant colony algorithm, and calculate the probability of any node forwarding the data packet based on the optimal node ID using the calculation model based on the ant colony algorithm;

[0232] The forwarding unit is used to update the packet header information and forward the data packet based on the probability of forwarding the data packet by any node;

[0233] Among them, the calculation model based on probability theory takes the maximum success rate of data packet transmission as the goal, and is set based on the average number of times and probability range that the data packet is allowed to be forwarded by the entire flying ad hoc network as constraints; the calculation model based on the ant colony algorithm uses the nodes through which the data packet is forwarded as an analogy to the foraging path of the ant colony, and is set by calculating the pheromone concentration of the path; the optimal node is the source node of the data packet, based on all the nodes recorded in the forwarding record table of several received data packets, and is determined by the node with the largest number of different source nodes that forward the data packet and has not timed out. The optimal node is used to determine the pheromone concentration of the foraging path of the ant colony.

[0234] The computing model calculation and node type determination unit is specifically used for:

[0235] Based on the forwarding record table, determining the number of times the data packet is forwarded;

[0236] The number of times the data packet is forwarded and the number of nodes in the flying ad hoc network topology perceived by any node in the neighbor table are brought into the probability theory-based calculation model to calculate the forwarding probability of any node.

[0237] The setting of the computation model based on probability theory in the computation model calculation and node type judgment unit includes:

[0238] Taking the number of times the data packet is forwarded and the number of nodes in the flight ad hoc network topology sensed by any node as input, and the probability of any node forwarding the data packet as output, based on the set average transmission success rate of data packets sent directly from one node to another node without forwarding and the average number of times data packets are allowed to be forwarded by the entire flight ad hoc network, with the maximum data packet transmission success rate as the goal, and the average number of times data packets are allowed to be forwarded by the entire flight ad hoc network and the probability range as constraints, the setting is performed;

[0239] The data packet transmission success rate is calculated based on the average transmission success rate of the data packets directly sent from one node to another node without forwarding, using the probability calculation formula of the product event of n independent events in probability theory.

[0240] The calculation model based on probability theory in the calculation model calculation and node type judgment unit is expressed as follows:

[0241]

[0242] Where i is the number of times the data packet is forwarded, P i is the probability that the data packet is forwarded by any node after being forwarded i times, N is the number of nodes in the flight ad hoc network topology perceived by any node, s0 is the average transmission success rate of a data packet sent directly from one node to another without forwarding, and c is the average number of times a data packet is allowed to be forwarded by the entire flight ad hoc network.

[0243] The ant colony algorithm computing unit is specifically used for:

[0244] Using any of the nodes as an analogy for a path of an ant colony foraging, and determining whether the optimal node ID is the ID of any of the nodes;

[0245] When it is determined that the optimal node ID is the ID of any of the nodes, the source node ID of the data packet is recorded, and the number of the recorded source node IDs that have not timed out is used as the pheromone concentration of the path; otherwise, no record is made;

[0246] Determine whether the pheromone concentration of the one path is greater than a set pheromone concentration threshold;

[0247] When it is determined that the pheromone concentration of the path is greater than the pheromone concentration threshold, the probability of any node forwarding the data packet is determined to be 1; otherwise, the probability of any node forwarding the data packet is determined to be a ratio of 1 to the number of neighbors sensed by any node;

[0248] Wherein, the pheromone concentration threshold is set based on the total number of nodes in the flying ad hoc network.

[0249] The forwarding unit is specifically used for:

[0250] Determine whether to forward the data packet based on the probability that any node forwards the data packet;

[0251] When it is determined to forward the data packet, the packet header information is updated by filling the ID of any node into the forwarding record table, and the data packet with updated packet header information is forwarded; otherwise, the data packet is discarded.

[0252] In the traditional probabilistic broadcast, this embodiment can realize the connection state perception of the node itself by calculating the connectivity of the node based on the neighbor table established one-to-one with the node, and can determine the dynamic change result of the FANET topology by perceiving the connection state of the node itself;

[0253] Based on the connection status of the node itself, a corresponding algorithm is selected from the calculation model and ant colony algorithm provided by the present invention to calculate the forwarding probability, and the data packet is forwarded through probabilistic broadcasting according to the obtained forwarding probability, which can reduce redundant broadcast data packets and invalid forwarding times in FANET and improve communication effect;

[0254] The system provided by the present invention can be applied to FANETs of different scales and dynamic topology changes, and the system provided by the present invention can be used to perform probabilistic broadcasting of data packets, thereby improving the transmission success rate of data packets and reducing the transmission delay of data packets.

[0255] Those skilled in the art will appreciate that embodiments of the present invention may be provided as methods, systems, or computer program products. Therefore, the present invention may take the form of a complete hardware embodiment, a complete software embodiment, or an embodiment combining software and hardware. Moreover, the present invention may take the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.

[0256] The present invention is described with reference to flowcharts and / or block diagrams of methods, devices (systems), and computer program products according to embodiments of the present invention. It should be understood that each process and / or block in the flowchart and / or block diagram, as well as the combination of processes and / or blocks in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing device to produce a machine, so that the instructions executed by the processor of the computer or other programmable data processing device generate instructions for implementing the processes in the flowchart and / or block diagram. Figure 1 A process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.

[0257] These computer program instructions may also be stored in a computer-readable memory capable of directing a computer or other programmable data processing device to operate in a specific manner, so that the instructions stored in the computer-readable memory produce an article of manufacture comprising an instruction device, which implements the process Figure 1 A process or multiple processes and / or boxes Figure 1 A function specified in one or more boxes.

[0258] These computer program instructions can also be loaded onto a computer or other programmable data processing device so that a series of operating steps are executed on the computer or other programmable device to produce a computer-implemented process, thereby providing instructions for implementing the process. Figure 1 A process or multiple processes and / or boxes Figure 1 The steps for the functions specified in one or more boxes.

[0259] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention rather than to limit its protection scope. Although the present invention has been described in detail with reference to the above embodiments, ordinary technicians in the field should understand that after reading the present invention, those skilled in the art can still make various changes, modifications or equivalent substitutions to the specific implementation methods of the invention, but these changes, modifications or equivalent substitutions are all within the protection scope of the pending claims of the invention.

Claims

1. An adaptive probabilistic broadcast method for data transmission in a flight ad hoc network, characterized in that: include: When any node in the flying ad hoc network receives a data packet by monitoring the broadcast, the neighbor table of any node is updated by extracting the packet header information of the data packet, and the set forwarding criteria are used to determine whether the data packet can be forwarded; Based on the updated neighbor table, determining the connection state and type of any node by calculating the connectivity of any node; When it is determined that the data packet can be forwarded, a corresponding algorithm is determined from the set algorithms based on the connection state and type of any one of the nodes, and the probability of any one of the nodes forwarding the data packet is calculated using the corresponding algorithm to forward the data packet; Wherein, the neighbor table is a neighbor table generated one-to-one with any one of the nodes, and is used to record the information of all nodes in the flight ad hoc network topology perceived by any one of the nodes; The setting algorithm includes a calculation model based on an ant colony algorithm and a calculation model based on probability theory.

2. The method according to claim 1, characterized in that The updating of the neighbor table of any node by extracting the header information of the data packet and judging whether the data packet can be forwarded by using the set forwarding criteria includes: Extracting header information from the data packet; Based on the packet header information, update the information of all the nodes recorded in the neighbor table; Based on the packet header information, determining whether the data packet can be forwarded using the forwarding criterion; The packet header information includes the source node ID that generates the data packet, a forwarding record table that records the node ID that has forwarded the data packet, the data packet ID, the maximum number of forwarding times of the data packet, the time when the data packet is sent from the source node, the data packet forwarding timeout threshold and the optimal node ID; The information of all nodes includes the ID of the node in the flight ad hoc network topology sensed by any node, the total number of nodes, the neighbor ID and the number of neighbors; The forwarding criteria include that the data packet has not been forwarded by any of the nodes, the forwarding record table is not filled, and the difference between the time when the data packet is received and the time when the data packet is sent from the data source node is less than a set time threshold.

3. The method according to claim 2, characterized in that The updating of the information of all nodes recorded in the neighbor table based on the packet header information includes: Determine the ID of the node that has forwarded the data packet based on the forwarding record table in the packet header information; Determine the neighbor relationship between the nodes that have forwarded the data packet based on the source node ID in the packet header information and the ID of the node that has forwarded the data packet; Based on the source node ID and the ID of the node that forwarded the data packet, the ID and the total number of nodes in the flight self-organizing network topology perceived by any node in the neighbor table are updated, and based on the neighbor relationship between the nodes that forwarded the data packet, the neighbor ID and the number of neighbors of the nodes in the flight self-organizing network topology perceived by any node in the neighbor table are updated.

4. The method according to claim 2, characterized in that The determining whether the data packet can be forwarded based on the packet header information and using the forwarding criterion includes: Based on the forwarding record table in the packet header information, using the forwarding criterion that the data packet has not been forwarded by any of the nodes, determining whether the data packet has been forwarded by any of the nodes; Based on the forwarding record table, using a forwarding criterion that the forwarding record table is not filled, determining whether the forwarding record table is filled; Based on the current time, the time when the data packet in the packet header information is sent from the source node and the data packet forwarding timeout threshold, using the forwarding criterion that the difference between the time when the data packet is received and the time when the data packet is sent from the data source node is less than the set time threshold, it is determined whether the difference between the time when the data packet is received and the time when the data packet is sent from the data source node is less than the set time threshold; When it is determined that the data packet has not been forwarded by any of the nodes, the forwarding record table is not filled, and the difference between the time when the data packet is received and the time when the data packet is sent from the data source node is less than the set time threshold, a forwarding judgment result that the data packet can be forwarded is obtained; otherwise, a judgment result that the data packet is not forwarded is obtained, and the broadcast is monitored; Wherein, the time threshold is set based on the data packet forwarding timeout threshold.

5. The method according to claim 2, characterized in that The determining the connection state and type of any node by calculating the connectivity of any node based on the updated neighbor table includes: Check the neighbor table according to a set period, obtain and determine the number of neighbors and neighbor IDs perceived by any node based on the ID and total number of nodes in the flight ad hoc network topology perceived by any node in the neighbor table; Determine the average number of neighbors of all nodes sensed by any node based on the total number of nodes sensed by any node, the neighbor IDs sensed by any node, and the number of neighbors and neighbor IDs of nodes in the flight ad hoc network topology sensed by any node in the neighbor table; The connectivity of any node is calculated based on the total number of nodes sensed by any node and the average number of neighbors of all nodes sensed by any node to obtain a connectivity index of any node, and based on the connectivity index of any node, a connection state of any node is determined by using a set connectivity index threshold; When the connection state of any node is a sparse connection state, determining the type of any node by traversing all neighbors in the neighbor table based on the neighbor ID perceived by any node; Among them, the ratio of the average number of neighbors of all nodes perceived by any node to the total number of nodes perceived by any node is the connectivity index of any node; the connection state of any node includes a dense connection state and a sparse connection state; the type of any node includes an exit node and a non-exit node.

6. The method according to claim 5, characterized in that The determining, based on the connectivity index of any node, using a set connectivity index threshold to obtain a connection state of any node includes: Determining whether the connectivity index of any of the nodes is less than the connectivity index threshold; When the connectivity index of any node is less than a set connectivity index threshold, the connection state of any node is judged to be a sparse connection state; otherwise, the connection state of any node is judged to be a dense connection state; Wherein, the connectivity index threshold is set based on the number of nodes in the flight ad hoc network.

7. The method according to claim 5, characterized in that When the connection state of any node is a sparse connection state, determining the type of any node by traversing all neighbors in the neighbor table based on the neighbor ID perceived by any node includes: When the connection state of any of the nodes is a sparse connection state, based on the neighbor ID perceived by any of the nodes, by traversing the neighbor nodes of all the neighbors perceived by any of the nodes in the neighbor table, it is determined whether there is a neighbor node that includes all the neighbors of any of the nodes and has neighbors that any of the nodes do not have; If there is a neighbor node that includes all neighbors of the any node and has neighbors that the any node does not have, the type of the any node is determined to be a non-exit node; otherwise, the type of the any node is determined to be an exit node.

8. The method according to claim 5, characterized in that When it is determined that the data packet can be forwarded, a corresponding algorithm is determined from a set algorithm based on the connection state and type of any node, and the probability of any node forwarding the data packet is calculated by using the corresponding algorithm to forward the data packet, including: When it is determined that the data packet can be forwarded, determining whether any of the nodes is in a densely connected state based on the connection state of any of the nodes; When it is determined that the connection state of any node is a dense connection state, the algorithm is determined to be a calculation model based on probability theory, and the probability of any node forwarding the data packet is calculated based on the forwarding record table and the neighbor table using the calculation model based on probability theory; otherwise, the connection state of any node is determined to be a sparse connection state, and further it is determined whether any node is a non-exit node; When it is determined that any of the nodes is a non-exit node, the probability that the any of the nodes forwards the data packet is determined to be 0; otherwise, the algorithm is determined to be a calculation model based on an ant colony algorithm, and based on the optimal node ID, the probability that the any of the nodes forwards the data packet is calculated using the calculation model based on the ant colony algorithm; Based on the probability of any node forwarding the data packet, updating the packet header information and forwarding the data packet; Among them, the calculation model based on probability theory takes the maximum success rate of data packet transmission as the goal, and is set based on the average number of times and probability range that the data packet is allowed to be forwarded by the entire flying ad hoc network as constraints; the calculation model based on the ant colony algorithm uses the nodes through which the data packet is forwarded as an analogy to the foraging path of the ant colony, and is set by calculating the pheromone concentration of the path; the optimal node is the source node of the data packet, based on all the nodes recorded in the forwarding record table of several received data packets, and is determined by the node with the largest number of different source nodes that forward the data packet and has not timed out. The optimal node is used to determine the pheromone concentration of the foraging path of the ant colony.

9. The method according to claim 8, characterized in that The calculating the probability of any node forwarding the data packet based on the forwarding record table and the neighbor table using the probability theory-based calculation model includes: Based on the forwarding record table, determining the number of times the data packet is forwarded; The number of times the data packet is forwarded and the number of nodes in the flying ad hoc network topology perceived by any node in the neighbor table are brought into the probability theory-based calculation model to calculate the forwarding probability of any node.

10. The method according to claim 9, characterized in that The setting of the computational model based on probability theory includes: Taking the number of times the data packet is forwarded and the number of nodes in the flight ad hoc network topology sensed by any node as input, and the probability of any node forwarding the data packet as output, based on the set average transmission success rate of data packets sent directly from one node to another node without forwarding and the average number of times data packets are allowed to be forwarded by the entire flight ad hoc network, with the maximum data packet transmission success rate as the goal, and the average number of times data packets are allowed to be forwarded by the entire flight ad hoc network and the probability range as constraints, the setting is performed; The data packet transmission success rate is calculated based on the average transmission success rate of the data packets directly sent from one node to another node without forwarding, using the probability calculation formula of the product event of n independent events in probability theory.

11. The method according to claim 10, characterized in that The calculation model based on probability theory is expressed as follows: Where i is the number of times the data packet is forwarded, P i is the probability that the data packet is forwarded by any node after being forwarded i times, N is the number of nodes in the flight ad hoc network topology perceived by any node, s0 is the average transmission success rate of a data packet sent directly from one node to another without forwarding, and c is the average number of times a data packet is allowed to be forwarded by the entire flight ad hoc network.

12. The method according to claim 8, characterized in that The calculating, based on the optimal node ID, the probability of any node forwarding the data packet by using the calculation model based on the ant colony algorithm includes: Using any of the nodes as an analogy for a path of an ant colony foraging, and determining whether the optimal node ID is the ID of any of the nodes; When it is determined that the optimal node ID is the ID of any of the nodes, the source node ID of the data packet is recorded, and the number of the recorded source node IDs that have not timed out is used as the pheromone concentration of the path; otherwise, no record is made; Determine whether the pheromone concentration of the one path is greater than a set pheromone concentration threshold; When it is determined that the pheromone concentration of the path is greater than the pheromone concentration threshold, the probability of the any node forwarding the data packet is determined to be 1; otherwise, the ratio of 1 to the number of neighbors sensed by the any node is used as the probability of the any node forwarding the data packet; Wherein, the pheromone concentration threshold is set based on the total number of nodes in the flying ad hoc network.

13. The method according to claim 8, characterized in that The updating of the packet header information and forwarding of the data packet based on the probability of forwarding the data packet by any node comprises: Determine whether to forward the data packet based on the probability that any node forwards the data packet; When it is determined to forward the data packet, the packet header information is updated by filling the ID of any node into the forwarding record table, and the data packet with the updated packet header information is forwarded; otherwise, the data packet is discarded.

14. An adaptive probabilistic broadcasting system for data transmission in a flight ad hoc network, used to implement an adaptive probabilistic broadcasting method for data transmission in a flight ad hoc network as claimed in any one of claims 1 to 13, characterized in that: include: Forwarding judgment module, state perception module and probability calculation and forwarding module; The forwarding judgment module is used to update the neighbor table of any node by extracting the header information of the data packet when any node in the flying ad hoc network receives a data packet through broadcast monitoring, and to judge whether the data packet can be forwarded by using the set forwarding criteria; The state perception module is used to determine the connection state and type of any node by calculating the connectivity of any node based on the updated neighbor table; The probability calculation and forwarding module is used to determine a corresponding algorithm from the set algorithm based on the connection status and type of any node when it is determined that the data packet can be forwarded, and use the corresponding algorithm to calculate the probability of any node forwarding the data packet to forward the data packet; Wherein, the neighbor table is a neighbor table generated one-to-one with any one of the nodes, and is used to record the information of all nodes in the flight ad hoc network topology perceived by any one of the nodes; The setting algorithm includes a calculation model based on an ant colony algorithm and a calculation model based on probability theory.