Communication method of wireless mesh ad hoc network
By conducting forward and reverse searches in the drone ad hoc network, the optimal path from the source node to the target node in the drone ad hoc network is determined, which solves the problem that it is difficult to select the optimal transmission path in the environment of high-speed movement and rapid changes in topology structure in the prior art, and realizes efficient drone ad hoc network communication.
Patent Information
- Application Number
- CN202210327173.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-03-30
- Publication Date
- 2025-05-02
- Estimated Expiration
- 2042-03-30
AI Technical Summary
The existing UAV ad hoc network communication technology is difficult to quickly select the optimal transmission path in an environment of high-speed movement and rapid changes in topology.
By obtaining the source ID, target ID, and topology map TOPO information, a forward search is performed to determine the number of jumps from the source node to the target node and the neighbor node ID of each relay, and then a reverse search is performed to determine the optimal path.
It quickly selects the path with the smallest hops to the destination node in the drone ad hoc network, and is suitable for military communication and other fields, improving the applicability of communication protocols and reducing costs.
Smart Images

Figure CN114786231B_ABST
Abstract
Description
Technical Field
[0001] Embodiments of the present disclosure generally relate to the field of ad hoc network communications, and more specifically, to a communication method, apparatus, device, and computer-readable storage medium for a wireless mesh ad hoc network. Background Art
[0002] Wireless Mesh Network, also known as "mesh network", is a wireless broadband access technology based on IP protocol. It combines the advantages of WLAN and Ad hoc networks, supports multi-point to multi-point mesh structure, has the functional advantages of self-organizing network, self-repair, multiple cascades, node self-management, as well as mobile broadband, wireless positioning and other characteristics. It is a large-capacity, high-speed, and wide-coverage network.
[0003] A wireless ad hoc network is a wireless self-organizing multi-hop network that does not rely on any fixed infrastructure. It has the self-organizing characteristics of good mobility, anti-destruction self-healing ability and flexibility. It has broad application prospects in emergency rescue, conference communications and military applications. A wireless ad hoc network is a wireless self-organizing multi-hop network that does not rely on any fixed infrastructure. It has the self-organizing characteristics of good mobility, anti-destruction self-healing ability and flexibility. It has broad application prospects in emergency rescue, conference communications and military applications.
[0004] The existing private network systems are diverse, resulting in a variety of self-organizing network communication protocols within the private network. At present, there are many routing technologies used in mobile Ad hoc networks, but they are not suitable for drone self-organizing networks with high-speed movement, rapid changes in topology, and continuous joining or leaving of nodes. In other words, they cannot quickly select the optimal transmission path for newly added nodes. Summary of the invention
[0005] According to an embodiment of the present disclosure, a communication solution for a wireless mesh ad hoc network is provided.
[0006] In a first aspect of the present disclosure, a communication method for a wireless mesh ad hoc network is provided. The method comprises:
[0007] Get source ID, target ID and topology map TOPO information;
[0008] Based on the source ID, target ID and topology map TOPO information, a forward search is performed to determine the number of jumps from the source node to the target node and the neighbor node ID of each relay;
[0009] Based on the number of hops and neighbor node IDs, a reverse search is performed to determine the optimal path from the source node to the target node.
[0010] Further, the forward search is performed based on the source ID, the target ID and the topology map TOPO information to determine the number of jumps from the source node to the target node and the neighbor node ID of each relay, including:
[0011] Based on the source ID and the target ID, generate a NET_Poing point all-zero vector send_Vector, set the point corresponding to the source ID in the first row of the send_Vector to 1, and generate a new vector;
[0012] Setting a cycle number k, substituting the k into the new vector, and then multiplying the new vector by the topology map TOPO to obtain a receiving vector;
[0013] Processing the received vector to obtain a check vector;
[0014] Based on the check vector, the number of jumps from the source node to the target node and the neighbor node ID of each relay are determined.
[0015] Further, the processing the received vector to obtain a check vector includes:
[0016] The received vector is processed, and a sign bit of the received vector is taken to obtain a check vector.
[0017] Further, the reverse search based on the number of jumps and the neighbor node ID to determine the optimal path from the source node to the target node includes:
[0018] Based on the source node and the target node, a single-point routing table is constructed;
[0019] Based on the number of jumps, neighbor node IDs and routing table, reverse tracing is performed from the target node to determine the optimal path from the source node to the target node.
[0020] In a second aspect of the present disclosure, a communication device for a wireless mesh ad hoc network is provided. The device comprises:
[0021] The acquisition module is used to obtain the source ID, target ID and topology map TOPO information;
[0022] A first search module is used to perform a forward search based on the source ID, the target ID and the TOPO information of the topology map to determine the number of jumps from the source node to the target node and the neighbor node ID of each relay;
[0023] The second search module is used to perform a reverse search based on the number of jumps and the neighbor node ID to determine the optimal path from the source node to the target node.
[0024] Further, the forward search is performed based on the source ID, the target ID and the topology map TOPO information to determine the number of jumps from the source node to the target node and the neighbor node ID of each relay, including:
[0025] Based on the source ID and the target ID, generate a NET_Poing point all-zero vector send_Vector, set the point corresponding to the source ID in the first row of the send_Vector to 1, and generate a new vector;
[0026] Setting a cycle number k, substituting the k into the new vector, and then multiplying the new vector by the topology map TOPO to obtain a receiving vector;
[0027] Processing the received vector to obtain a check vector;
[0028] Based on the check vector, the number of jumps from the source node to the target node and the neighbor node ID of each relay are determined.
[0029] Further, the processing the received vector to obtain a check vector includes:
[0030] The received vector is processed, and a sign bit of the received vector is taken to obtain a check vector.
[0031] Further, the reverse search based on the number of jumps and the neighbor node ID to determine the optimal path from the source node to the target node includes:
[0032] Based on the source node and the target node, a single-point routing table is constructed;
[0033] Based on the number of hops, neighbor node IDs and the routing table, reverse tracing is performed from the target node to determine the optimal path from the source node to the target node.
[0034] In a third aspect of the present disclosure, an electronic device is provided, which includes a memory and a processor, wherein a computer program is stored in the memory, and when the processor executes the program, the method described above is implemented.
[0035] In a fourth aspect of the present disclosure, a computer-readable storage medium is provided, on which a computer program is stored, and when the program is executed by a processor, the method according to the first aspect of the present disclosure is implemented.
[0036] The communication method of the wireless mesh ad hoc network provided in the embodiment of the present application obtains the source ID, the target ID and the TOPO information of the topology map; based on the source ID, the target ID and the TOPO information of the topology map, a forward search is performed to determine the number of jumps from the source node to the target node and the neighboring node ID of each relay; based on the number of jumps and the neighboring node ID, a reverse search is performed to determine the optimal path from the source node to the target node. During data transmission, the path with the minimum number of hops from the source node to the destination node, that is, the optimal path, can be quickly selected. The method is suitable for military communication networks, railway system networks, public security system networks, flood control networks and naval system networks, etc. In military communications, a drone ad hoc network can be formed by drones, that is, a multi-hop wireless mobile communication network dynamically formed by several drones without the aid of any central station (each drone is equivalent to a node in the ad hoc network), which improves the applicability of the communication protocol and reduces the cost.
[0037] It should be understood that the contents described in the summary of the invention are not intended to limit the key or important features of the embodiments of the present disclosure, nor are they intended to limit the scope of the present disclosure. Other features of the present disclosure will become easily understood through the following description. BRIEF DESCRIPTION OF THE DRAWINGS
[0038] The above and other features, advantages and aspects of the embodiments of the present disclosure will become more apparent with reference to the following detailed description in conjunction with the accompanying drawings. In the accompanying drawings, the same or similar reference numerals represent the same or similar elements, wherein:
[0039] Figure 1 A schematic diagram showing an exemplary operating environment in which embodiments of the present disclosure can be implemented;
[0040] Figure 2 A flow chart of a communication method of a wireless mesh ad hoc network according to an embodiment of the present disclosure is shown;
[0041] Figure 3 A schematic diagram of single-point routing table information according to an embodiment of the present disclosure is shown;
[0042] Figure 4 A schematic diagram of a single-point routing forward search according to an embodiment of the present disclosure is shown;
[0043] Figure 5 A schematic diagram of a single-point routing reverse search according to an embodiment of the present disclosure is shown;
[0044] Figure 6 A block diagram of a communication device of a wireless mesh ad hoc network according to an embodiment of the present disclosure is shown;
[0045] Figure 7 A block diagram of an exemplary electronic device capable of implementing embodiments of the present disclosure is shown. DETAILED DESCRIPTION
[0046] In order to make the purpose, technical solution and advantages of the embodiments of the present disclosure clearer, the technical solution in the embodiments of the present disclosure will be clearly and completely described below in conjunction with the drawings in the embodiments of the present disclosure. Obviously, the described embodiments are part of the embodiments of the present disclosure, not all of the embodiments. Based on the embodiments in the present disclosure, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present disclosure.
[0047] In addition, the term "and / or" in this article is only a description of the association relationship between the associated objects, indicating that there can be three relationships. For example, A and / or B can represent: A exists alone, A and B exist at the same time, and B exists alone. In addition, the character " / " in this article generally indicates that the associated objects before and after are in an "or" relationship.
[0048] Figure 1 Schematic diagram of an exemplary operating environment in which the embodiments of the present disclosure can be implemented is shown. The operating environment includes multiple nodes, such as Figure 1 Nodes 1-9 in the diagram. Node 1 may be a target node (master node), and nodes 2-9 may be child nodes; the child nodes may be used to transmit telemetry, image, and photo information to the master node.
[0049] In the military communication network, drones can form a self-organizing network, that is, a number of drones are dynamically composed, and each node can represent a drone.
[0050] Figure 2 A flow chart of a communication method for a wireless mesh ad hoc network according to an embodiment of the present disclosure is shown. The method comprises:
[0051] S210, obtaining source ID, target ID and topology map TOPO information.
[0052] In some embodiments, the source ID and the target ID are source node and target node identification information respectively.
[0053] Among them, Figure 3 As shown, the topology graph TOPO is used to describe the sending and receiving information between each node number, that is, the path information between the nodes. If it is connected, it is marked with a number 1, and if it is not connected, it is marked with a number 0.
[0054] The following is an example, refer to Figure 3 , where the source node is ID1 and the destination node is ID8:
[0055] When source ID1 is sent to destination node ID=8, it needs to pass through path node ID=7 and path node ID=5, and needs to go through relay nodes ID=7, 5, 8, that is, the number of hops (relays) is equal to 3.
[0056] Further, in Figure 3 In the figure, the left view and the right view in the upper half are equivalent. For example, in the first row, 1 sends and the 7th and 9th columns can receive. In the 7th row, the 1st, 2nd and 5th columns can receive. In the 5th row, the 2nd, 7th and 8th columns can receive.
[0057] S220, based on the source ID, the target ID and the TOPO information of the topology map, a forward search is performed to determine the number of jumps from the source node to the target node and the neighbor node ID of each relay.
[0058] In some embodiments, reference Figure 4 , based on the source ID and the target ID, generate a NET_Poing point all-zero vector send_Vector, set the point corresponding to the source ID in the first row of the send_Vector to 1, and generate a new vector, that is, send_Vector(1, source ID)=1.
[0059] Setting a cycle number k, substituting the k into the new vector, and then multiplying the new vector by the topology map TOPO to obtain a receiving vector;
[0060] Processing the received vector, taking the sign bit of the received vector, and obtaining a check vector;
[0061] Based on the check vector, the number of jumps from the source node to the target node and the neighbor node ID of each relay are determined.
[0062] Further references Figure 4 , taking the source node as the third hop and the destination node as the first hop as an example:
[0063] Starting from the source node, find all the paths, and determine whether it reaches the target node every time a path is reached.
[0064] First hop: Starting from the source node source_hop=3, the only child node that the output reaches is node 4;
[0065] Second hop: Node 4 outputs the reachable child nodes 2, 3, and 9. At this time, there is no target child node 1, so continue searching;
[0066] The third hop: There are 3 nodes that can be output. The child nodes reached by the output of node 2 are 4, 5, 6, 7, and 9. The child nodes reached by node 3 are 4, and the child nodes reached by node 9 are 1, 2, and 4. At this time, the target node tage_hop=1 is found, and the forward search ends. The search hop number relay_num=3 and the neighbor node ID of each hop are recorded, that is, the neighbor node ID of each relay.
[0067] S230, performing a reverse search based on the number of jumps and the neighbor node ID to determine an optimal path from the source node to the target node.
[0068] In some embodiments, Figure 5 As shown, based on the number of hops and neighbor node ID, a reverse search is performed. Set a single-point routing table router_pic;
[0069] Take the source node as the third hop and the destination node as the first hop as an example:
[0070] The router_pic=zeros(1, relay_num+1);
[0071] router_pic(1)=source_hop=3;
[0072] router_pic(end)=targer_hop=1;
[0073] Further, from target_hop=1, we can calculate that the nodes that can reach the target node 1 are 7 and 9, and the corresponding nodes in send_vector(relay_num) are 2, 3, and 9 (starting from node 4, the child nodes that can be reached are 2, 3, and 9), so the common intersection node is 9, that is, node 9 is the first node connecting 4 and 1. At this time, router_pic(end-1)=9;
[0074] The corresponding node in send_vector(relay_num-1) is 4 (starting from node 3, it can reach child node 4), and the nodes connected to the target node 9 are 1, 2, and 4, and node 4 is the first point (the only point) connecting 9 and 3. At this time, router_pic(end-2)=4; the final output node route is router_pic=[3,4,9,1], that is, the optimal path from the source node to the target node is 3,4,9,1.
[0075] Furthermore, it also includes:
[0076] The single-point routing table can be constructed in the following manner:
[0077] refer to Figure 3, define the initial vector S (except the corresponding value of this node is 1, all others are 0), and iteratively multiply the vector and the topology matrix S = S * R, and find out whether the corresponding value of the target is raised to obtain the number of relay communications between the source node and the target node;
[0078] Select the index number when the corresponding value of the target node in the vector is pulled high, find the ID number of the previous relay of the target node, repeatedly run the total number of relay communications, collect all the index numbers and source IDs, and target IDs to build a single-point routing table.
[0079] According to the embodiments of the present disclosure, the following technical effects are achieved:
[0080] The path with the least number of hops from the source node to the destination node, that is, the optimal path, can be quickly selected. It is suitable for military communication networks, railway system networks, public security system networks, flood control networks, and naval system networks. In military communications, drones can form a drone ad hoc network, that is, a multi-hop wireless mobile communication network dynamically formed by several drones without the help of any central station (each drone is equivalent to a node in the ad hoc network), which improves the applicability of the communication protocol and reduces costs.
[0081] It should be noted that, for the aforementioned method embodiments, for the sake of simplicity, they are all described as a series of action combinations, but those skilled in the art should be aware that the present disclosure is not limited by the order of the actions described, because according to the present disclosure, certain steps can be performed in other orders or simultaneously. Secondly, those skilled in the art should also be aware that the embodiments described in the specification are all optional embodiments, and the actions and modules involved are not necessarily required by the present disclosure.
[0082] The above is an introduction to the method embodiment. The following is a further explanation of the scheme disclosed in the present invention through an apparatus embodiment.
[0083] Figure 6 FIG. 6 is a block diagram of a communication device 600 for a wireless mesh ad hoc network according to an embodiment of the present disclosure. Figure 6 As shown, the device 600 includes:
[0084] The acquisition module 610 is used to acquire the source ID, the target ID and the topology map TOPO information;
[0085] A first search module 620 is used to perform a forward search based on the source ID, the target ID and the topology map TOPO information to determine the number of jumps from the source node to the target node and the neighbor node ID of each relay;
[0086] The second search module 630 is used to perform a reverse search based on the number of jumps and the neighbor node ID to determine the optimal path from the source node to the target node.
[0087] Those skilled in the art can clearly understand that, for the convenience and brevity of description, the specific working process of the described module can refer to the corresponding process in the aforementioned method embodiment, and will not be repeated here.
[0088] Figure 7 A schematic block diagram of an electronic device 700 that can be used to implement an embodiment of the present disclosure is shown. As shown, the device 700 includes a central processing unit (CPU) 701, which can perform various appropriate actions and processes according to computer program instructions stored in a read-only memory (ROM) 702 or loaded from a storage unit 708 into a random access memory (RAM) 703. In the RAM 703, various programs and data required for the operation of the device 700 can also be stored. The CPU 701, ROM 702, and RAM 703 are connected to each other via a bus 704. An input / output (I / O) interface 705 is also connected to the bus 704.
[0089] A number of components in the device 700 are connected to the I / O interface 705, including: an input unit 706, such as a keyboard, a mouse, etc.; an output unit 707, such as various types of displays, speakers, etc.; a storage unit 708, such as a disk, an optical disk, etc.; and a communication unit 709, such as a network card, a modem, a wireless communication transceiver, etc. The communication unit 709 allows the device 700 to exchange information / data with other devices through a computer network such as the Internet and / or various telecommunication networks.
[0090] The processing unit 701 performs the various methods and processes described above, such as the method 200. For example, in some embodiments, the method 200 may be implemented as a computer software program, which is tangibly contained in a machine-readable medium, such as the storage unit 708. In some embodiments, part or all of the computer program may be loaded and / or installed on the device 700 via the ROM 702 and / or the communication unit 709. When the computer program is loaded into the RAM 703 and executed by the CPU 701, one or more steps of the method 200 described above may be performed. Alternatively, in other embodiments, the CPU 701 may be configured to perform the method 200 in any other suitable manner (e.g., by means of firmware).
[0091] The functions described above herein may be performed at least in part by one or more hardware logic components. For example, without limitation, exemplary types of hardware logic components that may be used include: field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific standard products (ASSPs), systems on chip systems (SOCs), load programmable logic devices (CPLDs), and the like.
[0092] The program code for implementing the method of the present disclosure may be written in any combination of one or more programming languages. These program codes may be provided to a processor or controller of a general-purpose computer, a special-purpose computer, or other programmable data processing device, so that the program code, when executed by the processor or controller, enables the functions / operations specified in the flow chart and / or block diagram to be implemented. The program code may be executed entirely on the machine, partially on the machine, partially on the machine and partially on a remote machine as a stand-alone software package, or entirely on a remote machine or server.
[0093] In the context of the present disclosure, a machine-readable medium may be a tangible medium that may contain or store a program for use by or in conjunction with an instruction execution system, device, or equipment. A machine-readable medium may be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium may include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, device, or equipment, or any suitable combination of the foregoing. A more specific example of a machine-readable storage medium may include an electrical connection based on one or more lines, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
[0094] The above description is only a preferred embodiment of the present application and an explanation of the technical principles used. Those skilled in the art should understand that the scope of application involved in the present application is not limited to the technical solution formed by a specific combination of the above technical features, but should also cover other technical solutions formed by any combination of the above technical features or their equivalent features without departing from the aforementioned application concept. For example, the above features are replaced with (but not limited to) technical features with similar functions applied in the present application.
Claims
1. A communication method for a wireless mesh ad hoc network, characterized in that: include: Get source ID, target ID and topology map TOPO information; Based on the source ID, target ID and topology map TOPO information, a forward search is performed to determine the number of jumps from the source node to the target node and the neighbor node ID of each relay; Based on the number of jumps and neighbor node IDs, a reverse search is performed to determine the optimal path from the source node to the target node; The reverse search based on the number of jumps and the neighbor node ID to determine the optimal path from the source node to the target node includes: Based on the source node and the target node, a single-point routing table is constructed; Based on the number of jumps, neighbor node IDs and the single-point routing table, reversely trace back from the target node to determine the optimal path from the source node to the target node; The single-point routing table can be constructed in the following manner: Define the initial vector S, iteratively multiply the vector and the topology matrix S = S*R, and find out whether the corresponding value of the target is increased to obtain the number of relay communications between the source node and the target node; Select the index number when the corresponding value of the target node in the vector is pulled high, find the ID number of the previous relay of the target node, repeatedly run the total number of relay communications, collect all the index numbers and source IDs, and target IDs to build a single-point routing table.
2. The method according to claim 1, characterized in that: The forward search is performed based on the source ID, the target ID and the topology map TOPO information to determine the number of jumps from the source node to the target node and the neighbor node ID of each relay, including: Based on the source ID and the target ID, generate a NET_Poing point all-zero vector send_Vector, set the point corresponding to the source ID in the first row of the send_Vector to 1, and generate a new vector; Setting a cycle number k, substituting the k into the new vector, and then multiplying the new vector by the topology map TOPO to obtain a receiving vector; Processing the received vector to obtain a check vector; Based on the check vector, the number of jumps from the source node to the target node and the neighbor node ID of each relay are determined.
3. The method according to claim 2, characterized in that The processing of the received vector to obtain a check vector comprises: The received vector is processed, and a sign bit of the received vector is taken to obtain a check vector.
4. A communication device for a wireless mesh ad hoc network, characterized in that: include: The acquisition module is used to obtain the source ID, target ID and topology map TOPO information; A first search module is used to perform a forward search based on the source ID, the target ID and the TOPO information of the topology map to determine the number of jumps from the source node to the target node and the neighbor node ID of each relay; A second search module is used to perform a reverse search based on the number of jumps and the neighbor node ID to determine the optimal path from the source node to the target node; The reverse search based on the number of jumps and the neighbor node ID to determine the optimal path from the source node to the target node includes: Based on the source node and the target node, a single-point routing table is constructed; Based on the number of jumps, neighbor node IDs and the single-point routing table, reversely trace back from the target node to determine the optimal path from the source node to the target node; The single-point routing table can be constructed in the following manner: Define the initial vector S, iteratively multiply the vector and the topology matrix S = S*R, and find out whether the corresponding value of the target is increased to obtain the number of relay communications between the source node and the target node; Select the index number when the corresponding value of the target node in the vector is pulled high, find the ID number of the previous relay of the target node, repeatedly run the total number of relay communications, collect all the index numbers and source IDs, and target IDs to build a single-point routing table.
5. The device according to claim 4, characterized in that The forward search is performed based on the source ID, the target ID and the topology map TOPO information to determine the number of jumps from the source node to the target node and the neighbor node ID of each relay, including: Based on the source ID and the target ID, generate a NET_Poing point all-zero vector send_Vector, set the point corresponding to the source ID in the first row of the send_Vector to 1, and generate a new vector; Setting a cycle number k, substituting the k into the new vector, and then multiplying the new vector by the topology map TOPO to obtain a receiving vector; Processing the received vector to obtain a check vector; Based on the check vector, the number of jumps from the source node to the target node and the neighbor node ID of each relay are determined.
6. The device according to claim 5, characterized in that The processing of the received vector to obtain a check vector comprises: The received vector is processed, and a sign bit of the received vector is taken to obtain a check vector.
7. An electronic device comprising a memory and a processor, wherein a computer program is stored in the memory, wherein: When the processor executes the program, the method according to any one of claims 1 to 3 is implemented.
8. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the program is executed by a processor, the method according to any one of claims 1 to 3 is implemented.
Citation Information
Patent Citations
Network data collection control system and wireless routing method
CN105072658A