Satellite distributed network coding multipath routing method and apparatus based on packet loss estimation
By employing a satellite distributed network coding multipath routing method based on packet loss estimation, and utilizing neighbor node information and random linear network coding, the packet forwarding strategy is dynamically adjusted, solving the problems of high packet redundancy and poor topology adaptability in satellite communication networks, and achieving more efficient packet transmission and decoding.
Patent Information
- Application Number
- CN202511094372.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-08-06
- Publication Date
- 2025-11-21
- Estimated Expiration
- 2045-08-06
AI Technical Summary
Existing dynamic network multipath routing methods in satellite communication networks suffer from problems such as high data packet redundancy, large algorithm overhead, and poor adaptability to sudden changes in satellite network topology.
A satellite distributed network coding multipath routing method based on packet loss estimation is adopted. By determining the set of neighboring nodes and attribute information of a node, and using random linear network coding and probabilistic forwarding mechanism, the packet forwarding strategy is dynamically adjusted to reduce protocol complexity and algorithm overhead and improve the packet delivery success rate.
It enables more flexible and timely data packet transmission in satellite dynamic networks, reduces bandwidth resource waste, improves data packet delivery and decoding rates, and adapts to changes in satellite network topology.
Smart Images

Figure CN120602409B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the technical field of satellite communication, and particularly to a satellite distributed network coding multi-path routing method and device based on packet loss estimation. BACKGROUND
[0002] In the prior art, the dynamic network multi-path routing method applied in the satellite communication network is a satellite multi-path routing algorithm integrating network coding. The algorithm introduces the concept of virtual topology, converts the dynamic topology structure of the low-orbit satellite network into a static topology structure, and then pre-calculates K shortest paths between any pair of nodes at the gateway station according to the periodicity and predictability of the network, and then loads the routing table to each satellite. However, the algorithm needs to calculate the K paths between any pair of nodes in an offline state, and has the disadvantages of large amount of calculation, large storage overhead of satellite routing table, and poor adaptability to sudden changes in satellite network topology. In addition, the multiple paths send data in parallel without relying on network state information, and have high redundancy, which causes large waste of bandwidth resources. SUMMARY
[0003] The present application aims to provide a satellite distributed network coding multi-path routing method and device based on packet loss estimation, so as to alleviate the technical problems of high data packet redundancy, large algorithm overhead, and poor adaptability to sudden changes in satellite network topology in the prior art dynamic network multi-path routing method.
[0004] In a first aspect, the present application provides a satellite distributed network coding multipath routing method based on packet loss estimation, comprising: determining the neighbor node set of each node in the satellite communication network at the current time and the attribute information of each neighbor node; wherein the attribute information includes: queue packet loss probability, average sending queue length, and shortest path transmission delay between other nodes; in the case that the target node in the satellite communication network receives a data packet, extracting the source node information and the destination node information of the data packet; wherein the target node represents any node in the satellite communication network; in the case that it is determined that the target node is the source node of the data packet, splitting the data packet into m equal-sized and same-group-number to-be-coded data packets, and performing a target processing procedure; wherein the target processing procedure includes: determining the downstream node set of the target node forwarding the data packet, calculating the data packet forwarding priority and the data packet forwarding probability of each downstream node based on the attribute information of each downstream node, encoding the m to-be-coded data packets based on the random linear network coding to obtain m+n encoded data packets, and forwarding the encoded data packets based on the data packet forwarding priority and the data packet forwarding probability of all downstream nodes; the downstream node represents a node in the neighbor node set whose shortest path transmission delay between the destination node is less than the shortest path transmission delay between the target node and the destination node; the value of n is determined based on the average queue packet loss probability of the downstream node set; in the case that it is determined that the target node is an intermediate forwarding node of the data packet, if the target node just meets the condition of buffering m data packets with the same group number, the m data packets with the same group number are taken as to-be-coded data packets, and the target processing procedure is performed; in the case that it is determined that the target node is the destination node of the data packet, if the target node just meets the condition of buffering m data packets with the same group number, the original data packet sent by the source node is recovered based on the m data packets with the same group number.
[0005] In an optional implementation, the queue packet loss probability of each neighbor node is determined, comprising: obtaining the current queue length, the expected queue length, the current queue packet loss probability, the update time of the current queue packet loss probability, and the minimum time interval for updating the queue packet loss probability of the target neighbor node; wherein the target neighbor node represents any node in the neighbor node set; based on the current time and the update time of the current queue packet loss probability, the effective duration of the current queue packet loss probability is calculated; in the case that it is determined that the effective duration is greater than the minimum time interval, if the current queue length of the target neighbor node is greater than the expected queue length, a first probability value is added to the current queue packet loss probability to obtain the updated queue packet loss probability; if the current queue length of the target neighbor node is 0, a second probability value is subtracted from the current queue packet loss probability to obtain the updated queue packet loss probability.
[0006] In an optional implementation, the data packet forwarding priority and the data packet forwarding probability of each downstream node are calculated based on attribute information of each downstream node, including: determining a shortest path transmission delay between a target downstream node and a destination node based on attribute information of the target downstream node and destination node information, to obtain a target shortest path transmission delay; wherein the target downstream node represents any node in the downstream node set; calculating a data packet forwarding priority of the target downstream node based on the target shortest path transmission delay, a queue packet loss probability of the target downstream node, and an average sending queue length; determining a number of data packets in a data packet queue of the target node to be sent to each downstream node; and calculating a data packet forwarding probability of each downstream node based on the number of data packets to be sent to each downstream node and the data packet forwarding priority of each downstream node.
[0007] In an optional implementation, m data packets to be encoded are encoded based on random linear network coding to obtain m+n encoded data packets, including: calculating an average value of queue packet loss probabilities of all downstream nodes in the downstream node set to obtain an average queue packet loss probability; calculating a product of the average queue packet loss probability and m to obtain a value of n; and randomly selecting m+n groups of encoding coefficients in a preset finite field to encode the m data packets to be encoded to obtain the m+n encoded data packets; wherein each group of encoding coefficients includes m encoding coefficients.
[0008] In an optional implementation, the encoded data packets are forwarded based on the data packet forwarding priority and the data packet forwarding probability of the downstream node, including: when a target downstream node is determined in the data packet queue of the target node for a currently to-be-sent encoded data packet, all downstream nodes in the downstream node set are sorted in descending order based on the data packet forwarding priority of all downstream nodes to obtain a polling order of all downstream nodes; each downstream node in the downstream node set is polled in turn based on the polling order, and when the target downstream node is reached, a reference probability is randomly generated; in a case where the data packet forwarding probability of the target downstream node is greater than or equal to the reference probability, it is determined that the encoded data packet is forwarded by the target downstream node; and in a case where the data packet forwarding probability of the target downstream node is less than the reference probability, it is determined whether the next downstream node forwards the encoded data packet based on the polling order.
[0009] In an optional implementation, the data packet forwarding priority of the target downstream node is calculated based on the target shortest path transmission delay, the queue packet loss probability of the target downstream node, and the average sending queue length, including: using the formula to calculate the data packet forwarding priority of the target downstream node; wherein represents the queue packet loss probability of the downstream node , and represents the average sending queue length of the downstream node , and representing the data packet forwarding probability of the downstream node representing the shortest path transmission delay between the destination node and the source node, representing the data packet forwarding priority of the downstream node .
[0010] In an optional implementation, the data packet forwarding probability of each downstream node is calculated based on the number of data packets to be sent to each downstream node and the data packet forwarding priority of each downstream node, comprising: calculating the data packet forwarding probability of the downstream node by using the formula ; wherein, representing the number of data packets in the data packet queue of the destination node to be sent to the downstream node , representing the data packet forwarding priority of the downstream node .
[0011] In a second aspect, the present application provides a device for satellite distributed network coding multipath routing based on packet loss estimation, comprising: a determination module configured to determine a set of neighbor nodes of each node in a satellite communication network at a current time and attribute information of each neighbor node; wherein the attribute information comprises: a queue packet loss probability, an average sending queue length, and a shortest path transmission delay between the node and other nodes; an extraction module configured to extract source node information and destination node information of a data packet in a case that the data packet is received by a target node in the satellite communication network; wherein the target node represents any node in the satellite communication network; a first execution module configured to, in a case that the target node is determined to be a source node of the data packet, split the data packet into m to-be-coded data packets of equal size and having the same group number, and perform a target processing procedure; wherein the target processing procedure comprises: determining a set of downstream nodes of the target node forwarding the data packet, calculating a data packet forwarding priority and a data packet forwarding probability of each downstream node based on attribute information of each downstream node, encoding the m to-be-coded data packets based on a random linear network coding to obtain m+n encoded data packets, and forwarding the encoded data packets based on the data packet forwarding priority and the data packet forwarding probability of all downstream nodes; the downstream node represents a node in the set of neighbor nodes whose shortest path transmission delay with the destination node is less than the shortest path transmission delay between the target node and the destination node; the value of n is determined based on the average queue packet loss probability of the set of downstream nodes; a second execution module configured to, in a case that the target node is determined to be an intermediate forwarding node of the data packet, if the target node just meets the condition of buffering m data packets having the same group number, take the m data packets having the same group number as to-be-coded data packets, and perform the target processing procedure; and a recovery module configured to, in a case that the target node is determined to be a destination node of the data packet, if the target node just meets the condition of buffering m data packets having the same group number, recover an original data packet sent by a source node based on the m data packets having the same group number.
[0012] In a third aspect, the present application provides an electronic device, comprising a memory and a processor, wherein the memory stores a computer program capable of running on the processor, and the processor implements the method for satellite distributed network coding multipath routing based on packet loss estimation according to any one of the preceding embodiments when executing the computer program.
[0013] In a fourth aspect, the present application provides a computer readable storage medium, wherein the computer readable storage medium stores computer instructions, and the computer instructions implement the method for satellite distributed network coding multipath routing based on packet loss estimation according to any one of the preceding embodiments when executed by a processor.
[0014] The application provides a satellite distributed network coding multipath routing method based on packet loss estimation. BRIEF DESCRIPTION OF DRAWINGS
[0015] In order to more clearly illustrate the technical solutions in the specific embodiments of the present application or the prior art, the drawings needed to be used in the specific embodiments or the prior art description will be briefly introduced as follows. Obviously, the drawings in the following description are some embodiments of the present application, and other drawings can be obtained by those skilled in the art without any creative effort on the basis of these drawings.
[0016] Figure 1 A flow chart of a satellite distributed network coding multipath routing method based on packet loss estimation provided by an embodiment of the present application is shown in the figure.
[0017] Figure 2 A dynamic probability forwarding model schematic diagram provided by an embodiment of the present application is shown in the figure.
[0018] Figure 3 A functional module diagram of a satellite distributed network coding multipath routing device based on packet loss estimation provided by an embodiment of the present application is shown in the figure.
[0019] Figure 4 A schematic diagram of an electronic device provided by an embodiment of the present application is shown in the figure. DETAILED DESCRIPTION
[0020] In order to make the purpose, technical solutions and advantages of the embodiments of the present application clearer, the technical solutions in the embodiments of the present application will be described clearly and completely in combination with the drawings in the embodiments of the present application. Obviously, the described embodiments are some embodiments of the present application, not all embodiments. The components of the embodiments of the present application described and shown in the drawings can be arranged and designed in various different configurations.
[0021] The following detailed description of embodiments of the application in the drawings provided is not intended to limit the scope of the application claimed, but merely represents selected embodiments of the application. Based on the embodiments in the application, all other embodiments obtained by those of ordinary skill in the art without creative labor are within the scope of protection of the application.
[0022] Some embodiments of the application will be described in detail with reference to the drawings. The following embodiments and features in the embodiments can be combined with each other without conflict.
[0023] Embodiment one
[0024] Figure 1 A flow chart of a satellite distributed network coding multipath routing method based on packet loss estimation provided for the embodiments of the application is shown in Figure 1 The method specifically includes the following steps:
[0025] Step S102, determining the neighbor node set of each node in the satellite communication network at the current time and the attribute information of each neighbor node.
[0026] The attribute information includes: queue packet loss probability, average sending queue length, and shortest path transmission delay between other nodes.
[0027] Considering the dynamic topology of the satellite communication network, the satellite distributed network coding multipath routing method based on packet loss estimation proposed in the embodiments of the application does not need each node in the network to establish and maintain multiple paths in advance when transmitting data packets. Each node only needs to maintain its neighbor node set and obtain the attribute information of each neighbor node in the set, so as to timely detect link failure, regional congestion and the like, and thus select a suitable next hop node. This distributed forwarding process enables the data packets to well avoid congestion areas and reduce time delay, so as to realize the adaptability of the algorithm to the dynamic network with the least time delay and packet loss cost. Since each node can timely change the forwarding strategy of the downstream node without any response from the source node, the protocol complexity and algorithm overhead can be effectively reduced. Compared with the centralized routing algorithm, this distributed routing algorithm is more flexible and responds more timely, and thus can better adapt to the satellite dynamic network.
[0028] In the embodiments of the application, the queue packet loss probability represents the probability that the data packets in the to-be-sent data packet queue of the node are discarded. In the initial state, the queue packet loss probability of the node is 0. With the change of the number of data packets in the data packet queue of the node, the queue packet loss probability of the node is adjusted according to a preset mechanism in the embodiments of the application, so as to manage and control the congestion announcement of the node queue.
[0029] The average sending queue length of the node, also referred to as a smoothed queue length, can be calculated by weighted average of the queue lengths of the node at historical time points. Optionally, the formula of the average sending queue length is: wherein, represents a preset queue weight, represents the node the average sending queue length of the node at the last time point, represents the node the queue length of the node at the current time point (i.e., the current queue length), represents the node the average sending queue length of the node at the current time point.
[0030] Each node in the satellite communication network can periodically update its transmission delay information to all other nodes in the network according to ephemeris, and based on this, the shortest path transmission delay between nodes can be determined. In order to accurately calculate the end-to-end delay, an embodiment of the present application defines the formula of one-hop delay between neighbor nodes and as follows: wherein, represents a link between the neighbor nodes and represents the transmission delay of the link represents the sending queue delay of the node represents, represents the average packet length, which represents how many bytes (byte) an average packet occupies, i.e., the size or length of the packet, represents the link bandwidth.
[0031] Step S104, in the case that the target node in the satellite communication network receives a data packet, the source node information and the destination node information of the data packet are extracted.
[0032] wherein, the target node represents any node in the satellite communication network.
[0033] That is, when a data packet arrives, the target node can obtain the source node information and the destination node information by analyzing the data packet, but in the embodiment of the present application, the processing manner of the target node to the data packet is different according to the "role" of the target node in the data packet transmission process, and the data processing flow when the target node is the source node, the intermediate forwarding node and the destination node will be introduced in detail below.
[0034] In order to reduce the packet loss rate, the network coding is introduced in the embodiment of the present application, wherein the network coding comprises random linear network coding of the source node, random linear network coding of the intermediate forwarding node and random linear network decoding of the destination node. In addition, when performing the random linear network coding, the non-destination node (i.e. the source node and the intermediate forwarding node) needs to additionally generate n redundant coded data packets according to the average queue packet loss probability of the downstream node set thereof, so as to compensate for the congestion packet loss of the downstream node.
[0035] The random linear network decoding is a distributed code construction method, each node randomly selects the coefficient on the Galois field (also referred to as the finite field), without needing to understand any information of other nodes, thus having good scalability and implementability. The basic idea of the coding principle is that all messages are linearly combined during coding, and the coefficients are randomly and uniformly selected on the Galois field (also referred to as the finite field); during decoding, the solution of the linear equation set is solved by using the Gaussian elimination method, so as to restore the original information.
[0036] Step S106, in the case of determining that the target node is the source node of the data packet, the data packet is split into m to-be-coded data packets of equal size and with the same group number, and a target processing procedure is performed.
[0037] The target processing procedure comprises: determining a downstream node set of the target node forwarding the data packet, calculating a data packet forwarding priority and a data packet forwarding probability of each downstream node based on attribute information of each downstream node, encoding the m to-be-coded data packets based on the random linear network coding to obtain m+n coded data packets, and forwarding the coded data packets based on the data packet forwarding priority and the data packet forwarding probability of all downstream nodes; the downstream node represents a node in the neighbor node combination whose shortest path transmission delay between the destination node is less than the shortest path transmission delay between the target node and the destination node; the value of n is determined based on the average queue packet loss probability of the downstream node set.
[0038] If the target node is the source node of the data packet, after receiving the data packet, the target node first splits the data packet into m to-be-coded data packets of equal size, and the m to-be-coded data packets have the same group number, then encodes the to-be-coded data packets by using the random linear network coding, and forwards the m+n coded data packets obtained by encoding. As known from the above description, the number n of the redundant coded data packets of the target node needs to be determined based on the average queue packet loss probability of the downstream node set thereof, therefore, before encoding, the downstream node set of the target node forwarding the current data packet needs to be determined.
[0039] In the embodiment of the present application, there is no isolated node in the satellite communication network, i.e. all nodes have neighbor nodes. In order to transmit the data packet from the target node to the destination node to the destination node , the set of downstream nodes of the target node must be determined, based on the definition of downstream nodes above, the set of downstream nodes is denoted as , wherein, denotes the set of neighbor nodes of node , denotes the shortest path transmission delay between downstream node and destination node , denotes the shortest path transmission delay between target node and destination node , denotes the set of downstream nodes of node .
[0040] Next, based on the attribute information of each downstream node in the set of downstream nodes, the data packet forwarding priority and the data packet forwarding probability of each downstream node can be calculated, and the average queue packet loss probability of the set of downstream nodes can be determined, based on which the number n of redundant coded data packets output to compensate for congestion packet loss can be determined. Obviously, the target node outputs m+n coded data packets, which can effectively avoid data packet retransmission caused by congestion packet loss, improve the data packet delivery rate and decoding rate of the network, and the intra-flow network coding method can reduce the correlation between redundant coded data packets and original data packets, thereby improving the successful delivery rate of data packets under the same redundancy.
[0041] After the target node encodes the data packets, the encoded data packets are forwarded based on the data packet forwarding priority and the data packet forwarding probability of all downstream nodes, which can effectively offload the current node (i.e., the target node) through the downstream nodes, thereby reducing the degree of local congestion.
[0042] Step S108, in the case where the target node is determined to be an intermediate forwarding node of the data packets, if the target node just meets the condition of buffering m data packets with the same group number, the m data packets with the same group number are taken as the coded data packets, and the target processing procedure is executed.
[0043] If the target node is an intermediate forwarding node of the data packets, after receiving the current data packet, the target node first determines whether there is a data packet with the same group number as the current data packet in the buffered data packets, if there is but the total number of data packets does not reach m, the target node continues to wait; if the target node just meets the condition of buffering m data packets with the same group number after receiving the current data packet, the intermediate forwarding node takes the m data packets with the same group number as the coded data packets, and then executes the same target processing procedure as the encoding and forwarding of the coded data packets by the source node, which is described above, and will not be repeated here.
[0044] The intermediate forwarding node re-encodes the received encoded data packet, which can further reduce the correlation between the encoded data packets and improve the decoding success rate of the destination node. In the embodiment of the application, in order to reduce the buffer pressure of the node, the intermediate forwarding node empties the buffer after completing the encoding and forwarding of the data packet for a time interval T.
[0045] In step S110, if the target node is the destination node of the data packet, and the target node just meets the condition of buffering m data packets with the same group number, the original data packet sent by the source node is recovered based on the m data packets with the same group number.
[0046] If the target node is the destination node of the data packet, the target node first judges whether there is a data packet with the same group number as the current data packet in the buffered data packet after receiving the current data packet. If there is a data packet with the same group number, but the total number of data packets does not reach m, the target node continues to wait. If the target node just meets the condition of buffering m data packets with the same group number after receiving the current data packet , since the non-destination node encodes the data packet by using the random linear network coding, and there is a high probability that the decoding matrix corresponding to the encoding coefficient vector is full rank , therefore, the destination node can recover the original data packet sent by the source node based on the m data packets with the same group number by using the Gaussian elimination method, which is represented as: , wherein, represents the original data packet.
[0047] The embodiment of the application provides a satellite distributed network coding multi-path routing method based on packet loss estimation. The method does not need a node to obtain the whole network topology information to calculate and maintain a fixed multi-path. Each node only needs to maintain a neighbor node set and attribute information of the neighbor node to select a suitable next hop. The distributed routing is more flexible and responds more timely, can better adapt to a satellite dynamic network, and can also reduce protocol complexity and algorithm overhead. In addition, after receiving the data packet, the random linear network coding of the node and the redundant packet sending based on the average queue packet loss probability of the downstream node set can effectively compensate for the congestion packet loss, improve the successful delivery rate of the data packet under the same redundancy, and effectively avoid the waste of bandwidth resources.
[0048] In an optional embodiment, in step S102, the queue packet loss probability of each neighbor node is determined, and the step specifically includes the following steps:
[0049] Step S201: Obtain the current queue length, expected queue length, current queue packet loss probability, update time of current queue packet loss probability, and minimum time interval for updating queue packet loss probability of the target neighbor node; where the target neighbor node represents any node in the set of neighbor nodes.
[0050] Step S202: Calculate the effective duration of the current queue packet loss probability based on the current time and the update time of the current queue packet loss probability.
[0051] Step S203: If the effective duration is greater than the minimum time interval, and the current queue length of the target neighbor node is greater than the expected queue length, then the first probability value is added to the current queue packet loss probability to obtain the updated queue packet loss probability.
[0052] Step S204: If the current queue length of the target neighbor node is 0, then reduce the second probability value based on the current queue packet loss probability to obtain the updated queue packet loss probability.
[0053] As described in steps S201-S204 above, the embodiment of the present invention essentially determines the packet loss probability of each node's queue based on two events: packet loss and queue idleness, thereby managing and controlling the congestion announcements of nodes. Specifically, the packet loss probability of neighboring nodes is determined based on the following formula: ,in, Indicates the target neighbor node The current probability of packet loss in the queue. This represents the first probability value, which is the increment in the probability of packet loss when the queue overflows. This represents the second probability value, which is the reduction in the probability of packet loss when the queue is idle. Indicates the target neighbor node Expected queue length, Indicates the target neighbor node The current queue length, , This indicates the duration for which the current queue packet loss probability is effective. Indicates the current moment. This indicates the update time of the current queue packet loss probability. This represents the minimum time interval for updating the queue's packet loss probability, that is, the minimum time interval between two consecutive updates to the queue's packet loss probability. Optionally, set... This is to expedite the relief of queue congestion.
[0054] In an optional implementation, step S106 above, encoding the m data packets to be encoded based on random linear network coding to obtain m+n encoded data packets, specifically includes the following steps:
[0055] Step S401, calculate the average of the queue packet loss probability of all downstream nodes in the downstream node set, and obtain the average queue packet loss probability.
[0056] Step S402, calculate the product of the average queue packet loss probability and m, and obtain the value of n.
[0057] Step S403, randomly select m+n groups of encoding coefficients in the preset finite field to encode m data packets to be encoded, and obtain m+n encoded data packets; wherein, one group of encoding coefficients includes m encoding coefficients.
[0058] The algorithm of the queue packet loss probability of the node has been introduced above, therefore, after the downstream node set of the target node is determined, the average of the queue packet loss probability of all downstream nodes in the set is calculated, and the average queue packet loss probability is obtained Based on this, in order to compensate for the data packet loss caused by congestion of the network, the embodiment of the present application additionally increases n redundant encoded data packets on the basis of m encoded data packets originally planned to be output by the target node, wherein, After this processing, even if n data packets are lost due to congestion of the downstream node, m linearly independent encoded data packets can still be ensured to be received, so as to ensure that the m original data packets can be decoded by the target node, thereby overcoming the influence caused by the congestion packet loss.
[0059] Wherein, the random linear network coding can be expressed as: Wherein, represents the i th data packet to be encoded, represents the j th group of encoding coefficients, that is, the j th encoding coefficient vector, represents the j th encoded data. In the embodiment of the present application, each encoded data packet carries: group number, encoding coefficient and encoded data, and all encoded data packets have the same size, wherein, the group number and the encoding coefficient are stored in the packet header.
[0060] In the embodiment of the present application, m+n groups of encoding coefficients are randomly selected in the preset finite field, and the range of the finite field The correlation of the encoding coefficient vector with the range of the finite field is shown in Table 1 below, and it can be known from Table 1 that the range of the finite field determines the linear independence probability of the encoding coefficient vector, and further affects the decoding performance of the random linear network coding. With the increase of the power of 2, the decoding success probability increases, but the encoding coefficient vector occupies more bytes, causing large storage overhead. Alternatively, the power of 2 is 8, and at this time the encoding coefficient occupies only one byte, which greatly reduces the storage overhead while ensuring that the two encoding coefficient vectors have a high linear independence probability.
[0061] Table 1 Linear independence probability of coefficient vector under different finite field ranges
[0062]
[0063] In an alternative embodiment, the step S106 of calculating the data packet forwarding priority and the data packet forwarding probability of each downstream node based on the attribute information of each downstream node comprises the following steps:
[0064] In step S301, the shortest path transmission delay between the target downstream node and the destination node is determined based on the attribute information of the target downstream node and the destination node information, and a target shortest path transmission delay is obtained.
[0065] In step S302, the data packet forwarding priority of the target downstream node is calculated based on the target shortest path transmission delay, the queue packet loss probability of the target downstream node, and the average sending queue length.
[0066] The attribute information of each node includes the shortest path transmission delay between the node and the remaining nodes in the network, so after obtaining the destination node information, the shortest path transmission delay between the target downstream node and the destination node can be matched from the attribute information of the target downstream node, and is denoted as the target shortest path transmission delay.
[0067] Next, the data packet forwarding priority of the target downstream node can be calculated based on the queue packet loss probability of the target downstream node, the average sending queue length, and the target shortest path transmission delay. In the embodiment of the application, the smaller the shortest path transmission delay from the target downstream node to the destination node, the higher the data packet forwarding priority of the target downstream node.
[0068] In an alternative embodiment, the data packet forwarding priority of the target downstream node is calculated based on the target shortest path transmission delay, the queue packet loss probability of the target downstream node, and the average sending queue length, and comprises:
[0069] The data packet forwarding priority of the target downstream node is calculated by using the formula wherein, represents the queue packet loss probability of the downstream node represents the average sending queue length of the downstream node represents the shortest path transmission delay between the downstream node and the destination node , i.e. the target shortest path transmission delay, represents the data packet forwarding priority of the downstream node .
[0070] Step S303: Determine the number of data packets in the target node's data packet queue that are to be sent to each downstream node.
[0071] Step S304: Calculate the packet forwarding probability of each downstream node based on the number of packets to be sent to each downstream node and the packet forwarding priority of each downstream node.
[0072] Specifically, in this embodiment of the invention, the dynamic forwarding probability of each downstream node for the encoded data packet is calculated based on the normalized ratio of the product of the forwarding priority of the downstream node and the number of data packets to be sent, that is, the data packet forwarding probability.
[0073] In this embodiment of the invention, the packet forwarding probability of each downstream node is calculated based on the number of data packets to be sent to each downstream node and the packet forwarding priority of each downstream node, including:
[0074] Using formulas Calculate the packet forwarding probability of downstream nodes; where, Represents the target node The data packets in the queue are waiting to be sent to downstream nodes. Number of data packets sent Indicates downstream node Packet forwarding priority.
[0075] Based on the formula for the packet forwarding probability above, it can be seen that the downstream node The higher the packet forwarding priority, the more likely it is to originate from... Sent to Queuing for data packets The more data packets there are, the more downstream nodes will receive them. The higher the probability of forwarding. Figure 2 This is a schematic diagram of a dynamic probability forwarding model provided in an embodiment of the present invention. Figure 2 In the middle, the target node have There are one upstream node and k downstream nodes.
[0076] In an optional implementation, step S106 above, which involves forwarding coded data packets based on the packet forwarding priority and packet forwarding probability of the downstream node, specifically includes the following steps:
[0077] Step S501: When determining the downstream node corresponding to the currently to-be-sent encoded data packet in the data packet queue of the target node, sort all downstream nodes in descending order based on the data packet forwarding priority of all downstream nodes in the downstream node set to obtain the polling order of all downstream nodes.
[0078] Step S502, polling each downstream node in the downstream node set in turn based on a polling order, and when the target downstream node is reached, generating a reference probability randomly.
[0079] Step S503, in the case that the data packet forwarding probability of the target downstream node is greater than or equal to the reference probability, determining that the encoded data packet is forwarded by the target downstream node.
[0080] Step S504, in the case that the data packet forwarding probability of the target downstream node is less than the reference probability, judging whether the encoded data packet is forwarded by the next downstream node based on the polling order.
[0081] Specifically, when the target node forwards an encoded data packet (denoted as, the current to-be-sent encoded data packet), the downstream nodes thereof need to be polled in turn according to the order from high to low of the data packet forwarding priority, that is, a reference probability in the interval (0, 1) is first generated randomly, and if the data packet forwarding probability of the downstream node ranked first is greater than or equal to the reference probability, it is determined that the encoded data packet is forwarded by the downstream node ranked first. Otherwise, a reference probability in the interval (0, 1) is generated randomly again, and is compared with the data packet forwarding probability of the downstream node ranked second, and if it is greater than or equal to the reference probability, it is determined that the encoded data packet is forwarded by the downstream node ranked second, otherwise, the downstream node ranked third is polled again, and so on, until the downstream node for forwarding the encoded data packet is determined.
[0082] In summary, the embodiment of the application has the following advantages:
[0083] 1. Random linear network coding and probability forwarding mechanism are combined, node queue average packet loss probability is used to control in-flow redundancy coding, and sending probability is dynamically adjusted based on downstream node state information, so that network data packet delivery rate is improved.
[0084] 2. Packet loss mechanism and packet loss probability are determined according to queue management packet loss and queue idle events, so that the speed of sending congestion notification information can be effectively controlled. The queue management algorithm uses two events of packet loss and queue idle to manage congestion, and controls congestion by maintaining a packet loss probability. When continuous packet loss occurs due to queue overflow, the queue packet loss probability is increased, and conversely, if the queue is empty, the queue packet loss probability is reduced. Therefore, the queue management algorithm can effectively control the speed of sending congestion notification information.
[0085] 3. According to the average sending queue length, queue packet loss probability, and shortest path transmission delay of the downstream node, the forwarding priority level of the downstream node is determined, that is, the data packet forwarding priority is determined, and the weighted probability of the product of the priority of the downstream node and the queue length of the data packet to be forwarded is used for forwarding, so that the downstream node can more effectively offload the current node and reduce the local congestion degree.
[0086] 4. Redundant linear network coding and sending are performed based on the average queue packet loss probability of the downstream node, the congestion packet loss is offset through redundant network coding of the data packet, the retransmission of the data packet caused by the congestion packet loss is avoided, the network data packet delivery rate and decoding rate are improved, and the correlation between the redundant packet and the original data packet is reduced through in-stream network coding, so that the successful delivery rate of the data packet is improved under the same redundancy.
[0087] 5. In the path calculation, the embodiment of the application does not need the node to obtain the whole network topology information to calculate and maintain the fixed multipath. The node only needs the information provided by the neighbor node to judge the failure, congestion and the like of the link, select the appropriate next path, and reduce the protocol complexity and algorithm overhead.
[0088] Embodiment two
[0089] The embodiment of the application also provides a satellite distributed network coding multipath routing device based on packet loss estimation, which is mainly used for executing the satellite distributed network coding multipath routing method based on packet loss estimation provided in the above embodiment one. The satellite distributed network coding multipath routing device based on packet loss estimation provided in the embodiment of the application is specifically introduced as follows.
[0090] Figure 3 The function module diagram of the satellite distributed network coding multipath routing device based on packet loss estimation provided in the embodiment of the application is shown in FIG. 1, which mainly includes a determination module 10, an extraction module 20, a first execution module 30, a second execution module 40, and a recovery module 50. Figure 3
[0091] The determination module 10 is used for determining the neighbor node set of each node in the satellite communication network at the current moment and the attribute information of each neighbor node, wherein the attribute information includes the queue packet loss probability, the average sending queue length, and the shortest path transmission delay between the node and other nodes.
[0092] The extraction module 20 is used for extracting the source node information and the destination node information of the data packet when the target node in the satellite communication network receives the data packet, wherein the target node represents any node in the satellite communication network.
[0093] The first execution module 30 is used for splitting the data packet into m to-be-encoded data packets of equal size and having the same group number and performing a target processing procedure in a case that the target node is determined as the source node of the data packet, wherein the target processing procedure comprises: determining a set of downstream nodes of the target node forwarding the data packet, calculating a data packet forwarding priority and a data packet forwarding probability of each downstream node based on attribute information of each downstream node, encoding the m to-be-encoded data packets based on a random linear network coding to obtain m+n encoded data packets, and forwarding the encoded data packets based on the data packet forwarding priority and the data packet forwarding probability of all downstream nodes; the downstream node represents a node in the neighbor node set having a transmission delay of a shortest path between the node and the destination node less than a transmission delay of a shortest path between the target node and the destination node; and the value of n is determined based on an average queue packet loss probability of the set of downstream nodes.
[0094] The second execution module 40 is used for taking m data packets having the same group number as to-be-encoded data packets and performing the target processing procedure in a case that the target node is determined as an intermediate forwarding node of the data packet and the target node just satisfies a condition of buffering m data packets having the same group number.
[0095] The recovery module 50 is used for recovering an original data packet sent by the source node based on m data packets having the same group number in a case that the target node is determined as the destination node of the data packet and the target node just satisfies a condition of buffering m data packets having the same group number.
[0096] The embodiment of the application provides a satellite distributed network coding multi-path routing device based on packet loss estimation, which does not need nodes to obtain full network topology information to calculate and maintain fixed multi-paths, each node only needs to maintain a neighbor node set and attribute information of the neighbor node to select a suitable next hop, the distributed routing is more flexible and more timely in response, can better adapt to a satellite dynamic network, and can also reduce protocol complexity and algorithm overhead. In addition, after a non-destination node receives a data packet, random linear network coding of the node and redundant packet sending based on an average queue packet loss probability of a set of downstream nodes can effectively compensate for congestion packet loss, improve a successful delivery rate of the data packet under the same redundancy, and effectively avoid waste of bandwidth resources.
[0097] Optionally, the determination module 10 is specifically used for:
[0098] obtaining a current queue length, an expected queue length, a current queue packet loss probability, an updating time of the current queue packet loss probability and a minimum time interval of updating the queue packet loss probability of the target neighbor node; wherein the target neighbor node represents any node in the neighbor node set.
[0099] The effective duration of the current queue packet loss probability is calculated based on the current time and the update time of the current queue packet loss probability.
[0100] If the current queue length of the target neighbor node is greater than the expected queue length, a first probability value is added to the current queue packet loss probability to obtain an updated queue packet loss probability, in a case where the effective duration is greater than the minimum time interval.
[0101] If the current queue length of the target neighbor node is 0, a second probability value is subtracted from the current queue packet loss probability to obtain an updated queue packet loss probability.
[0102] Optionally, the first execution module 30 comprises:
[0103] The first determination unit is configured to determine a target shortest path transmission delay between the target downstream node and the destination node based on attribute information of the target downstream node and destination node information, to obtain the target shortest path transmission delay; wherein the target downstream node represents any node in the set of downstream nodes.
[0104] The first calculation unit is configured to calculate a data packet forwarding priority of the target downstream node based on the target shortest path transmission delay, a queue packet loss probability of the target downstream node, and an average sending queue length.
[0105] The second determination unit is configured to determine a number of data packets to be sent to each downstream node in a data packet queue of the target node.
[0106] The second calculation unit is configured to calculate a data packet forwarding probability of each downstream node based on the number of data packets to be sent to each downstream node and the data packet forwarding priority of each downstream node.
[0107] Optionally, the first execution module 30 is further configured to:
[0108] Calculate an average value of the queue packet loss probabilities of all downstream nodes in the set of downstream nodes to obtain an average queue packet loss probability.
[0109] Calculate a product of the average queue packet loss probability and m to obtain a value of n.
[0110] Randomly select m+n groups of encoding coefficients in a preset finite field to encode m data packets to be encoded, to obtain m+n encoded data packets; wherein each group of encoding coefficients comprises m encoding coefficients.
[0111] Optionally, the first execution module 30 is further configured to:
[0112] When determining the downstream node corresponding to the currently to-be-sent encoded data packet in the data packet queue of the target node, all downstream nodes are sorted in descending order based on the data packet forwarding priority of all downstream nodes in the downstream node set to obtain the polling order of all downstream nodes.
[0113] Based on the polling order, each downstream node in the downstream node set is polled sequentially, and when it is the turn of the target downstream node, a reference probability is randomly generated.
[0114] If the forwarding probability of a data packet at the target downstream node is greater than or equal to the reference probability, the target downstream node is determined to forward the encoded data packet.
[0115] If the probability of forwarding a data packet at the target downstream node is less than the reference probability, the polling order determines whether the next downstream node should forward the encoded data packet.
[0116] Optionally, the first computing unit is specifically used for:
[0117] Using formulas Calculate the packet forwarding priority of the target downstream node; where, Indicates downstream node The probability of packet loss in the queue. Indicates downstream node Average send queue length, Indicates downstream node With the target node Shortest path transmission delay between them Indicates downstream node Packet forwarding priority.
[0118] Optionally, the second computing unit is specifically used for:
[0119] Using formulas Calculate the packet forwarding probability of downstream nodes; where, Represents the target node The data packets in the queue are waiting to be sent to downstream nodes. Number of data packets sent Indicates downstream node Packet forwarding priority.
[0120] Example 3
[0121] See Figure 4 This invention provides an electronic device, which includes a processor 60, a memory 61, a bus 62, and a communication interface 63. The processor 60, the communication interface 63, and the memory 61 are connected via the bus 62. The processor 60 is used to execute executable modules, such as computer programs, stored in the memory 61.
[0122] The memory 61 can include a high-speed random access memory (RAM), and can also include a non-volatile memory such as at least one disk memory. The communication connection between the system network element and at least one other network element is realized through at least one communication interface 63 (which can be wired or wireless), and the Internet, a wide area network, a local area network, a metropolitan area network, etc. can be used.
[0123] The bus 62 can be an ISA bus, a PCI bus, an EISA bus, etc. The bus can be divided into an address bus, a data bus, a control bus, etc. For ease of representation, Figure 4 Only one bidirectional arrow is used in the figure, but it does not mean that there is only one bus or only one type of bus.
[0124] The memory 61 is used to store programs, and the processor 60 executes the programs after receiving execution instructions. The method executed by the device defined by the process disclosed in any of the embodiments of the present application can be applied to the processor 60 or implemented by the processor 60.
[0125] The processor 60 can be an integrated circuit chip with signal processing capability. In implementation, each step of the above method can be completed by integrated logic circuit of hardware in the processor 60 or by instructions in the form of software. The processor 60 described above can be a general processor, including a central processing unit (CPU), a network processor (NP), etc.; can also be a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field-programmable gate array (FPGA) or other programmable logic device, a discrete gate or transistor logic device, a discrete hardware component. Each method, step and logic block diagram disclosed in the embodiments of the present application can be implemented or executed. The general processor can be a microprocessor or the processor can also be any conventional processor. The steps of the method disclosed in combination with the embodiments of the present application can be directly embodied as a hardware code processor for execution, or a combination of hardware and software modules in the code processor for execution. The software module can be located in a random access memory, a flash memory, a read-only memory, a programmable read-only memory or an electrically erasable programmable memory, a register, etc. The storage medium in the art is mature. The storage medium is located in the memory 61, and the processor 60 reads the information in the memory 61, and combines the hardware to complete the steps of the above method.
[0126] The computer program product of the satellite distributed network coding multipath routing method and device based on packet loss estimation provided by the embodiments of the present application includes a computer readable storage medium storing non-volatile program codes executable by a processor. The instructions included in the program codes can be used to execute the method described in the foregoing method embodiments. For specific implementation, reference can be made to the method embodiments, which will not be described here.
[0127] In addition, each functional unit in each embodiment of the present application can be integrated in one processing unit, or each unit can exist physically, or two or more units can be integrated in one unit.
[0128] If the functions are implemented in the form of software function units and sold or used as independent products, they can be stored in a nonvolatile computer readable storage medium executable by a processor. Based on this understanding, the technical solutions of the present application or the parts of the present application that essentially contribute to the prior art can be embodied in the form of a software product. The computer software product is stored in a storage medium and includes a plurality of instructions for causing 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 the embodiments of the present application. The aforementioned storage medium includes a U disk, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk or an optical disk, and various media that can store program codes.
[0129] It should be noted that similar reference numerals and letters refer to similar items in the following drawings, and therefore, once an item is defined in one drawing, it does not need to be further defined and explained in subsequent drawings.
[0130] In the description of the present application, it should be noted that the terms "center", "upper", "lower", "left", "right", "vertical", "horizontal", "inner", "outer", and the like indicate the orientation or positional relationship based on the orientation or positional relationship shown in the drawings, or the orientation or positional relationship in which the product of the present application is usually placed, and are only for the convenience of describing the present application and simplifying the description, and therefore cannot be understood as indicating or implying that the device or element referred to must have a particular orientation, be constructed and operated in a particular orientation, and therefore cannot be understood as limiting the present application. In addition, the terms "first", "second", "third", and the like are only used to distinguish the description and cannot be understood as indicating or implying relative importance.
[0131] In addition, the terms "horizontal", "vertical", "overhanging", and the like do not mean that the components must be absolutely horizontal or overhanging, but can be slightly inclined. For example, "horizontal" only means that its direction is more horizontal relative to "vertical", and does not mean that the structure must be completely horizontal, but can be slightly inclined.
[0132] In the description of the present application, it should also be noted that, unless otherwise explicitly specified and limited, the terms "arrangement", "installation", "connection", and "connection" should be broadly understood, for example, it can be fixedly connected, or it can be detachably connected, or integrally connected; it can be mechanically connected, or it can be electrically connected; it can be directly connected, or it can be indirectly connected through an intermediate medium; it can be the communication between two elements inside. For those skilled in the art, the specific meaning of the above terms in the present application can be understood according to the specific circumstances.
[0133] It should be noted that the above embodiments are only used to illustrate the technical solutions of the present application, and are not intended to limit the present application; although the present application has been described in detail with reference to the above embodiments, those skilled in the art should understand that the technical solutions recorded in the above embodiments can be modified, or some or all of the technical features can be replaced by equivalents; and these modifications or replacements do not make the essence of the corresponding technical solutions deviate from the scope of the technical solutions of the embodiments of the present application.
Claims
1. A method for satellite distributed network coding multipath routing based on packet loss estimation, characterized in that, The method comprises the following steps: determining the neighbor node set of each node in the satellite communication network at the current time and attribute information of each neighbor node; wherein, the attribute information comprises: queue packet loss probability, average sending queue length and shortest path transmission delay between other nodes; the queue packet loss probability represents the probability that data packets in the node's sending data packet queue are discarded; in the case that the target node in the satellite communication network receives a data packet, extracting the source node information and the destination node information of the data packet; wherein, the target node represents any node in the satellite communication network; In a case where the target node is determined to be the source node of the data packet, the data packet is split into m data packets to be encoded of equal size and having the same group number, and a target processing procedure is performed; wherein the target processing procedure comprises: determining a set of downstream nodes of the target node forwarding the data packet, calculating a data packet forwarding priority and a data packet forwarding probability of each downstream node based on attribute information of each downstream node, encoding the m data packets to be encoded based on random linear network coding to obtain m+n encoded data packets, and forwarding the encoded data packets based on the data packet forwarding priority and the data packet forwarding probability of all downstream nodes; the downstream node represents a node in the neighbor node combination whose shortest path transmission delay between the destination node is less than the shortest path transmission delay between the target node and the destination node; the value of n is determined based on the average queue packet loss probability of the set of downstream nodes; ; represents the average queue packet loss probability of the set of downstream nodes; in the case that it is determined that the target node is an intermediate forwarding node of the data packet, if the target node just meets the condition of buffering m data packets with the same group number, the m data packets with the same group number are taken as to-be-encoded data packets, and the target processing procedure is executed; in the case that it is determined that the target node is the destination node of the data packet, if the target node just meets the condition of buffering m data packets with the same group number, the original data packet sent by the source node is recovered based on the m data packets with the same group number; wherein, determining the queue packet loss probability of each neighbor node comprises: obtaining the current queue length, the expected queue length, the current queue packet loss probability, the update time of the current queue packet loss probability and the minimum time interval of updating the queue packet loss probability of the target neighbor node; wherein, the target neighbor node represents any node in the neighbor node set; based on the current time and the update time of the current queue packet loss probability, the effective duration of the current queue packet loss probability is calculated; in the case that it is determined that the effective duration is greater than the minimum time interval, if the current queue length of the target neighbor node is greater than the expected queue length, a first probability value is added to the current queue packet loss probability to obtain the updated queue packet loss probability; if the current queue length of the target neighbor node is 0, a second probability value is subtracted from the current queue packet loss probability to obtain the updated queue packet loss probability.
2. The method of claim 1, wherein, calculating the data packet forwarding priority and the data packet forwarding probability of each downstream node based on the attribute information of each downstream node comprises: based on the attribute information of the target downstream node and the destination node information, the shortest path transmission delay between the target downstream node and the destination node is determined to obtain the target shortest path transmission delay; wherein, the target downstream node represents any node in the downstream node set; based on the target shortest path transmission delay, the queue packet loss probability and the average sending queue length of the target downstream node, the data packet forwarding priority of the target downstream node is calculated; determining the number of data packets to be sent to each downstream node in the data packet queue of the target node; based on the number of data packets to be sent to each downstream node and the data packet forwarding priority of each downstream node, the data packet forwarding probability of each downstream node is calculated.
3. The method of claim 1, wherein, encoding m to-be-encoded data packets based on random linear network coding to obtain m+n encoded data packets, comprising: calculate an average value of the queue loss probabilities of all downstream nodes in the set of downstream nodes, to obtain the average queue loss probability; calculate a product of the average queue loss probability and m, to obtain the value of n; randomly select m+n groups of encoding coefficients in a preset finite field, and encode the m data packets to be encoded by using the m+n groups of encoding coefficients respectively, to obtain m+n encoded data packets; each group of encoding coefficients includes m encoding coefficients.
4. The method of claim 1, wherein, forward the encoded data packets based on the data packet forwarding priority and the data packet forwarding probability of the downstream nodes, including: when determining the downstream node corresponding to the current to-be-sent encoded data packet in the data packet queue of the target node, sort all the downstream nodes in descending order based on the data packet forwarding priority of all the downstream nodes in the set of downstream nodes, to obtain the polling order of all the downstream nodes; poll each downstream node in the set of downstream nodes in turn based on the polling order, and when it is the turn of the target downstream node, randomly generate a reference probability; determine that the encoded data packet is forwarded by the target downstream node, in a case where it is determined that the data packet forwarding probability of the target downstream node is greater than or equal to the reference probability; determine whether the next downstream node forwards the encoded data packet based on the polling order, in a case where it is determined that the data packet forwarding probability of the target downstream node is less than the reference probability.
5. The method of claim 2, wherein, calculate the data packet forwarding priority of the target downstream node based on the target shortest path transmission delay, the queue loss probability of the target downstream node, and the average sending queue length, including: Using formulas Calculate the packet forwarding priority of the target downstream node; where, Indicates downstream node The probability of packet loss in the queue. Indicates downstream node Average send queue length, Indicates downstream node With the target node Shortest path transmission delay between them Indicates downstream node Packet forwarding priority.
6. The method of claim 2, wherein, calculate the data packet forwarding probability of each downstream node based on the number of data packets to be sent to each downstream node and the data packet forwarding priority of each downstream node, including: Utilizing the equation calculating the data packet forwarding probability of the downstream node; wherein, denotes the number of data packets in the data packet queue of the target node to be sent to the downstream node denotes the number of data packets in the data packet queue of the target node to be sent to the downstream node denotes the data packet forwarding priority of the downstream node 7. A device for satellite distributed network coding multipath routing based on packet loss estimation, characterized in that, including: a determination module, configured to determine a set of neighbor nodes of each node in a satellite communication network at a current time and attribute information of each neighbor node; the attribute information includes a queue loss probability, an average sending queue length, and a shortest path transmission delay between the node and other nodes; the queue loss probability represents a probability that a data packet in a to-be-sent data packet queue of the node is discarded; an extraction module, configured to extract source node information and destination node information of a data packet, in a case where a target node in the satellite communication network receives the data packet; the target node represents any node in the satellite communication network; The first execution module is configured to, in a case where it is determined that the target node is the source node of the data packet, split the data packet into m to-be-encoded data packets of equal size and having the same group number, and perform a target processing procedure; the target processing procedure comprises: determining a set of downstream nodes of the target node forwarding the data packet, calculating a data packet forwarding priority and a data packet forwarding probability of each downstream node based on attribute information of each downstream node, encoding the m to-be-encoded data packets based on a random linear network coding to obtain m+n encoded data packets, and forwarding the encoded data packets based on the data packet forwarding priority and the data packet forwarding probability of all downstream nodes; the downstream node represents a node in the neighbor node combination that has a shortest path transmission delay between the downstream node and a destination node that is less than a shortest path transmission delay between the target node and the destination node; the value of n is determined based on an average queue packet loss probability of the set of downstream nodes; ; the average queue packet loss probability of the set of downstream nodes a second execution module, configured to, in a case where it is determined that the target node is an intermediate forwarding node of the data packet, if the target node just meets a condition of buffering m data packets with a same group number, take the m data packets with the same group number as to-be-encoded data packets, and execute the target processing procedure; a recovery module, configured to, in a case where it is determined that the target node is a destination node of the data packet, if the target node just meets a condition of buffering m data packets with a same group number, recover an original data packet sent by a source node based on the m data packets with the same group number; the determination module is specifically configured to: obtain a current queue length, an expected queue length, a current queue packet loss probability, an update time of the current queue packet loss probability, and a minimum time interval of updating the queue packet loss probability of a target neighbor node, wherein the target neighbor node represents any node in the neighbor node set; calculate an effective duration of the current queue packet loss probability based on a current time and the update time of the current queue packet loss probability; if the effective duration is greater than the minimum time interval, and the current queue length of the target neighbor node is greater than the expected queue length, increase a first probability value based on the current queue packet loss probability to obtain an updated queue packet loss probability; if the current queue length of the target neighbor node is 0, decrease a second probability value based on the current queue packet loss probability to obtain an updated queue packet loss probability.
8. An electronic device comprising a memory, a processor, the memory having stored thereon a computer program executable on the processor, characterized in that, The processor implements the satellite distributed network coding multipath routing method based on packet loss estimation in any one of claims 1 to 6 when executing the computer program.
9. A computer-readable storage medium, characterized in that, The computer readable storage medium stores computer instructions, and the computer instructions implement the satellite distributed network coding multipath routing method based on packet loss estimation in any one of claims 1 to 6 when executed by the processor.
Citation Information
Patent Citations
Satellite distributed dynamic multi-path routing method based on network coding
CN106954242A
Low-orbit satellite distributed dynamic multipath routing method based on network coding
CN113131982A