Method and device for determining routing path of delay tolerant network, and electronic equipment
By building a periodic table of node links in a delay-tolerant network and calculating the expected transmission value, dynamically adjusting the routing path, the problem of low routing success rate caused by network topology changes is solved, and efficient data transmission is achieved in a dynamic environment.
Patent Information
- Application Number
- CN202510773352.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-06-10
- Publication Date
- 2025-08-08
AI Technical Summary
In latency tolerant networks, due to dynamic changes in network topology, the prior art cannot accurately determine the routing path, resulting in a low routing success rate.
By querying whether there is a preset routing path in the source node's preset routing table, a periodic table of node links between any two nodes is constructed, the expected transmission value is calculated, the target routing path with the highest transmission probability is selected, and dynamically adjust the routing path when the network topology changes.
In the case of dynamic changes in network topology, the optimal transmission path can be accurately found, improving the routing success rate and data transmission stability.
Smart Images

Figure CN120455354A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of financial technology, and in particular to a method for determining a routing path in a delay-tolerant network, a device thereof, and an electronic device. Background Art
[0002] A Delay Tolerant Network (DTN) is a connectionless, asynchronous, and delay-sensitive network that allows data to be stored and transferred between nodes until the optimal path to its destination is found. It can be applied to a variety of networks, including mobile networks, long-distance wireless link networks, underwater acoustic modulation communication networks, free-space optical communication networks, satellite communication networks, sensor networks, and emergency rescue networks, such as post-disaster emergency networks of financial institutions.
[0003] Due to the diversity and complexity of DTN environments, routing algorithms are categorized into a variety of types. These include deterministic routing algorithms and random routing algorithms (such as PROPHET (Probabilistic Routing Protocol using History of Encounters and Transmissions), a probabilistic routing protocol used in delay-tolerant networks) based on the network topology information held by the nodes. Deterministic routing algorithms pre-calculate the optimal path from the source node to the destination node using fixed rules or algorithms based on global or local network topology information. Random routing algorithms do not rely on detailed network topology information but instead randomly select the next forwarding node for the data packet based on a policy, providing greater flexibility during data transmission.
[0004] However, random routing algorithms are affected by multiple factors, including but not limited to node mobility, storage capacity, and transmission capability, resulting in a low routing success rate.
[0005] To address the above-mentioned problems, no effective solutions have been proposed so far. Summary of the Invention
[0006] The embodiments of the present invention provide a method and apparatus for determining a routing path in a delay-tolerant network, and an electronic device thereof, to at least solve the technical problem in related technologies that the routing path cannot be accurately determined due to dynamic changes in network topology, resulting in a low routing success rate.
[0007] According to one aspect of an embodiment of the present application, a method for determining a routing path of a delay-tolerant network is provided, comprising: when a source node is monitored to send data to a destination node, querying a preset routing table of the source node to determine whether there is a preset routing path from the source node to the destination node, wherein the preset routing table is constructed by using historical information of the source node, and the historical information at least includes: a routing path between each node; constructing a node link periodic table between any two nodes, wherein the node link periodic table is used to record periodic historical data of communication between the two nodes; in the case that there is no preset routing path from the source node to the destination node, determining a transmission expected value between the two nodes indicated by each node link periodic table, and determining at least one preset transmission expected value from the source node to the destination node based on all the transmission expected values; comparing all the preset transmission expected values to determine a target preset transmission expected value, and determining a target routing path from the source node to the destination node based on the target preset transmission expected value.
[0008] Furthermore, the step of constructing a node link periodic table between any two nodes includes: traversing the nodes in the delay-tolerant network and taking the selected node as the current node; determining the link connection duration and link disconnection duration between the current node and each other node within multiple different preset time periods, wherein the other node is any node other than the current node; for each current node, constructing a node link periodic table between the current node and each other node based on the current node, other nodes, preset time period, link connection duration and link disconnection duration.
[0009] Furthermore, the preset time period includes at least: a first preset time period and a second preset time period, determining the transmission expectation value between the two nodes indicated by each node link period table, and determining at least one preset transmission expectation value from the source node to the destination node based on all the transmission expectation values, including: determining the initial transmission expectation value between the two nodes indicated by each node link period table; for each node link period table, calculating the first transmission expectation value between the two nodes indicated by the node link period table based on the initial transmission expectation value, the preset constant value, the first preset time period and the link connection duration within the first preset time period; calculating the second transmission expectation value between the two nodes indicated by the node link period table based on the first transmission expectation value, the preset attenuation constant and the link disconnection duration within the first preset time period; calculating the third transmission expectation value between the two nodes indicated by the node link period table based on the second transmission expectation value, the preset constant value, the second preset time period and the link connection duration within the second preset time period; calculating the fourth transmission expectation value between the two nodes indicated by the node link period table based on the third transmission expectation value, the preset attenuation constant and the link disconnection duration within the second preset time period; and determining at least one preset transmission expectation value based on all fourth transmission expectation values.
[0010] Furthermore, the delay-tolerant network includes at least: a node queue, which, after determining the target routing path from the source node to the destination node based on the target preset transmission expectation value, also includes: sending all pending messages of the source node to the destination node based on the target routing path, wherein the target routing path includes at least: a source node, an intermediate node and a destination node, and each pending message has a corresponding message lifetime; when it is monitored that the source node sends all pending messages to the intermediate node, all pending messages are stored in the cache space of the intermediate node, and based on the message lifetime of each pending message, all pending messages are sorted to obtain a lifetime sorted set; based on the lifetime sorted set, the order in which the node queue processes the pending messages is determined; based on the lifetime sorted set, all pending messages are sent to the destination node.
[0011] Furthermore, the step of sending all messages to be sent to the destination node based on the order includes: when it is monitored that the source node sends other messages to the intermediate node, comparing the message survival time of other messages with the message survival time of all messages to be sent in the survival time sorted set to obtain a comparison result, wherein the other messages are messages other than the messages to be sent; based on the comparison result, determining the position of the other messages in the node queue; based on the position, adding the other messages to the node queue, and sending all messages in the node queue to the destination node.
[0012] Furthermore, after all the messages to be sent are stored in the cache space of the intermediate node, it also includes: judging whether the cache space is greater than a preset threshold; when the cache space is greater than the preset threshold, determining the adjacent nodes of the intermediate node, and sending a route adjustment request to the adjacent nodes, wherein the adjacent nodes are nodes other than the intermediate node, the source node and the destination node, and the adjacent nodes respond to the route adjustment request and return response information; based on the response information, transferring the messages to be sent in the node queue to the adjacent node; judging whether the transfer of the messages to be sent is successful, obtaining a judgment result, and sending the messages to be sent to the destination node based on the judgment result.
[0013] Furthermore, the judgment result includes at least: the message to be sent is not transferred successfully, the message to be sent is transferred successfully, and based on the judgment result, the step of sending the message to be sent to the destination node includes: if the message to be sent is not transferred successfully, resending the message to be sent; if the message to be sent is transferred successfully, judging whether there is a routing path from the adjacent node to the destination node; if there is a routing path from the adjacent node to the destination node, sending the message to be sent to the destination node based on the routing path; if there is no routing path from the adjacent node to the destination node, sending the message to be sent to the intermediate node after a preset time period, wherein the intermediate node sends the message to be sent to the destination node.
[0014] Furthermore, the routing path determination method for a delay-tolerant network also includes: when there is a preset routing path from the source node to the destination node, determining whether the network topology has changed, wherein the network topology is used to represent the connection status between all nodes; when the network topology has not changed, sending a message to the destination node based on the preset routing path; when the network topology has changed, updating the node link periodic table.
[0015] According to another aspect of an embodiment of the present application, a routing path determination device for a delay-tolerant network is also provided, including: a first query unit, for querying in a preset routing table of the source node when monitoring that a source node sends data to a destination node, to determine whether there is a preset routing path from the source node to the destination node, wherein the preset routing table is constructed through historical information of the source node, and the historical information at least includes: a routing path between each node; a first construction unit, for constructing a node link periodic table between any two nodes, wherein the node link periodic table is used to record periodic historical data of communication between the two nodes; a first determination unit, for determining, when there is no preset routing path from the source node to the destination node, the transmission expected value between the two nodes indicated in each node link periodic table, and determining at least one preset transmission expected value from the source node to the destination node based on all the transmission expected values; a second determination unit, for comparing all the preset transmission expected values, determining a target preset transmission expected value, and determining a target routing path from the source node to the destination node based on the target preset transmission expected value.
[0016] Furthermore, the first construction unit includes: a first traversal module, used to traverse the nodes in the delay-tolerant network and select the selected node as the current node; a first determination module, used to determine the link connection duration and link disconnection duration between the current node and each other node within multiple different preset time periods, wherein the other node is any node other than the current node; a first construction module, used to construct a node link periodic table between the current node and each other node for each current node based on the current node, other nodes, preset time period, link connection duration and link disconnection duration.
[0017] Furthermore, the preset time period includes at least: a first preset time period and a second preset time period, and the first determination unit includes: a second determination module, used to determine the initial transmission expectation value between the two nodes indicated by each node link period table; a first calculation module, used to calculate the first transmission expectation value between the two nodes indicated by the node link period table for each node link period table based on the initial transmission expectation value, the preset constant value, the first preset time period and the link connection duration within the first preset time period; the second calculation module, used to calculate the second transmission expectation value between the two nodes indicated by the node link period table based on the first transmission expectation value, the preset attenuation constant and the link disconnection duration within the first preset time period; the third calculation module, used to calculate the third transmission expectation value between the two nodes indicated by the node link period table based on the second transmission expectation value, the preset constant value, the second preset time period and the link connection duration within the second preset time period; the fourth calculation module, used to calculate the fourth transmission expectation value between the two nodes indicated by the node link period table based on the third transmission expectation value, the preset attenuation constant and the link disconnection duration within the second preset time period; the third determination module, used to determine at least one preset transmission expectation value based on all fourth transmission expectation values.
[0018] Furthermore, the delay-tolerant network includes at least: a node queue, and the routing path determination device of the delay-tolerant network also includes: a first sending module, which is used to determine the target routing path from the source node to the destination node based on the target preset transmission expected value, and then send all pending messages of the source node to the destination node based on the target routing path, wherein the target routing path includes at least: a source node, an intermediate node and a destination node, and each pending message corresponds to a message lifetime; a first sorting module, which is used to store all pending messages in the cache space of the intermediate node when monitoring that the source node sends all pending messages to the intermediate node, and sort all pending messages based on the message lifetime of each pending message to obtain a lifetime sorting set; a fourth determination module, which is used to determine the order in which the node queue processes the pending messages based on the lifetime sorting set; and a second sending module, which is used to send all pending messages to the destination node based on the order.
[0019] Furthermore, the second sending module includes: a first comparison submodule, which is used to compare the message survival time of other messages with the message survival time of all messages to be sent in the survival time sorted set when monitoring the source node sending other messages to the intermediate node, to obtain a comparison result, wherein the other messages are messages other than the messages to be sent; a first determination submodule, which is used to determine the position of other messages in the node queue based on the comparison result; and a first adding submodule, which is used to add other messages to the node queue based on the position, and send all messages in the node queue to the destination node.
[0020] Furthermore, the routing path determination device of the delay-tolerant network also includes: a first judgment module, which is used to judge whether the cache space is greater than a preset threshold after all messages to be sent are stored in the cache space of the intermediate node; a third sending module, which is used to determine the adjacent nodes of the intermediate node when the cache space is greater than the preset threshold, and send a routing adjustment request to the adjacent nodes, wherein the adjacent nodes are nodes other than the intermediate node, the source node and the destination node, and the adjacent nodes respond to the routing adjustment request and return response information; a first transfer module, which is used to transfer the messages to be sent in the node queue to the adjacent node based on the response information; a fourth sending module, which is used to judge whether the transfer of the messages to be sent is successful, obtain a judgment result, and send the messages to be sent to the destination node based on the judgment result.
[0021] Furthermore, the judgment result includes at least: the message to be sent is not transferred successfully, the message to be sent is transferred successfully, and the fourth sending module includes: a first sending sub-module, used to resend the message to be sent if the message to be sent is not transferred successfully; a first judgment sub-module, used to judge whether there is a routing path from the adjacent node to the destination node if the message to be sent is transferred successfully; a second sending sub-module, used to send the message to be sent to the destination node based on the routing path if there is a routing path from the adjacent node to the destination node; a third sending sub-module, used to send the message to be sent to the intermediate node after a preset time period if there is no routing path from the adjacent node to the destination node, wherein the intermediate node sends the message to be sent to the destination node.
[0022] Furthermore, the routing path determination device of the delay-tolerant network also includes: a second judgment module, used to judge whether the network topology structure has changed when there is a preset routing path from the source node to the destination node, wherein the network topology is used to represent the connection status between all nodes; a fifth sending module, used to send a message to the destination node based on the preset routing path when the network topology structure has not changed; and a first update module, used to update the node link periodic table when the network topology structure has changed.
[0023] According to another aspect of an embodiment of the present application, a computer program product is also provided, including a non-volatile computer-readable storage medium, wherein the non-volatile computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, it implements any of the above-mentioned methods for determining a routing path in a delay-tolerant network.
[0024] According to another aspect of an embodiment of the present application, an electronic device is also provided, including one or more processors and a memory, wherein the memory is used to store one or more programs, wherein when the one or more programs are executed by one or more processors, the one or more processors implement any of the above-mentioned methods for determining a routing path of a delay-tolerant network.
[0025] In the present invention, when it is monitored that a source node sends data to a destination node, a query is performed in the preset routing table of the source node to determine whether there is a preset routing path from the source node to the destination node, and a node link periodic table between any two nodes is constructed. When there is no preset routing path from the source node to the destination node, the transmission expected value between the two nodes indicated by each node link periodic table is determined, and based on all the transmission expected values, at least one preset transmission expected value from the source node to the destination node is determined, all the preset transmission expected values are compared to determine the target preset transmission expected value, and based on the target preset transmission expected value, the target routing path from the source node to the destination node is determined, which solves the technical problem in the related art that the routing path cannot be accurately determined due to dynamic changes in network topology, resulting in a low routing success rate.
[0026] In the present invention, when it is detected that a source node initiates data transmission to a destination node, a query is performed in a preset routing table constructed based on historical information of the source node to determine whether there is a preset routing path directly leading to the destination node. If there is no preset path, a node link periodic table is constructed between any two nodes. The node link periodic table records the periodic historical data of communication between the two nodes. Then, based on each node link periodic table, the transmission expected value between the two nodes indicated by each node link periodic table can be calculated, and based on all the transmission expected values, at least one preset transmission expected value from the source node to the destination node is determined, and these preset transmission expected values are compared to screen out the target preset transmission expected value with the highest transmission probability. Finally, based on the selected target preset transmission expected value, the target routing path from the source node to the destination node is determined. Even when the network topology changes dynamically, the optimal transmission path can be found in a timely and accurate manner, thereby achieving the technical effect of improving the success rate of routing. BRIEF DESCRIPTION OF THE DRAWINGS
[0027] The drawings described herein are used to provide a further understanding of the present invention and constitute a part of the present invention. The exemplary embodiments of the present invention and their descriptions are used to explain the present invention and do not constitute an improper limitation of the present invention. In the drawings:
[0028] Figure 1 A hardware structure block diagram of a computer terminal (or mobile device) for implementing a method for determining a routing path in a delay-tolerant network is shown;
[0029] Figure 2 is a flowchart of a method for determining a routing path in a delay-tolerant network according to embodiment 1 of the present application;
[0030] Figure 3 is a schematic diagram of an optional node queue mechanism according to an embodiment of the present application;
[0031] Figure 4 is a flowchart of an optional congestion routing adjustment method according to an embodiment of the present application;
[0032] Figure 5 is a flowchart of an optional routing decision according to an embodiment of the present application;
[0033] Figure 6 is a schematic diagram of an optional device for determining a routing path in a delay-tolerant network according to an embodiment of the present application;
[0034] Figure 7 This is a structural block diagram of an electronic device according to an embodiment of the present application. DETAILED DESCRIPTION
[0035] In order to enable those skilled in the art to better understand the solutions of the present invention, the technical solutions in the embodiments of the present invention will be clearly and completely described below in conjunction with the drawings in the embodiments of the present invention. Obviously, the embodiments described are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without making creative efforts should fall within the scope of protection of the present invention.
[0036] It should be noted that the terms "first", "second", etc. in the description and claims of the present invention and the above-mentioned drawings are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that the numbers used in this way can be interchanged where appropriate, so that the embodiments of the present invention described herein can be implemented in an order other than those illustrated or described herein. In addition, the terms "including" and "having" and any variations thereof are intended to cover non-exclusive inclusions. For example, a process, method, system, product or device that includes a series of steps or units is not necessarily limited to those steps or units clearly listed, but may include other steps or units that are not clearly listed or inherent to these processes, methods, products or devices.
[0037] It should be noted that the relevant information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, stored data, displayed data, etc.) collected and involved in the present invention are all information and data authorized by the user or fully authorized by all parties, and the collection, storage, use, processing, transmission, provision, disclosure and application of the relevant data comply with the relevant laws, regulations and standards of the relevant regions, take necessary confidentiality measures, do not violate public order and good morals, and provide corresponding operation entrances for users to choose to authorize or refuse. For example, an interface is set up between this system and the relevant users or institutions. Before obtaining relevant information, it is necessary to send an acquisition request to the aforementioned user or institution through the interface, and obtain relevant information after receiving the consent information fed back by the aforementioned user or institution.
[0038] In the present invention, since the random routing algorithm PROPHET has problems such as inaccurate calculation of transmission expected values and network congestion, and the inaccurate calculation of transmission expected values will lead to the inability to accurately determine the routing path, therefore, to solve the problem of inaccurate calculation of transmission expected values, a link periodic table of the node is first established, and then the calculation result of the transmission expected value is optimized according to the specific link status of the node to achieve the purpose of selecting the optimal path. For the problem of network congestion, a reasonable queue cache management mechanism is established according to the survival time of the information and the storage space of the node to achieve the purpose of reasonably allocating node storage space, reducing network delay, and reducing packet loss rate.
[0039] The present invention will be described in detail below with reference to various embodiments.
[0040] Example 1
[0041] According to an embodiment of the present application, an embodiment of a method for determining a routing path in a delay-tolerant network is also provided. It should be noted that the steps shown in the flowchart of the accompanying drawings can be executed in a computer system such as a set of computer-executable instructions, and although a logical order is shown in the flowchart, in some cases, the steps shown or described can be executed in an order different from that shown here.
[0042] The method embodiment provided in the first embodiment of the present application can be executed in a mobile terminal, a computer terminal or a similar computing device. Figure 1 The hardware structure block diagram of a computer terminal (or mobile device) for implementing a method for determining a routing path in a delay-tolerant network is shown. Figure 1 As shown, the computer terminal 10 (or mobile device) may include one or more ( Figure 1102a, 102b, ..., 102n are used to illustrate) a processor 102 (the processor 102 may include but is not limited to a processing device such as a microprocessor MCU or a programmable logic device FPGA), a memory 104 for storing data, and a transmission device 106 for communication functions. In addition, it may also include: a display, a keyboard, a cursor control device, an input / output interface (I / O interface), a universal serial bus (USB) port (which may be included as one of the ports of the BUS bus), a network interface, a power supply and / or a camera, wherein the network interface may be connected to a wired and / or wireless network. It will be understood by those skilled in the art that Figure 1 The structure shown is only for illustration and does not limit the structure of the above electronic device. Figure 1 More or fewer components than shown, or with Figure 1 Different configurations shown.
[0043] It should be noted that the one or more processors 102 and / or other data processing circuits described above may generally be referred to herein as "data processing circuitry". The data processing circuitry may be embodied in whole or in part as software, hardware, firmware, or any other combination thereof. In addition, the data processing circuitry may be a single independent processing module, or may be incorporated in whole or in part into any of the other components of the computer terminal 10 (or mobile device). As described in the embodiments of the present application, the data processing circuitry serves as a processor control (e.g., selection of a variable resistor terminal path connected to an interface).
[0044] The memory 104 can be used to store software programs and modules of application software, such as the program instructions / data storage device corresponding to the method for determining the routing path of a delay-tolerant network in the embodiment of the present application. The processor 102 executes various functional applications and data processing by running the software programs and modules stored in the memory 104, that is, implementing the above-mentioned method for determining the routing path of the delay-tolerant network. The memory 104 may include a high-speed random access memory and may also include a non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid-state memory. In some instances, the memory 104 may further include a memory remotely located relative to the processor 102, and these remote memories may be connected to the computer terminal 10 via a network. Examples of the above-mentioned network include, but are not limited to, the Internet, an intranet, a local area network, a mobile communication network, and combinations thereof.
[0045] The transmission device 106 is configured to receive or transmit data via a network. A specific example of the aforementioned network may include a wireless network provided by the communications provider of the computer terminal 10. In one embodiment, the transmission device 106 includes a network interface controller (NIC), which can be connected to other network devices via a base station to enable communication with the Internet. In another embodiment, the transmission device 106 may be a radio frequency (RF) module, which is configured to communicate with the Internet wirelessly.
[0046] The display may be, for example, a touch screen liquid crystal display (LCD) that enables a user to interact with a user interface of the computer terminal 10 (or mobile device).
[0047] Under the above operating environment, this application provides Figure 2 The routing path determination method of the delay-tolerant network is shown. Figure 2 is a flowchart of a method for determining a routing path in a delay-tolerant network according to embodiment 1 of the present application, such as Figure 2 As shown, the method includes the following steps:
[0048] Step S201, when it is monitored that the source node sends data to the destination node, a query is performed in the preset routing table of the source node to determine whether there is a preset routing path from the source node to the destination node, wherein the preset routing table is constructed based on the historical information of the source node, and the historical information at least includes: the routing path between each node.
[0049] In an embodiment of the present invention, in a delay-tolerant network, when it is monitored that a source node (i.e., a node that sends information, such as node A) is about to send data to a destination node (i.e., a node that receives information, such as node D), it is necessary to determine a transmission path from A to D. A query can be performed in a preset routing table of the source node (constructed based on historical information of the source node A, including at least routing path information between the source node A and other nodes) to determine whether there is a preset routing path from the source node to the destination node (i.e., a pre-existing routing path recorded in the preset routing table).
[0050] Step S202: construct a node link periodic table between any two nodes, wherein the node link periodic table is used to record periodic historical data of communication between the two nodes.
[0051] In the embodiment of the present invention, since there is periodic historical data between nodes (such as node link connection time (T c ) and node link disconnection time (T b)), the communication time between two nodes can be divided into different periodic time periods (T), and the node link connection time and node link disconnection time can be counted in each periodic time period to construct a node link periodic table between any two nodes.
[0052] Step S203, when there is no preset routing path from the source node to the destination node, determine the transmission expected value between the two nodes indicated by each node link periodic table, and determine at least one preset transmission expected value from the source node to the destination node based on all the transmission expected values.
[0053] In an embodiment of the present invention, when there is no preset routing path from the source node to the destination node, a dynamic path discovery phase can be entered. In this phase, the transmission expected value between the two nodes indicated by the node link periodic table can be calculated based on each node link periodic table (a quantitative indicator that measures the probability of successful data transmission between nodes), and based on all transmission expected values, multiple preset transmission expected values from the source node A to the destination node D can be obtained. The preset transmission expected value can be calculated based on the transmission expected value between each node.
[0054] For example, the source node A and the destination node D have adjacent nodes B and C. According to the node link periodic table, the transmission expected value P between node A and node B can be calculated respectively. (a,b) , the expected transmission value P between node A and node C (a,c) , the expected transmission value P between node B and node C (b,c) , the expected transmission value P between node C and node D (c,d) At this time, ABCD has a preset transmission expected value P (a,d) , the preset transmission expected value P (a,d) =P (a,d)old +(1-P (a,d)old )×P (a,b) ×P (b,c) ×P (c,d) ×β, where P (a,d)old is the initial setting value, β is a constant between [0, 1], and ACD also has a preset transmission expected value P (a,d) , the preset transmission expected value P (a,d) =P (a,d)old +(1-P (a,d)old )×P (a,c) ×P (c,d) ×β.
[0055] Step S204 : comparing all preset transmission expected values to determine a target preset transmission expected value, and determining a target routing path from the source node to the destination node based on the target preset transmission expected value.
[0056] In an embodiment of the present invention, all preset transmission expected values are compared to obtain a maximum preset transmission expected value (i.e., a target preset transmission expected value), and based on the target preset transmission expected value, the target routing path from the source node to the destination node can be determined. For example, as can be seen from the above example, if the preset transmission expected value of ABCD is greater than the preset transmission expected value of ACD, the preset transmission expected value of ABCD can be used as the target preset transmission expected value. By selecting an intelligent routing algorithm, effective data transmission from the source node to the destination node can be achieved, thereby improving the stability of the network and the reliability of data transmission.
[0057] In summary, when it is monitored that the source node sends data to the destination node, the preset routing table of the source node can be queried to quickly determine whether there is a direct or indirect preset routing path. If not, a node link periodic table can be constructed to record the periodic historical data of communication between nodes, and based on this, the transmission expectation value between the two nodes is calculated. Then, based on these calculated transmission expectation values, one or more preset transmission expectation values are determined, and the highest target preset transmission expectation value is screened out through numerical comparison. After that, the target routing path from the source node to the destination node is determined based on the target preset transmission expectation value, which improves the accuracy of route selection and the efficiency of data transmission. When the network topology is unknown or dynamically changing, the routing path can be intelligently adjusted to ensure the stability and rapid response of information transmission, thereby solving the technical problem in related technologies that the routing path cannot be accurately determined due to dynamic changes in network topology, resulting in a low routing success rate.
[0058] In order to accurately construct a node link periodic table between the current node and each other node, in the routing path determination method of the delay-tolerant network provided in Example 1 of the present application, the nodes in the delay-tolerant network are traversed, and the selected node is used as the current node; the link connection duration and link disconnection duration between the current node and each other node within multiple different preset time periods are determined, where the other node is any node other than the current node; for each current node, a node link periodic table between the current node and each other node is constructed based on the current node, other nodes, preset time period, link connection duration, and link disconnection duration.
[0059] In an embodiment of the present invention, each node in the network is traversed, and each traversed node is marked as the current node, providing a node-by-node analysis framework for subsequent link status analysis and periodic table construction. For each current node and each other node in the network, the link connection duration (Tc1, Tc2, Tc3, etc.) and link disconnection duration (Tb1, Tb2, Tb3, etc.) of the two nodes within multiple preset time periods (such as T1, T2, T3, etc.) are counted and determined, reflecting the communication cycle between the two nodes and the link status in different cycles. Based on the current node, other nodes, the preset time period, the link connection duration and the link disconnection duration, a node link periodic table between the current node and each other node is constructed.
[0060] In the embodiment of the present invention, the feasibility of future communications can be intelligently estimated based on link status data of different periods between nodes, thereby optimizing routing paths and reducing data transmission delays and packet loss rates.
[0061] Exemplarily, the communication time between node A and node B is divided into three different time periods, T1, T2, and T3. The node link period table between node A and node B is shown in Table 1.
[0062] Table 1
[0063] Current node Next node T <![CDATA[T c ]]> <![CDATA[T b ]]> A B <![CDATA[T1]]> <![CDATA[T c1 ]]> <![CDATA[T b1 ]]> A B <![CDATA[T2]]> <![CDATA[T c2 ]]> <![CDATA[T b2 ]]> A B <![CDATA[T3]]> <![CDATA[T c3 ]]> <![CDATA[T b3 ]]>
[0064] The preset time period includes at least: a first preset time period and a second preset time period. In order to accurately determine at least one preset transmission expectation value, in the routing path determination method of the delay-tolerant network provided in Example 1 of the present application, the initial transmission expectation value between the two nodes indicated by each node link period table is determined; for each node link period table, based on the initial transmission expectation value, the preset constant value, the first preset time period and the link connection duration within the first preset time period, the first transmission expectation value between the two nodes indicated by the node link period table is calculated; based on the first transmission expectation value, the preset attenuation constant and the link disconnection duration within the first preset time period, the second transmission expectation value between the two nodes indicated by the node link period table is calculated; based on the second transmission expectation value, the preset constant value, the second preset time period and the link connection duration within the second preset time period, the third transmission expectation value between the two nodes indicated by the node link period table is calculated; based on the third transmission expectation value, the preset attenuation constant and the link disconnection duration within the second preset time period, the fourth transmission expectation value between the two nodes indicated by the node link period table is calculated; based on all fourth transmission expectation values, at least one preset transmission expectation value is determined.
[0065] In the embodiment of the present invention, the preset time period includes at least: a first preset time period (T1) and a second preset time period (T2), and the initial transmission expectation value of each node in each preset time period is determined based on the historical data in the node link period table (for example, the initial transmission expectation value between node A and node B is expressed as P (a,b)old , which can be set based on the historical communication frequency and stability of the node pair).
[0066] In the embodiment of the present invention, for each node link periodic table, the initial transmission expected value, the preset constant value (P init ), the first preset time period, and the link connection duration within the first preset time period (T c1 ), calculate the first transmission expected value According to the first transmission expected value, the preset attenuation constant (γ) and the link disconnection duration (T b1 ), calculate the second transmission expected value between the two nodes indicated by the node link periodic table
[0067] In the embodiment of the present invention, the second transmission expected value within the first preset time period is used as the initial transmission expected value (P (a,b)old =P (a,b) ″), according to the second transmission expected value, the preset constant value, the second preset time period and the link connection duration (T c2 ), calculate the expected value of the third transmission between two nodes indicated by the node link periodic table Then, according to the third transmission expected value, the preset attenuation constant and the link disconnection duration (T b2 ), calculate the fourth transmission expected value between the two nodes indicated by the node link periodic table
[0068] In some optional embodiments, the communication cycle between nodes may also be greater than two times. For example, the fourth transmission expected value within the second preset time period is used as the initial transmission expected value within the third preset period. The same calculation can be performed subsequently in the above manner to obtain the transmission expected value within the third preset period. It should be noted that the number of communication cycles is only used as an example and is not limited here.
[0069] In an embodiment of the present invention, a fourth transmission expected value can be calculated based on each node link periodic table, and multiple preset transmission expected values can be obtained based on all the fourth transmission expected values. The specific steps are as shown in the example of step S203.
[0070] A delay-tolerant network includes at least: a node queue. In order to accurately send all messages to be sent to the destination node, in the routing path determination method of the delay-tolerant network provided in Example 1 of the present application, all messages to be sent from the source node are sent to the destination node based on the target routing path, wherein the target routing path includes at least: a source node, an intermediate node and a destination node, and each message to be sent corresponds to a message lifetime; when it is monitored that the source node sends all messages to be sent to the intermediate node, all messages to be sent are stored in the cache space of the intermediate node, and based on the message lifetime of each message to be sent, all messages to be sent are sorted to obtain a lifetime sorting set; based on the lifetime sorting set, the order in which the node queue processes the messages to be sent is determined; based on the order, all messages to be sent are sent to the destination node.
[0071] In an embodiment of the present invention, in a delay-tolerant network environment, the target routing path includes at least a source node, multiple intermediate nodes (such as node B, node C, etc.) and a destination node. According to the target routing path, all messages to be sent by the source node are transmitted one by one. Each message has its specific message survival time, which indicates the maximum time the message can survive in the network.
[0072] Optionally, when a message is transmitted in a delay-tolerant network and a link is disconnected, the message will be cached in an intermediate node. If too many messages are stored and not forwarded to the next node in time, network congestion will occur.
[0073] In an embodiment of the present invention, when it is monitored that the source node sends all messages to be sent to the intermediate node, all messages to be sent can be stored in the cache space of the intermediate node, and all messages to be sent can be sorted according to the message survival time of each message to be sent to obtain a survival time sorted set. According to the survival time sorted set, the order in which the node queue processes the messages to be sent is determined (such as placing messages with short survival times at the head of the node queue and sending them out first, and placing messages with long survival times at the tail of the node queue and sending them out later).
[0074] In an embodiment of the present invention, all messages to be sent can be sent to the destination node according to this order, ensuring that the node can give priority to processing messages with a short lifespan and close to expiration, thereby ensuring the timely delivery of important information to the greatest extent and reducing information loss due to network delays.
[0075] In order to improve the accuracy of sending all messages in the node queue to the destination node, in the routing path determination method of the delay-tolerant network provided in Example 1 of the present application, when it is monitored that the source node sends other messages to the intermediate node, the message lifetime of the other messages is compared with the message lifetime of all to-be-sent messages in the lifetime sorted set to obtain a comparison result, wherein the other messages are messages other than the to-be-sent messages; based on the comparison result, the position of the other messages in the node queue is determined; based on the position, the other messages are added to the node queue, and all messages in the node queue are sent to the destination node.
[0076] In an embodiment of the present invention, when it is monitored that the source node sends other messages (i.e., new messages) to the intermediate node in addition to the message currently being processed, the intermediate node will automatically obtain and record the message lifetime of the new message. Subsequently, the intermediate node compares the message lifetime of the new message with the message lifetime of each message to be sent in the lifetime sorted set, and generates a comparison result. The comparison result shows the relative size of the message lifetime of the new message and each message to be sent (i.e., old message).
[0077] In an embodiment of the present invention, the position of the new message in the node queue is determined based on the comparison result, and based on the position, the new message is added to the node queue, and all messages in the node queue are sent to the destination node. For example, if the message survival time of the new message is shorter than the message survival time of any message to be sent in the node queue, the new message will be placed at the front of the queue; if the message survival time of the new message is longer than the message survival time of any message to be sent in the node queue, the new message will be placed at the end of the queue to maintain the consistency of the message survival time sorting of the entire node queue. This mechanism can not only respond to new messages appearing in the network immediately, but also automatically adjust its processing priority according to the urgency of the message, greatly improving the efficiency and reliability of information transmission.
[0078] Figure 3 is a schematic diagram of an optional node queue mechanism according to an embodiment of the present application, such as Figure 3 As shown, the messages to be sent in the cache space of the intermediate node are sorted according to the size of the message survival time, and the message with the shortest survival time (ie TTL min ) to be sent to the head of the node queue, and the maximum message survival time (TTL max) is queued to the end of the node queue. If a new message arrives at the intermediate node during the message sending process, it is inserted into the corresponding position of the node queue according to the message survival time of the new message (i.e., the message survival time of the new message is compared with the message survival time of the messages to be sent stored in the survival time sorted set to obtain a comparison result, and the position of the new message in the node queue is determined according to the comparison result).
[0079] In some optional embodiments, in order to avoid congestion in intermediate nodes and save network bandwidth and energy resources, it is necessary to discard messages with a lifetime that is too long in some cases. When the node queue cache resources are exhausted, if there are still new messages delivered, the lifetime of the new message is compared with the lifetime of the tail message. If the lifetime of the new message is shorter than the lifetime of the tail message, the tail message can be discarded and the new message can be inserted into the corresponding position in the queue. If the lifetime of the new message is longer than the lifetime of the tail message, the message can be discarded. When the node queue cache space is sufficient, the source node is asked to resend the message.
[0080] In order to further improve the accuracy of sending messages to be sent to the destination node, in the routing path determination method of the delay-tolerant network provided in Example 1 of the present application, it is determined whether the cache space is greater than a preset threshold; when the cache space is greater than the preset threshold, the adjacent nodes to the intermediate node are determined, and a routing adjustment request is sent to the adjacent nodes, wherein the adjacent nodes are nodes other than the intermediate nodes, the source nodes and the destination nodes, and the adjacent nodes respond to the routing adjustment request and return response information; based on the response information, the messages to be sent in the node queue are transferred to the adjacent nodes; it is determined whether the transfer of the messages to be sent is successful, a judgment result is obtained, and based on the judgment result, the messages to be sent are sent to the destination node.
[0081] In an embodiment of the present invention, by checking the usage of the cache space and determining whether the current cache space exceeds a preset threshold (a standard value comprehensively set based on the storage capacity, network load, and message processing capability of the intermediate node), when the cache space is greater than the preset threshold (i.e., the cache space is full and the intermediate node begins to be congested), the adjacent nodes of the intermediate node (nodes other than the intermediate node, source node, and destination node, such as the adjacent node C of the intermediate node B) are determined, and a route adjustment request is sent to the adjacent node C, requesting assistance in processing the message to be sent to reduce its own storage pressure and processing burden. The adjacent node C responds to the route adjustment request and returns response information (such as being able to assist in processing the message to be sent).
[0082] In an embodiment of the present invention, based on the response information, the intermediate node transfers the message to be sent in the node queue to the adjacent node, and at the same time updates its own node queue and cache status, and determines whether the transfer of the message to be sent is successful, and obtains a judgment result (i.e., the transfer of the message to be sent is not successful, the transfer of the message to be sent is successful), and based on the judgment result, sends the message to be sent to the destination node.
[0083] The judgment result includes at least: the message to be sent is not transferred successfully, and the message to be sent is transferred successfully. In order to improve the efficiency of sending the message to be sent, in the routing path determination method of the delay-tolerant network provided in Example 1 of the present application, if the message to be sent is not transferred successfully, the message to be sent is resent; if the message to be sent is transferred successfully, it is determined whether there is a routing path from the adjacent node to the destination node; if there is a routing path from the adjacent node to the destination node, the message to be sent is sent to the destination node based on the routing path; if there is no routing path from the adjacent node to the destination node, the message to be sent is sent to the intermediate node after a preset time period, wherein the intermediate node sends the message to be sent to the destination node.
[0084] In an embodiment of the present invention, when the judgment result indicates that the message to be sent has not been transferred successfully, the source node can resend the message to be sent to ensure that normal data transmission can be restored through the retransmission mechanism even in the event of a local network failure or communication failure between nodes.
[0085] In an embodiment of the present invention, when the judgment result indicates that the transfer of the message to be sent is successful, it can be further judged whether there is a routing path from the adjacent node to the destination node, so as to optimize the transmission path, reduce the retention time of the message in the network and the network resources consumed. When there is a routing path from the adjacent node to the destination node, the message to be sent is sent to the destination node based on the routing path. When there is no routing path from the adjacent node to the destination node, a preset time length (i.e., a preset waiting time length for the intermediate node congestion recovery, such as 5 minutes, etc.) can be set, and the message to be sent is sent back to the intermediate node after the preset time length. That is, when it cannot be transmitted to the destination node through the adjacent node, the return mechanism with the preset time length is used to avoid the retention of information on an invalid path, thereby enhancing the dynamic adaptability of the network and the reliability of information transmission.
[0086] Exemplarily, the expected transmission value from the adjacent node (C) of the intermediate node (B) to the destination node (D) can be calculated. If the expected transmission value from the adjacent node to the destination node is greater than the expected transmission value from the intermediate node to the destination node (that is, there is a better routing path), the message at the tail of the node queue is sent out through the routing path between the adjacent node and the destination node. If the expected transmission value of the adjacent node is less than the expected transmission value of the intermediate node, the message at the tail of the node queue of the intermediate node is temporarily sent to the adjacent node for storage until the congestion of the intermediate node is alleviated and then sent out by the intermediate node.
[0087] Figure 4 is a flow chart of an optional congestion routing adjustment method according to an embodiment of the present application, such as Figure 4 As shown in the figure, when congestion occurs in DTN, the congested node (i.e., the intermediate node) sends a route adjustment request, the adjacent node responds to the route adjustment request, the congested node transfers the tail message to the adjacent node, and determines whether the message (i.e., the message to be sent) is transferred successfully. The route adjustment may fail (i.e., the message is not transferred successfully) due to the expiration of the message lifetime. If the message is not transferred successfully, the source node resends the message. If the message is transferred successfully, it determines whether there is a better path to the adjacent node. If there is a better path to the adjacent node, the message is forwarded through the adjacent node. If there is no better path to the adjacent node, it waits for the congestion of the congested node to ease, and the adjacent node resends the message back to the congested node, and the congested node sends the message to the destination node.
[0088] In order to improve the success rate of routing, in the routing path determination method of the delay-tolerant network provided in Example 1 of the present application, when there is a preset routing path from the source node to the destination node, it is determined whether the network topology structure has changed, wherein the network topology is used to represent the connection status between all nodes; when the network topology structure has not changed, a message is sent to the destination node based on the preset routing path; when the network topology structure has changed, the node link periodic table is updated.
[0089] In an embodiment of the present invention, when there is a preset routing path from the source node to the destination node, the message can be sent along the preset routing path, saving time and resources for recalculating the routing path. However, there is a situation where the connection status between nodes in the network (i.e., the network topology) changes, causing the preset routing path to be unavailable.
[0090] In an embodiment of the present invention, by determining whether the network topology has changed, if the network topology has changed, the node link periodic table is updated, and the routing path from the source node to the destination node is re-determined based on the updated node link periodic table. If the network topology has not changed, the message sending from the source node to the destination node can be completed according to the preset routing path. The routing strategy can be flexibly adjusted when the network conditions change dynamically, thereby avoiding the use of invalid or inefficient paths and significantly improving the stability and efficiency of information transmission.
[0091] Figure 5 This is a flow chart of an optional routing decision according to an embodiment of the present application, such as Figure 5 As shown, when the source node communicates with the destination node, it first checks the local routing cache table (i.e., the preset routing table) to determine whether complete routing information exists. If complete routing information does not exist, a node periodic table (i.e., node link periodic table) is established. Referring to the node periodic table, the transmission expectation value between the nodes is calculated. According to the improved PROPHET algorithm, the routing discovery process is started to find the shortest path (i.e., the target routing path). Messages are sent to each node in the target routing path (including the source node, intermediate nodes, and destination node) in sequence, and it is determined whether congestion occurs in the intermediate node. If congestion occurs in the intermediate node, the congested route is adjusted. If congestion does not occur in the intermediate node, a message is sent to the destination node to complete the message sending. If complete routing information (i.e., the preset routing path) exists, it is determined whether the network topology has changed. If the network topology has not changed, a message is sent to each node in the preset routing path in sequence. If the network topology has changed, the node periodic table is updated.
[0092] The routing path determination method for a delay-tolerant network provided in an embodiment of the present application uses a node link periodic table to enable the routing algorithm to dynamically adjust the transmission expectation value between nodes according to the historical communication cycle and link status, thereby more accurately selecting the data transmission path. The message lifetime is sorted through the node queue cache management mechanism to ensure the priority forwarding of important information. At the same time, the node storage space is effectively managed to avoid network congestion. By comparing the transmission expectation values from the adjacent nodes of the intermediate node to the destination node, when the cache space of the intermediate node is tight, data is intelligently transferred and stored until the node congestion is alleviated, thereby reducing delays, reducing routing overhead, and improving the routing success rate of the network.
[0093] It should be noted that the steps shown in the flowcharts of the accompanying drawings can be executed in a computer system such as a set of computer-executable instructions, and that, although a logical order is shown in the flowcharts, in some cases, the steps shown or described can be executed in an order different from that shown here.
[0094] Example 2
[0095] The present application also provides a routing path determination device for a delay-tolerant network. It should be noted that the routing path determination device for a delay-tolerant network according to the present application can be used to execute the routing path determination method for a delay-tolerant network according to the present application. The following describes the routing path determination device for a delay-tolerant network according to the present application.
[0096] According to an embodiment of the present application, a device for implementing the above-mentioned method for determining a routing path in a delay-tolerant network is also provided. Figure 6 is a schematic diagram of an optional routing path determination device for a delay-tolerant network according to an embodiment of the present application, such as Figure 6 As shown, the routing path determination device of the delay tolerant network may include: a first query unit 60 , a first construction unit 61 , a first determination unit 62 , and a second determination unit 63 .
[0097] The first query unit 60 is configured to query a preset routing table of the source node when detecting that a source node is sending data to a destination node, to determine whether a preset routing path exists from the source node to the destination node. The preset routing table is constructed based on historical information of the source node, and the historical information includes at least the routing path between each node.
[0098] A first constructing unit 61 is configured to construct a node link periodic table between any two nodes, wherein the node link periodic table is configured to record periodic historical data of communications between the two nodes;
[0099] A first determining unit 62 is configured to determine, when no preset routing path exists between the source node and the destination node, a transmission expected value between two nodes indicated in each node link periodic table, and determine, based on all transmission expected values, at least one preset transmission expected value from the source node to the destination node;
[0100] The second determining unit 63 is configured to compare all preset transmission expected values, determine a target preset transmission expected value, and determine a target routing path from the source node to the destination node according to the target preset transmission expected value.
[0101] The routing path determination device for a delay-tolerant network provided in an embodiment of the present application can query the preset routing table of the source node through the first query unit 60 when monitoring the source node sending data to the destination node to determine whether there is a preset routing path from the source node to the destination node. The node link periodic table between any two nodes can be constructed through the first construction unit 61. The transmission expected value between the two nodes indicated by each node link periodic table can be determined through the first determination unit 62 when there is no preset routing path from the source node to the destination node, and at least one preset transmission expected value from the source node to the destination node can be determined based on all the transmission expected values. The target preset transmission expected value can be compared by the second determination unit 63 to determine the target routing path from the source node to the destination node based on the target preset transmission expected value.
[0102] Optionally, the first construction unit includes: a first traversal module, used to traverse the nodes in the delay-tolerant network and select the selected node as the current node; a first determination module, used to determine the link connection duration and link disconnection duration between the current node and each other node within multiple different preset time periods, wherein the other node is any node other than the current node; a first construction module, used to construct a node link periodic table between the current node and each other node for each current node based on the current node, other nodes, preset time period, link connection duration and link disconnection duration.
[0103] Optionally, the preset time period includes at least: a first preset time period and a second preset time period, and the first determination unit includes: a second determination module for determining the initial transmission expectation value between the two nodes indicated by each node link period table; a first calculation module for calculating, for each node link period table, the first transmission expectation value between the two nodes indicated by the node link period table based on the initial transmission expectation value, the preset constant value, the first preset time period and the link connection duration within the first preset time period; a second calculation module for calculating the second transmission expectation value between the two nodes indicated by the node link period table based on the first transmission expectation value, the preset attenuation constant and the link disconnection duration within the first preset time period; a third calculation module for calculating the third transmission expectation value between the two nodes indicated by the node link period table based on the second transmission expectation value, the preset constant value, the second preset time period and the link connection duration within the second preset time period; a fourth calculation module for calculating the fourth transmission expectation value between the two nodes indicated by the node link period table based on the third transmission expectation value, the preset attenuation constant and the link disconnection duration within the second preset time period; and a third determination module for determining at least one preset transmission expectation value based on all fourth transmission expectation values.
[0104] Optionally, the delay-tolerant network includes at least: a node queue, and the routing path determination device of the delay-tolerant network also includes: a first sending module, which is used to determine the target routing path from the source node to the destination node based on the target preset transmission expected value, and then send all pending messages of the source node to the destination node based on the target routing path, wherein the target routing path includes at least: a source node, an intermediate node and a destination node, and each pending message has a corresponding message lifetime; a first sorting module, which is used to store all pending messages in the cache space of the intermediate node when it is monitored that the source node sends all pending messages to the intermediate node, and sort all pending messages based on the message lifetime of each pending message to obtain a lifetime sorting set; a fourth determination module, which is used to determine the order in which the node queue processes the pending messages based on the lifetime sorting set; and a second sending module, which is used to send all pending messages to the destination node based on the order.
[0105] Optionally, the second sending module includes: a first comparison submodule, which is used to compare the message survival time of other messages with the message survival time of all messages to be sent in the survival time sorted set when monitoring the source node sending other messages to the intermediate node, to obtain a comparison result, wherein the other messages are messages other than the messages to be sent; a first determination submodule, which is used to determine the position of other messages in the node queue based on the comparison result; and a first adding submodule, which is used to add other messages to the node queue based on the position, and send all messages in the node queue to the destination node.
[0106] Optionally, the routing path determination device of the delay-tolerant network also includes: a first judgment module, which is used to judge whether the cache space is greater than a preset threshold after all messages to be sent are stored in the cache space of the intermediate node; a third sending module, which is used to determine the adjacent nodes of the intermediate node when the cache space is greater than the preset threshold, and send a routing adjustment request to the adjacent nodes, wherein the adjacent nodes are nodes other than the intermediate node, the source node and the destination node, and the adjacent nodes respond to the routing adjustment request and return response information; a first transfer module, which is used to transfer the messages to be sent in the node queue to the adjacent node based on the response information; a fourth sending module, which is used to judge whether the transfer of the messages to be sent is successful, obtain a judgment result, and send the messages to be sent to the destination node based on the judgment result.
[0107] Optionally, the judgment result includes at least: the message to be sent is not transferred successfully, the message to be sent is transferred successfully, and the fourth sending module includes: a first sending sub-module, used to resend the message to be sent if the message to be sent is not transferred successfully; a first judgment sub-module, used to judge whether there is a routing path from the adjacent node to the destination node if the message to be sent is transferred successfully; a second sending sub-module, used to send the message to be sent to the destination node based on the routing path if there is a routing path from the adjacent node to the destination node; a third sending sub-module, used to send the message to be sent to the intermediate node after a preset time period if there is no routing path from the adjacent node to the destination node, wherein the intermediate node sends the message to be sent to the destination node.
[0108] Optionally, the routing path determination device of the delay-tolerant network also includes: a second judgment module, used to judge whether the network topology structure has changed when there is a preset routing path from the source node to the destination node, wherein the network topology is used to represent the connection status between all nodes; a fifth sending module, used to send a message to the destination node based on the preset routing path when the network topology structure has not changed; and a first update module, used to update the node link periodic table when the network topology structure has changed.
[0109] The above-mentioned routing path determination device of the delay-tolerant network may also include a processor and a memory. The above-mentioned first query unit 60, first construction unit 61, first determination unit 62, second determination unit 63, etc. are all stored in the memory as program units, and the processor executes the above-mentioned program units stored in the memory to realize corresponding functions.
[0110] The processor includes a core that retrieves a corresponding program unit from memory. One or more cores can be configured to compare all preset transmission expectations by adjusting kernel parameters, determine a target preset transmission expectation, and then determine a target routing path from a source node to a destination node based on the target preset transmission expectation.
[0111] The above-mentioned memory may include non-permanent memory in a computer-readable medium, random access memory (RAM) and / or non-volatile memory, such as read-only memory (ROM) or flash RAM, and the memory includes at least one memory chip.
[0112] It should be noted that the first query unit 60, the first construction unit 61, the first determination unit 62, and the second determination unit 63 correspond to steps S201 to S204 in Example 1. The examples and application scenarios implemented by the above units and the corresponding steps are the same, but are not limited to the contents disclosed in the above Example 1. It should be noted that the above units can be hardware components or software components stored in a memory (e.g., memory 104) and processed by one or more processors (e.g., processors 102a, 102b, ..., 102n). The above units can also be part of the device and can be run in the computer terminal 10 provided in Example 1.
[0113] Example 3
[0114] The embodiment of the present application can provide a computer terminal, which can be any computer terminal device in a computer terminal group. Optionally, in this embodiment, the computer terminal can also be replaced by a terminal device such as a mobile terminal or an electronic device.
[0115] Optionally, in this embodiment, the computer terminal may be located in at least one network device among a plurality of network devices of a computer network.
[0116] In this embodiment, the above-mentioned computer terminal can execute the program code of the following steps in the routing path determination method of the delay-tolerant network: when it is monitored that the source node sends data to the destination node, query the preset routing table of the source node to determine whether there is a preset routing path from the source node to the destination node, wherein the preset routing table is constructed through the historical information of the source node, and the historical information at least includes: the routing path between each node; construct a node link periodic table between any two nodes, wherein the node link periodic table is used to record the periodic historical data of the communication between the two nodes; when there is no preset routing path from the source node to the destination node, determine the transmission expected value between the two nodes indicated by each node link periodic table, and determine at least one preset transmission expected value from the source node to the destination node based on all the transmission expected values; compare all the preset transmission expected values to determine the target preset transmission expected value, and determine the target routing path from the source node to the destination node based on the target preset transmission expected value.
[0117] Optionally, the computer terminal may execute the program code of the following steps in the method for determining a routing path of a delay-tolerant network: traversing the nodes in the delay-tolerant network and selecting a selected node as the current node; determining the link connection duration and link disconnection duration between the current node and each other node within a plurality of different preset time periods, wherein the other node is any node other than the current node; and for each current node, constructing a node link periodic table between the current node and each other node based on the current node, the other nodes, the preset time period, the link connection duration, and the link disconnection duration.
[0118] Optionally, the above-mentioned computer terminal can execute the program code of the following steps in the routing path determination method of the delay-tolerant network: determining the initial transmission expected value between the two nodes indicated by each node link periodic table; for each node link periodic table, calculating the first transmission expected value between the two nodes indicated by the node link periodic table based on the initial transmission expected value, the preset constant value, the first preset time period and the link connection duration within the first preset time period; calculating the second transmission expected value between the two nodes indicated by the node link periodic table based on the first transmission expected value, the preset attenuation constant and the link disconnection duration within the first preset time period; calculating the third transmission expected value between the two nodes indicated by the node link periodic table based on the second transmission expected value, the preset constant value, the second preset time period and the link connection duration within the second preset time period; calculating the fourth transmission expected value between the two nodes indicated by the node link periodic table based on the third transmission expected value, the preset attenuation constant and the link disconnection duration within the second preset time period; and determining at least one preset transmission expected value based on all fourth transmission expected values.
[0119] Optionally, the computer terminal can execute the following program codes of the following steps in the method for determining a routing path of a delay-tolerant network: based on the target routing path, all the messages to be sent from the source node are sent to the destination node, wherein the target routing path includes at least: a source node, an intermediate node and a destination node, and each message to be sent corresponds to a message lifetime; when it is monitored that the source node sends all the messages to be sent to the intermediate node, all the messages to be sent are stored in the cache space of the intermediate node, and based on the message lifetime of each message to be sent, all the messages to be sent are sorted to obtain a lifetime sorted set; based on the lifetime sorted set, the order in which the node queue processes the messages to be sent is determined; based on the lifetime sorted set, all the messages to be sent are sent to the destination node based on the order.
[0120] Optionally, the computer terminal may execute the program code of the following steps in the method for determining a routing path of a delay-tolerant network: when it is detected that the source node sends other messages to the intermediate node, the message lifetime of the other messages is compared with the message lifetime of all messages to be sent in the lifetime sorted set to obtain a comparison result, wherein the other messages are messages other than the messages to be sent; based on the comparison result, the position of the other messages in the node queue is determined; based on the position, the other messages are added to the node queue, and all messages in the node queue are sent to the destination node.
[0121] Optionally, the computer terminal may execute the program code of the following steps in the method for determining a routing path of a delay-tolerant network: determining whether the cache space is greater than a preset threshold; if the cache space is greater than the preset threshold, determining adjacent nodes to the intermediate node, and sending a routing adjustment request to the adjacent nodes, wherein the adjacent nodes are nodes other than the intermediate node, the source node, and the destination node, and the adjacent nodes respond to the routing adjustment request and return response information; based on the response information, transferring the to-be-sent message in the node queue to the adjacent node; determining whether the to-be-sent message is successfully transferred, obtaining a determination result, and sending the to-be-sent message to the destination node based on the determination result.
[0122] Optionally, the above-mentioned computer terminal can execute the program code of the following steps in the routing path determination method of the delay-tolerant network: if the message to be sent is not transferred successfully, resend the message to be sent; if the message to be sent is transferred successfully, determine whether there is a routing path from the adjacent node to the destination node; if there is a routing path from the adjacent node to the destination node, send the message to be sent to the destination node based on the routing path; if there is no routing path from the adjacent node to the destination node, send the message to be sent to the intermediate node after a preset time period, wherein the intermediate node sends the message to be sent to the destination node.
[0123] Optionally, the above-mentioned computer terminal can execute the program code of the following steps in the routing path determination method of the delay-tolerant network: when there is a preset routing path from the source node to the destination node, determine whether the network topology structure has changed, wherein the network topology is used to represent the connection status between all nodes; when the network topology structure has not changed, send a message to the destination node based on the preset routing path; when the network topology structure has changed, update the node link periodic table.
[0124] Optionally, Figure 7 This is a structural block diagram of an electronic device according to an embodiment of the present application. Figure 7 As shown, the electronic device may include: one or more ( Figure 7Only one is shown) processor 702, memory 704, storage controller, and peripheral interface, wherein the peripheral interface is connected to the radio frequency module, audio module and display.
[0125] Among them, the memory can be used to store software programs and modules, such as the program instructions / modules corresponding to the method and device for determining the routing path of the delay-tolerant network in the embodiment of the present application. The processor executes various functional applications and data processing by running the software programs and modules stored in the memory, that is, realizing the above-mentioned method for determining the routing path of the delay-tolerant network. The memory may include a high-speed random access memory, and may also include a non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid-state memory. In some instances, the memory may further include a memory remotely arranged relative to the processor, and these remote memories can be connected to the terminal via a network. Examples of the above-mentioned network include but are not limited to the Internet, an intranet, a local area network, a mobile communication network and a combination thereof.
[0126] The processor may call the information and application program stored in the memory through the transmission device to execute the above steps in the above method for determining a routing path in a delay-tolerant network.
[0127] By adopting the embodiment of the present application, a solution is provided for determining the routing path of a delay-tolerant network. By introducing a node link periodic table to optimize the calculation of the transmission expectation value, it is ensured that data flows along the optimal path and invalid forwarding is reduced. Through the node queue cache management mechanism of the message lifetime, node storage resources are reasonably allocated, and the network delay and packet loss rate are reduced. Through the network congestion handling solution, the node cache overflow problem is effectively alleviated, and the smooth operation of the network is guaranteed. It not only reduces the routing overhead, but also improves the routing success rate and data transmission quality, thereby solving the technical problem in the related technology that the routing path cannot be accurately determined due to the dynamic changes in the network topology, resulting in a low routing success rate.
[0128] It can be understood by those skilled in the art that Figure 7 The structure shown is for illustration only, and the electronic device may also be a terminal device such as a smart phone, a tablet computer, a PDA, or a mobile Internet device (MID). Figure 7 It does not limit the structure of the above electronic device. For example, the electronic device may also include Figure 7 More or fewer components (such as network interfaces, display devices, etc.) shown in, or with Figure 7 Different configurations shown.
[0129] A person skilled in the art will understand that all or part of the steps in the various methods of the above embodiments can be completed by instructing the hardware related to the terminal device through a program, and the program can be stored in a computer-readable storage medium, which may include: a flash drive, a read-only memory (ROM), a random access memory (RAM), a magnetic disk or an optical disk, etc.
[0130] Example 4
[0131] The embodiment of the present application further provides a storage medium. Optionally, in this embodiment, the storage medium can be used to store the program code executed by the method for determining a routing path in a delay-tolerant network provided in the first embodiment.
[0132] Optionally, in this embodiment, the storage medium may be located in any computer terminal in a computer terminal group in a computer network, or in any mobile terminal in a mobile terminal group.
[0133] The present application also provides a computer program product, which, when executed on a data processing device, is suitable for executing the program steps of the method for determining a routing path in a delay-tolerant network.
[0134] The serial numbers of the above embodiments of the present application are for description only and do not represent the advantages or disadvantages of the embodiments.
[0135] In the above embodiments of the present application, the description of each embodiment has its own focus. For parts that are not described in detail in a certain embodiment, please refer to the relevant description of other embodiments.
[0136] In the several embodiments provided in this application, it should be understood that the disclosed technical content can be implemented in other ways. Among them, the device embodiments described above are only schematic. For example, the division of the units is only a logical function division. In actual implementation, there may be other division methods, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of units or modules, which can be electrical or other forms.
[0137] The units described as separate components may or may not be physically separate, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed across multiple network units. Some or all of these units may be selected to achieve the purpose of this embodiment according to actual needs.
[0138] In addition, the functional units in the various embodiments of the present application may be integrated into a single processing unit, or each unit may exist physically separately, or two or more units may be integrated into a single unit. The aforementioned integrated units may be implemented in the form of hardware or software functional units.
[0139] If the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present application is essentially or the part that contributes to the prior art or all or part of the technical solution can be embodied in the form of a software product, and the computer software product is stored in a storage medium, including a number of instructions for enabling a computer device (which can be a personal computer, a server or a network device, etc.) to execute all or part of the steps of the method described in each embodiment of the present application. The aforementioned storage medium includes: various media that can store program codes, such as a USB flash drive, a read-only memory (ROM), a random access memory (RAM), a mobile hard disk, a magnetic disk or an optical disk.
[0140] The above is only a preferred embodiment of the present application. It should be pointed out that for ordinary technicians in this technical field, several improvements and modifications can be made without departing from the principles of the present application. These improvements and modifications should also be regarded as the scope of protection of the present application.
Claims
1. A method for determining a routing path in a delay-tolerant network, characterized in that: The delay tolerant network includes at least: a plurality of nodes, including: When a source node is detected sending data to a destination node, a query is performed in a preset routing table of the source node to determine whether a preset routing path exists from the source node to the destination node, wherein the preset routing table is constructed based on historical information of the source node, and the historical information at least includes: a routing path between each of the nodes; Constructing a node link periodic table between any two of the nodes, wherein the node link periodic table is used to record periodic historical data of communication between the two nodes; In a case where the preset routing path does not exist between the source node and the destination node, determining a transmission expected value between two nodes indicated by each node link periodic table, and determining at least one preset transmission expected value from the source node to the destination node based on all the transmission expected values; All the preset transmission expected values are compared to determine a target preset transmission expected value, and a target routing path from the source node to the destination node is determined based on the target preset transmission expected value.
2. The method for determining a routing path in a delay-tolerant network according to claim 1, wherein: The step of constructing a node link periodic table between any two of the nodes comprises: Traversing the nodes in the delay-tolerant network, and selecting the selected node as the current node; Determining a link connection duration and a link disconnection duration between the current node and each other node within a plurality of different preset time periods, wherein the other node is any node other than the current node; For each current node, the node link period table between the current node and each other node is constructed based on the current node, the other nodes, the preset time period, the link connection duration, and the link disconnection duration.
3. The method for determining a routing path in a delay-tolerant network according to claim 2, wherein: The preset time period includes at least a first preset time period and a second preset time period. The step of determining the transmission expected value between the two nodes indicated by each node link period table, and determining at least one preset transmission expected value from the source node to the destination node based on all the transmission expected values includes: determining an initial transmission expectation value between two of the nodes indicated by each of the node link periodic tables; For each of the node link periodic tables, calculating a first transmission expected value between the two nodes indicated in the node link periodic table based on the initial transmission expected value, a preset constant value, the first preset time period, and the link connection duration within the first preset time period; Calculating a second transmission expected value between the two nodes indicated by the node link periodic table based on the first transmission expected value, a preset attenuation constant, and the link disconnection duration within the first preset time period; Calculating a third transmission expected value between the two nodes indicated by the node link periodicity table based on the second transmission expected value, the preset constant value, the second preset time period, and the link connection duration within the second preset time period; Calculating a fourth transmission expected value between the two nodes indicated by the node link periodic table based on the third transmission expected value, the preset attenuation constant, and the link disconnection duration within the second preset time period; At least one of the preset transmission expected values is determined based on all of the fourth transmission expected values.
4. The method for determining a routing path in a delay-tolerant network according to claim 1, wherein: The delay-tolerant network includes at least: a node queue, which, after determining a target routing path from the source node to the destination node according to the target preset transmission expectation value, further includes: Based on the target routing path, all pending messages of the source node are sent to the destination node, wherein the target routing path includes at least: the source node, intermediate nodes, and the destination node, and each pending message has a corresponding message lifetime; In a case where it is monitored that the source node sends all the messages to be sent to the intermediate node, all the messages to be sent are stored in a cache space of the intermediate node, and all the messages to be sent are sorted based on the message survival time of each of the messages to be sent to obtain a survival time sorted set; Determining the order in which the node queue processes the messages to be sent based on the survival time sorted set; Based on the order, all the messages to be sent are sent to the destination node.
5. The method for determining a routing path in a delay-tolerant network according to claim 4, wherein: The step of sending all the to-be-sent messages to the destination node based on the order includes: In a case where it is monitored that the source node sends other messages to the intermediate node, comparing the message lifetime of the other messages with the message lifetimes of all the to-be-sent messages in the lifetime sorted set to obtain a comparison result, wherein the other messages are messages other than the to-be-sent message; Based on the comparison result, determining the position of the other message in the node queue; Based on the position, the other messages are added to the node queue, and all the messages in the node queue are sent to the destination node.
6. The method for determining a routing path in a delay-tolerant network according to claim 4, wherein: After all the to-be-sent messages are stored in the cache space of the intermediate node, the method further includes: Determining whether the cache space is greater than a preset threshold; When the cache space is greater than the preset threshold, determining neighboring nodes of the intermediate node and sending a route adjustment request to the neighboring nodes, wherein the neighboring nodes are nodes other than the intermediate node, the source node, and the destination node, and the neighboring nodes respond to the route adjustment request and return response information; Based on the response information, transferring the to-be-sent message in the node queue to the adjacent node; Determine whether the message to be sent is successfully transferred, obtain a determination result, and send the message to be sent to the destination node based on the determination result.
7. The method for determining a routing path in a delay-tolerant network according to claim 6, wherein: The judgment result includes at least: the message to be sent is not transferred successfully, and the message to be sent is transferred successfully. Based on the judgment result, the step of sending the message to be sent to the destination node includes: If the message to be sent is not transferred successfully, resending the message to be sent; If the message to be sent is successfully transferred, determining whether there is a routing path from the adjacent node to the destination node; In a case where the routing path from the adjacent node to the destination node exists, sending the to-be-sent message to the destination node based on the routing path; In the case that the routing path from the adjacent node to the destination node does not exist, the message to be sent is sent to the intermediate node after a preset time period, wherein the intermediate node sends the message to be sent to the destination node.
8. The method for determining a routing path in a delay-tolerant network according to claim 1, wherein: The method for determining a routing path in a delay-tolerant network further includes: In the case where the preset routing path exists from the source node to the destination node, determining whether a network topology has changed, wherein the network topology is used to represent the connection status between all the nodes; When the network topology does not change, sending a message to the destination node based on the preset routing path; When the network topology changes, the node link periodic table is updated.
9. A routing path determination device for a delay-tolerant network, characterized in that: include: a first query unit, configured to, when detecting that a source node sends data to a destination node, query a preset routing table of the source node to determine whether a preset routing path exists from the source node to the destination node, wherein the preset routing table is constructed based on historical information of the source node, and the historical information at least includes: a routing path between each of the nodes; A first constructing unit is configured to construct a node link periodic table between any two of the nodes, wherein the node link periodic table is configured to record periodic historical data of communications between the two nodes; a first determining unit, configured to determine, when the preset routing path does not exist from the source node to the destination node, a transmission expected value between two nodes indicated by each node link periodic table, and determine at least one preset transmission expected value from the source node to the destination node based on all the transmission expected values; The second determining unit is configured to compare all the preset transmission expected values, determine a target preset transmission expected value, and determine a target routing path from the source node to the destination node according to the target preset transmission expected value.
10. An electronic device, characterized in that: The method comprises one or more processors and a memory, wherein the memory is used to store one or more programs, wherein when the one or more programs are executed by the one or more processors, the one or more processors implement the routing path determination method for a delay-tolerant network according to any one of claims 1 to 8.
Citation Information
Cited By
Free space optical fiber communication network routing method under delay tolerant network
CN121865146A