Satellite network routing update method and device

By obtaining the target data packet and its routing information in the satellite network, selecting the optimal routing value to update the routing table, and calculating and updating the target routing value, the low communication efficiency problem caused by uneven traffic allocation in the satellite network is solved, and the effect of improving the transmission efficiency of the satellite network is achieved.

CN115913332BActive Publication Date: 2025-04-25STATE GRID BEIJING ELECTRIC POWER CO +2
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202211415614.7
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-11-11
Publication Date
2025-04-25
Estimated Expiration
2042-11-11

AI Technical Summary

Technical Problem

In the prior art, the problem of low communication efficiency and insufficient transmission capacity in satellite networks has not been effectively solved due to uneven traffic distribution.

Method used

By obtaining the target data packet and its corresponding current forwarding satellite and preset routing table, select the route value with the smallest routing value to update the routing table, calculate the target routing generation value, and update the target routing calculated value in the preset routing table to optimize the satellite network routing.

Benefits of technology

It has realized the update of satellite network routing, improve communication performance, and improve routing efficiency, thereby improving the transmission efficiency of satellite networks, and solving the problem of low communication efficiency caused by uneven traffic allocation.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115913332B_ABST
    Figure CN115913332B_ABST
Patent Text Reader

Abstract

The present invention discloses a satellite network route updating method and device. The method comprises: obtaining a target data packet, a current forwarding satellite, and a preset first routing table; selecting the smallest routing value in the preset first routing table as the first routing value, and selecting the next forwarding satellite; sending the target data packet to the next forwarding satellite, and obtaining the time information of the target data packet being sent to the next forwarding satellite; calculating the target route cost value of the target data packet being sent to the next forwarding satellite based on the time information; obtaining the preset second routing table corresponding to the next forwarding satellite, and selecting the smallest routing value in the preset second routing table as the second routing value; obtaining the target route calculation value based on the first routing value, the second routing value, and the target route cost value, and updating the target route calculation value to the preset first routing table. The present invention solves the technical problem of low communication efficiency due to uneven satellite traffic distribution in the related art.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of satellite communications, and in particular to a satellite network routing updating method and device. Background Art

[0002] At present, communication satellite networks are widely used in the global communication field due to their anti-destruction and wide coverage. Due to the huge network architecture of satellite networks, data transmission routing has brought challenges. Machine learning is often used in related technologies to solve large-scale satellite network routing problems without prior knowledge. However, due to factors such as algorithm performance, machine learning algorithms in existing technologies cannot effectively meet the communication needs of large-scale satellite network routing. The traffic distribution of each satellite in the satellite network is uneven, resulting in low satellite network communication efficiency and insufficient transmission capacity.

[0003] To address the above-mentioned problems, no effective solution has been proposed yet. Summary of the invention

[0004] The embodiments of the present invention provide a satellite network routing update method and device to at least solve the technical problem in the related art that the communication efficiency is low due to uneven distribution of satellite traffic.

[0005] According to one aspect of an embodiment of the present invention, a satellite network route updating method is provided, comprising: obtaining a target data packet, a current forwarding satellite corresponding to the target data packet, and a preset first routing table corresponding to the current forwarding satellite, wherein the preset first routing table stores routing values ​​corresponding to multiple neighboring satellites of the current forwarding satellite; selecting the smallest routing value in the preset first routing table as the first routing value, and selecting the neighboring satellite corresponding to the first routing value as the next forwarding satellite of the current forwarding satellite; sending the target data packet to the next forwarding satellite, and obtaining time information when the target data packet is sent to the next forwarding satellite; calculating a target route cost value of the target data packet sent to the next forwarding satellite based on the time information; obtaining a preset second routing table corresponding to the next forwarding satellite, selecting the smallest routing value in the preset second routing table as the second routing value, wherein the preset second routing table stores routing values ​​corresponding to multiple neighboring satellites of the next forwarding satellite; obtaining a target route calculation value based on the first routing value, the second routing value, and the target route cost value, and updating the target route calculation value to the preset first routing table.

[0006] Optionally, determine whether the next forwarding satellite is the destination satellite corresponding to the target data packet; if the next forwarding satellite is not the destination satellite, use the current forwarding satellite as the new current forwarding satellite, and perform the following operations in a loop until the next forwarding satellite is the destination satellite: obtain a new preset first routing table corresponding to the new current forwarding satellite; select the smallest routing value in the new preset first routing table as the new first routing value, and select the neighbor satellite corresponding to the new first routing value as the new next forwarding satellite of the new current forwarding satellite; send the target data packet to the new next forwarding satellite, and obtain new time information when the target data packet is sent to the new next forwarding satellite; based on the new time information, calculate a new target route cost value for sending the target data packet to the new next forwarding satellite; obtain a new preset second routing table corresponding to the new next forwarding satellite, and select the smallest routing value in the new preset second routing table as the new second routing value; obtain a new target route calculation value based on the new first route value, the new second route value, and the new target route cost value, and update the new target route calculation value to the new preset first routing table.

[0007] Optionally, the process of selecting the smallest routing value in the preset first routing table as the first routing value, and selecting the neighbor satellite corresponding to the first routing value as the next forwarding satellite corresponding to the current forwarding satellite, includes: when the first routing table includes multiple minimum routing values ​​and the current forwarding satellite is not the destination satellite, taking any one of the multiple minimum routing values ​​as the first routing value; and selecting the neighbor satellite corresponding to the first routing value as the next forwarding satellite corresponding to the current forwarding satellite.

[0008] Optionally, calculating the target route cost of sending the target data packet to the next forwarding satellite based on the time information includes: obtaining the transmission duration, queue duration, and delay jitter in the time information, wherein the transmission duration is the duration for the target data packet to be sent to the next forwarding satellite, the queue duration is the duration for the target data packet to wait in the transmission queue of the current forwarding satellite, and the delay jitter is the difference between the maximum and minimum historical transmission durations from the current forwarding satellite to the next forwarding satellite; determining a first weight value corresponding to the transmission duration and the queue duration, and a second weight value corresponding to the delay jitter; and calculating the target route cost based on the transmission duration, the queue duration, the delay jitter, the first weight value, and the second weight value.

[0009] Optionally, obtaining a target route calculation value based on the first route value, the second route value, and the target route cost value, and updating the target route calculation value to the preset first route table includes: obtaining the target route calculation value based on the first route value, the second route value, and the target route cost value by:

[0010]

[0011] Among them, NewQ i (s,i+1) is the target route calculation value, i is the current forwarding satellite, i+1 is the next forwarding satellite, i+2 is another forwarding satellite after the next forwarding satellite, s is the destination satellite corresponding to the target data packet, α is a preset correlation coefficient, neighbors of i+1 is the neighbor satellite corresponding to the next forwarding satellite, Q i (s,i+1) is the first routing value, Q i+1 (s, i+2) is the second routing value, cost(i, i+1) is the target routing cost value; the target routing calculation value is updated to the preset first routing table.

[0012] Optionally, before selecting the routing value with the smallest value in the preset first routing table as the first routing value, and selecting the neighbor satellite corresponding to the first routing value as the next forwarding satellite of the current forwarding satellite, it includes: judging whether the target data packet meets the preset time limit requirements, wherein the preset time limit requirements at least include: the sum of the transmission time lengths of the target data packets in the historical transmission paths is not greater than the preset transmission delay upper limit, the queue time length is not greater than the preset maximum queue number of a single satellite, and the delay jitter is not greater than the preset delay jitter upper limit; if the target data packet does not meet the time limit requirements, the transmission of the target data packet is stopped.

[0013] According to another aspect of an embodiment of the present invention, a satellite network routing update device is provided, comprising: a first acquisition module, used to acquire a target data packet, a current forwarding satellite corresponding to the target data packet, and a preset first routing table corresponding to the current forwarding satellite, wherein the preset first routing table stores routing values ​​corresponding to a plurality of neighboring satellites of the current forwarding satellite; a first determination module, used to select the smallest routing value in the preset first routing table as the first routing value, and select the neighboring satellite corresponding to the first routing value as the next forwarding satellite of the current forwarding satellite; a first forwarding module, used to send the target data packet to the next forwarding satellite, and acquire the target data packet. The invention relates to a method for transmitting the target data packet to the next forwarding satellite by a first calculating module, wherein the target data packet is sent to the next forwarding satellite at a time information; the first calculating module is used to calculate the target route cost value of the target data packet sent to the next forwarding satellite based on the time information; the first obtaining module is used to obtain the preset second routing table corresponding to the next forwarding satellite, and select the route value with the smallest route value in the preset second routing table as the second routing value, wherein the preset second routing table stores the route values ​​corresponding to multiple neighboring satellites of the next forwarding satellite respectively; the second calculating module is used to obtain the target route calculation value based on the first routing value, the second routing value and the target route cost value, and update the target route calculation value to the preset first routing table.

[0014] Optionally, the device also includes: the device also includes: a first judgment module, used to judge whether the next forwarding satellite is the destination satellite corresponding to the target data packet; a first loop module, used to take the current forwarding satellite as the new current forwarding satellite if the next forwarding satellite is not the destination satellite, and loop the following operations until the next forwarding satellite is the destination satellite: obtain a new preset first routing table corresponding to the new current forwarding satellite; select the smallest routing value in the new preset first routing table as the new first routing value, and select the neighbor satellite corresponding to the new first routing value as the new next forwarding satellite of the new current forwarding satellite. satellite; sending the target data packet to the new next forwarding satellite, and obtaining new time information of sending the target data packet to the new next forwarding satellite; calculating a new target route cost value of sending the target data packet to the new next forwarding satellite based on the new time information; obtaining a new preset second routing table corresponding to the new next forwarding satellite, selecting the route with the smallest value in the new preset second routing table as the new second routing value; obtaining a new target route calculation value based on the new first routing value, the new second routing value, and the new target route cost value, and updating the new target route calculation value to the new preset first routing table.

[0015] According to another aspect of an embodiment of the present invention, a non-volatile storage medium is provided, wherein the non-volatile storage medium stores a plurality of instructions, wherein the instructions are suitable for being loaded by a processor and executing any one of the satellite network routing update methods.

[0016] According to another aspect of an embodiment of the present invention, an electronic device is provided, comprising: 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 any one of the satellite network routing update methods.

[0017] In an embodiment of the present invention, a target data packet, a current forwarding satellite corresponding to the target data packet, and a preset first routing table corresponding to the current forwarding satellite are obtained, wherein the preset first routing table stores routing values ​​corresponding to multiple neighboring satellites of the current forwarding satellite; the smallest routing value in the preset first routing table is selected as the first routing value, and the neighboring satellite corresponding to the first routing value is selected as the next forwarding satellite of the current forwarding satellite; the target data packet is sent to the next forwarding satellite, and time information of the target data packet being sent to the next forwarding satellite is obtained; based on the time information, a target routing cost value of the target data packet being sent to the next forwarding satellite is calculated; the preset second routing table corresponding to the next forwarding satellite is obtained, and the smallest routing value in the preset second routing table is selected as the second routing value, wherein the preset second routing table stores routing values ​​corresponding to multiple neighboring satellites of the next forwarding satellite; based on the first routing value, the second routing value, and the target routing cost value, a target routing calculation value is obtained, and the target routing calculation value is updated to the preset first routing table. The purpose of updating satellite network routing and improving communication performance was achieved, and the technical effect of improving routing efficiency and then improving the transmission efficiency of the satellite network was realized, thereby solving the technical problem of low communication efficiency due to uneven distribution of satellite traffic in related technologies. BRIEF DESCRIPTION OF THE DRAWINGS

[0018] The drawings described herein are used to provide a further understanding of the present invention and constitute a part of this application. 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:

[0019] Figure 1 is a flow chart of an optional satellite network routing update method provided according to an embodiment of the present invention;

[0020] Figure 2 is a satellite network schematic diagram of an optional satellite network routing update method provided according to an embodiment of the present invention;

[0021] Figure 3 is a flow chart of an optional satellite network routing update method provided according to an embodiment of the present invention;

[0022] Figure 4 is a schematic diagram of the effect of an optional satellite network routing update method provided according to an embodiment of the present invention;

[0023] Figure 5 is a schematic diagram of the effect of another optional satellite network routing update method provided according to an embodiment of the present invention;

[0024] Figure 6 It is a schematic diagram of an optional satellite network routing update device provided according to an embodiment of the present invention. DETAILED DESCRIPTION

[0025] In order to enable those skilled in the art to better understand the scheme of the present invention, the technical scheme 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 described embodiments 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 creative work should fall within the scope of protection of the present invention.

[0026] It should be noted that the terms "first", "second", etc. in the specification 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 data 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 that are clearly listed, but may include other steps or units that are not clearly listed or inherent to these processes, methods, products or devices.

[0027] For the convenience of description, some nouns or terms involved in the embodiments of the present application are explained below:

[0028] Quality of Service (QoS) is a technology used to solve problems such as network delay and congestion.

[0029] Routing value (Q-Value) refers to a quality factor. When the application scenario of service quality assurance is a satellite network, it is defined as the routing value corresponding to the satellite.

[0030] Low Earth Orbit (LEO) refers to an orbit in which a spacecraft is at a relatively low altitude from the ground. Generally, near-circular orbits with an orbital altitude below 2,000 kilometers are called low Earth orbits. Low Earth orbits are used to carry satellites for a variety of purposes, such as land surveys, meteorology, resources, and communications.

[0031] At present, satellite networks (such as LEO satellite communication networks) carry global communication traffic with a huge coverage network. However, the huge network architecture brings great challenges to the service quality assurance routing of data transmission. Many institutions at home and abroad have tried to establish a satellite communication network covering the world in the hope of seizing non-renewable orbital resources. At the same time, satellite networks have begun to carry data services from all over the world, making service quality assurance in satellite networks more and more important. Therefore, satellite network service quality assurance optimization routing algorithms are the technical focus related to satellite routing. Due to the uneven distribution of global traffic, the load of satellites also shows huge differences. Related technologies often use machine learning methods to solve large-scale problems without prior knowledge. Therefore, machine learning is often applied in the field of satellite routing. However, due to the huge coverage of satellite routing networks and the uneven distribution of traffic, there is no algorithm with very good performance, which leads to unsatisfactory data transmission efficiency in satellite networks.

[0032] In response to the above problems, an embodiment of the present invention provides a method embodiment of a satellite network routing update method. 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.

[0033] Figure 1 A satellite network routing update method according to an embodiment of the present invention is as follows: Figure 1 As shown, the method comprises the following steps:

[0034] Step S102, obtaining a target data packet, a current forwarding satellite corresponding to the target data packet, and a preset first routing table corresponding to the current forwarding satellite, wherein the preset first routing table stores routing values ​​corresponding to a plurality of neighboring satellites of the current forwarding satellite;

[0035] Step S104, selecting the smallest routing value in the preset first routing table as the first routing value, and selecting the neighbor satellite corresponding to the first routing value as the next forwarding satellite of the current forwarding satellite;

[0036] Step S106, sending the target data packet to the next forwarding satellite, and obtaining the time information when the target data packet is sent to the next forwarding satellite;

[0037] Step S108, based on the time information, calculating the target route cost of sending the target data packet to the next forwarding satellite;

[0038] Step S110, obtaining a preset second routing table corresponding to the next forwarding satellite, and selecting the smallest routing value in the preset second routing table as the second routing value, wherein the preset second routing table stores routing values ​​corresponding to multiple neighboring satellites of the next forwarding satellite respectively;

[0039] Step S112, based on the first routing value, the second routing value, and the target routing cost value, a target routing calculation value is obtained, and the target routing calculation value is updated to the preset first routing table.

[0040] Through the above steps, the purpose of updating the satellite network routing and improving the communication performance can be achieved, and the technical effect of improving routing efficiency and then improving the transmission efficiency of the satellite network can be achieved, thereby solving the technical problem of low communication efficiency due to uneven distribution of satellite traffic in related technologies.

[0041] In the satellite network route updating method provided by the embodiment of the present invention, the satellite network is a huge network architecture without prior knowledge. The so-called prior knowledge is a method for guiding the satellite network to transmit according to certain routing rules to achieve the purpose of efficient communication. In order to improve the transmission efficiency and enhance the communication capability in the above-mentioned satellite network, it is necessary to continuously update the satellite route. First, obtain the target data packet, the current forwarding satellite corresponding to the target data packet, and the preset first routing table corresponding to the current forwarding satellite. Perform minimum value selection in the preset first routing table, select the minimum routing value as the first routing value, and select the neighbor satellite corresponding to the first routing value as the next forwarding satellite, and the above-mentioned neighbor satellite corresponds to the current forwarding satellite. Send the target data packet to the next forwarding satellite, and obtain the time information corresponding to the sending process. According to the above-mentioned time information, obtain the target route cost value sent by the current forwarding satellite to the next forwarding satellite. Obtain the preset second routing table, and the above-mentioned preset second routing table corresponds to the next forwarding satellite. Perform minimum value selection in the preset second routing table, and select the minimum routing value as the second routing value. Based on the first routing value, the second routing value, and the target route cost value, obtain the target route calculation value, and update the target route calculation value to the preset first routing table.

[0042] It should be noted that any satellite in the satellite network has a preset corresponding routing table when no data transmission is performed. For ease of understanding, a specific example is given, for example: the current forwarding satellite is the first satellite in the satellite network, and there are four neighboring satellites. The current forwarding satellite corresponds to the preset first routing table, and the first routing table contains four routing values, which correspond to the four neighboring satellites respectively. The minimum value is selected as the first routing value among the four routing values, and the corresponding one is selected from the four neighboring nodes based on the selected first routing value as the next forwarding satellite. Similarly, the next forwarding satellite corresponds to the preset second routing table, and the four neighboring satellites corresponding to the next forwarding satellite, because the current forwarding satellite must be the neighboring satellite of the next forwarding node, in order to transmit the target data packet to the next step, it is selected from the three neighboring satellites excluding the current forwarding satellite. The minimum value selection process is performed in the preset second routing table to obtain the second routing value. Based on the first routing value, the second routing value, and the target routing cost value, the target routing calculation value is obtained, and the target routing calculation value is updated to the preset first routing table. The updated preset first routing table includes: the target routing calculation value corresponding to the next forwarding satellite, and the preset routing values ​​of the other three satellites corresponding to the current forwarding satellite.

[0043] It still needs to be explained that any satellite in the above-mentioned satellite network corresponds to a preset number of neighbor nodes. For ease of understanding, a specific example is given. For example, in an actual satellite network, the total number of satellites is a fixed value, and any satellite corresponds to no more than a preset number of neighbor satellites.

[0044] In an optional embodiment, it is determined whether the next forwarding satellite is the destination satellite corresponding to the target data packet; if the next forwarding satellite is not the destination satellite, the current forwarding satellite is used as the new current forwarding satellite, and the following operations are performed in a loop until the next forwarding satellite is the destination satellite: a new preset first routing table corresponding to the new current forwarding satellite is obtained; the routing value with the smallest value in the new preset first routing table is selected as the new first routing value, and the neighboring satellite corresponding to the new first routing value is selected as the new next forwarding satellite of the new current forwarding satellite; the target data packet is sent to the new next forwarding satellite, and new time information of the target data packet being sent to the new next forwarding satellite is obtained; based on the new time information, a new target route cost value of the target data packet being sent to the new next forwarding satellite is calculated; a new preset second routing table corresponding to the new next forwarding satellite is obtained, and the routing value with the smallest value in the new preset second routing table is selected as the new second routing value; a new target route calculation value is obtained based on the new first routing value, the new second routing value, and the new target route cost value, and the new target route calculation value is updated to the new preset first routing table.

[0045] It can be understood that when the target data packet is not transmitted to the destination satellite, the next forwarding satellite is used as the new current forwarding satellite until the next forwarding satellite is the destination satellite, and the following operations are performed cyclically: First, since the next forwarding satellite is used as the new current forwarding satellite, any satellite in the satellite network corresponds to a preset routing table. Therefore, after the current forwarding node changes, the preset first routing table is also changed accordingly, and a new preset first routing table corresponding to the new current forwarding satellite is obtained, and the routing value with the smallest value in the new preset first routing table is selected as the new first routing value, and the neighbor satellite corresponding to the new first routing value is selected as the new next forwarding satellite of the above new current forwarding satellite. The target data packet is forwarded to the above new next forwarding satellite, and new time information is obtained. According to the new time information, a new target route cost value is calculated. Similarly, a new preset second routing table corresponding to the new next forwarding satellite is obtained, and the routing value with the smallest value in the new preset second routing table is selected as the new second routing value. Based on the new first routing value, the new second routing value, and the new target route cost value, a new target route calculation value is obtained, and the new target route calculation value is updated to the new preset first routing table.

[0046] It should be noted that, by executing the above loop, the target data packet will continue to be transmitted in the satellite network, and the preset first routing table will be updated. In other words, the preset routing table corresponding to the previous satellite corresponding to the current forwarding satellite is updated. From the above, it can be seen that the method for updating the route in the embodiment of the present invention is to continuously optimize the preset routing table corresponding to each satellite in the satellite network through loop iteration. The satellite will select the next forwarding satellite with better routing efficiency among the neighboring satellites based on the updated preset routing table when transmitting the data packet next time. The transmission performance increases with the increase in the number of transmitted data packets. In other words, as the number of execution cycles increases, the ability of each satellite to efficiently transmit data packets also increases.

[0047] In an optional embodiment, the above-mentioned selecting the smallest routing value in the above-mentioned preset first routing table as the first routing value, and selecting the neighbor satellite corresponding to the above-mentioned first routing value as the next forwarding satellite corresponding to the above-mentioned current forwarding satellite, includes: when the above-mentioned first routing table includes multiple minimum routing values ​​and the above-mentioned current forwarding satellite is not the destination satellite, any one of the above-mentioned multiple minimum routing values ​​is used as the above-mentioned first routing value; selecting the neighbor satellite corresponding to the above-mentioned first routing value as the above-mentioned next forwarding satellite corresponding to the above-mentioned current forwarding satellite.

[0048] It can be understood that in actual application scenarios, there are multiple minimum values ​​corresponding to the preset first routing table. In order to determine the next forwarding satellite, any one of the multiple minimum values ​​is selected as the first routing value. Based on the first routing value, the corresponding neighbor satellite is selected as the next forwarding satellite.

[0049] Optionally, the preset first routing table may be multiple. For example, when no transmission is performed in the satellite network, any satellite in the satellite network corresponds to a preset routing table, and the preset default values ​​in the preset routing table are the same. In other words, there are multiple identical preset default values ​​in the preset first routing table, and any one of the preset first routing table is selected as the first routing value, and the next forwarding satellite corresponding to the first routing value is determined.

[0050] In an optional embodiment, the target route cost value of sending the target data packet to the next forwarding satellite is calculated based on the time information, including: obtaining the transmission duration, queue duration, and delay jitter in the time information, wherein the transmission duration is the duration for sending the target data packet to the next forwarding satellite, the queue duration is the duration for waiting of the target data packet in the transmission queue of the current forwarding satellite, and the delay jitter is the difference between the maximum and minimum historical transmission durations from the current forwarding satellite to the next forwarding satellite; determining a first weight value corresponding to the transmission duration and the queue duration, and a second weight value corresponding to the delay jitter; and calculating the target route cost value based on the transmission duration, the queue duration, the delay jitter, the first weight value, and the second weight value.

[0051] It can be understood that in order to calculate the target route cost, first, the transmission time, queue time, and delay jitter in the time information are obtained. A first weight value corresponding to the transmission time and queue time, and a second weight value corresponding to the delay jitter are determined; based on the transmission time, queue time, delay jitter, the first weight value, and the second weight value, the target route cost is calculated.

[0052] Optionally, there may be multiple ways to determine the first weight value corresponding to the transmission duration and the queue duration, for example: the weight values ​​assigned to the transmission duration and the queue duration are the same, both are the first weight value. And the sum of the first weight value and the second weight value is 1. For another example: weight values ​​are assigned to the transmission duration and the queue duration respectively, and it is determined that the transmission duration corresponds to a third weight value, the queue duration corresponds to a fourth weight value, and the third weight value is different from the fourth weight value. The sum of the second weight value, the third weight value, and the fourth weight value is 1.

[0053] Optionally, there are multiple ways to obtain the transmission duration, for example, the transmission duration can be obtained by: trans (i, j) = l(i, j) / c, where t trans (i,j) is the transmission time between the i-th satellite and the j-th satellite, c is the speed of light, and l(i,j) is the link distance between the i-th satellite and the j-th satellite.

[0054] Optionally, there are multiple ways to obtain the queue duration, for example, the queue duration can be obtained by: que (i,j)=N(i,j)*t calc , where t que (i,j) is the queue length of the target data packet waiting in the i-th satellite when the i-th satellite transmits to the j-th satellite, N(i,j) is the queue length of the data packet waiting to be sent in the i-th satellite when the i-th satellite transmits to the j-th satellite, and t calc Indicates the time required to calculate a single data packet.

[0055] Optionally, there are multiple ways to obtain the delay jitter, for example, the delay jitter can be obtained by: Among them, t jitter (i,j) is the delay jitter between the i-th satellite and the j-th satellite, is the maximum historical transmission duration between the i-th satellite and the j-th satellite, is the minimum historical transmission time between the i-th satellite and the j-th satellite.

[0056] Optionally, there are multiple ways to calculate the target route cost, for example, the target route cost is obtained by: cost(i,j)=ω 1 [t trans (i,j)+t que (i,j)]+ω 2 t jitter (i,j), where cost(i,j) is the target route cost corresponding to the transmission from the i-th satellite to the j-th satellite, t trans (i,j) is the transmission time between the i-th satellite and the j-th satellite, t jitter (i,j) is the delay jitter between the i-th satellite and the j-th satellite, t que (i,j) is the queue length of the target data packet waiting in the i-th satellite when the i-th satellite transmits to the j-th satellite, ω 1 is the first weight value mentioned above, ω 2 is the second weight value mentioned above.

[0057] In an optional embodiment, the target route calculation value is obtained based on the first route value, the second route value, and the target route cost value, and the target route calculation value is updated to the preset first route table, including: based on the first route value, the second route value, and the target route cost value, the target route calculation value is obtained by the following method:

[0058]

[0059] Among them, NewQ i (s,i+1) is the target route calculation value, i is the current forwarding satellite, i+1 is the next forwarding satellite, i+2 is another forwarding satellite after the next forwarding satellite, s is the destination satellite corresponding to the target data packet, α is a pre-set correlation coefficient, neighbors of i+1 is the neighbor satellite corresponding to the next forwarding satellite, Q i (s,i+1) is the first routing value, Q i+1 (s, i+2) is the second routing value, cost(i, i+1) is the target routing cost value; the target routing calculation value is updated to the preset first routing table.

[0060] It can be understood that in order to obtain a routing method with high transmission efficiency, an improved service quality assurance function is established, and based on the first routing value, the second routing value, and the target routing cost value, the target routing calculation value is obtained through the improved service quality assurance function.

[0061] It should be noted that the improved service quality assurance function is expressed as:

[0062]

[0063] When the routing values ​​in the satellite network are all the same preset default values, Q i (s,i+1),Q i+1 (s,i+2) are all preset default values. NewQ calculated according to the above expression i(s,i+1) (i.e., the target route calculation value) increases αcost(i,i+1) compared to the preset default value. In other words, after the preset first routing table is updated with the target route calculation value, the first route calculation value must be greater than other preset default values ​​in the updated preset first routing table. For ease of understanding, a specific example is given. For example, when the routing values ​​in the satellite network are all the same preset default values, the preset first routing table includes four identical preset default values, which correspond to the routing values ​​of the four neighboring satellites corresponding to the current forwarding satellite. After the target route calculation value is obtained by using the improved service quality guarantee function, the target route calculation value is updated to the preset first routing table. The updated preset first routing table includes: the target route calculation value, and three identical preset default values. As analyzed above, the target route calculation value increases αcost(i,i+1) compared to the preset default value, and the target route calculation value is greater than the preset default value. When the next data packet is transmitted, the minimum value will be selected from the preset default values ​​(when there are multiple minimum values, one will be randomly selected), that is, a forwarding satellite will be selected from the other three neighboring satellites different from the next forwarding satellite, and the corresponding route value will be updated. It is easy to see that when there is a preset default value in the preset first routing table, the minimum routing value is selected from the preset default value until the target routing calculation value is used to update the preset first routing table to the point where there is no preset default value. Using the above method, it can be seen that in the process of transmitting multiple target data packets, the preset default value corresponding to any satellite in the satellite network will be gradually updated to the corresponding target routing calculation value. After the routing update of the satellite network is completed, the routing efficiency will be improved, thereby improving the communication efficiency.

[0064] In an optional embodiment, before selecting the routing value with the smallest value in the above-mentioned preset first routing table as the first routing value, and selecting the neighbor satellite corresponding to the above-mentioned first routing value as the next forwarding satellite of the above-mentioned current forwarding satellite, it includes: judging whether the above-mentioned target data packet meets the preset time limit requirements, wherein the above-mentioned preset time limit requirements at least include: the sum of the transmission time lengths of the above-mentioned target data packets in the historical transmission paths is not greater than the preset transmission delay upper limit, the queue time length is not greater than the preset maximum queue number of a single satellite, and the delay jitter is not greater than the preset delay jitter upper limit; if the above-mentioned target data packet does not meet the above-mentioned time limit requirements, the transmission of the above-mentioned target data packet is stopped.

[0065] It can be understood that the target data packet transmitted in the satellite network needs to meet the time limit requirements, that is, the sum of the transmission time of the target data packet in the historical transmission path is not greater than the preset transmission delay upper limit, the queue time is not greater than the preset maximum queue number of a single satellite, and the delay jitter is not greater than the preset delay jitter upper limit. If the target data packet does not meet the time limit requirements, the transmission of the target data packet is stopped, and the target data packet is deemed to meet the time limit requirements. The target data packet that does not meet the time limit requirements will be discarded and its transmission will be stopped.

[0066] Optionally, since the target data packets in the satellite network must meet the time limit requirement, a transmission path with the minimum routing cost can be found for each target data packet, that is, a transmission routing model is established. The above transmission routing model can be multiple, for example: the transmission routing model is obtained by the following method:

[0067]

[0068]

[0069] Among them, p * For the above transmission routing model, path(s,d) is the set of links between the starting satellite and the destination satellite of the target data packet. e i,j is the link set between the i-th satellite and the j-th satellite, C trans is the preset upper limit of transmission delay, C que is the preset maximum number of queues for a single satellite, C jitter is the preset delay jitter upper limit, T is the sum of the transmission time in the historical transmission path, and Get, t trans is the historical transmission time, s is the destination satellite, and d is the starting satellite.

[0070] Based on the above embodiments and optional embodiments, the present invention proposes an optional implementation mode, and a specific example is given for ease of understanding. Figure 2 is a satellite network schematic diagram of an optional satellite network routing update method provided according to an embodiment of the present invention, such as Figure 2 As shown, in a satellite network, information is transmitted between satellites via inter-satellite links. Figure 3 is a flow chart of an optional satellite network routing update method provided according to an embodiment of the present invention, such as Figure 3 As shown, the specific steps are as follows:

[0071] Step S1, initializing a preset routing table in the satellite network.

[0072] Step S2, judging whether the target data packet meets the time limit requirement, if the target data packet meets the time limit requirement, executing step S3, if the target data packet does not meet the time limit requirement, stopping the transmission. The above time limit requirements at least include: the sum of the transmission time lengths of the above target data packets in the historical transmission path is not greater than the preset transmission delay upper limit, the queue time length is not greater than the preset maximum queue number of a single satellite, and the delay jitter is not greater than the preset delay jitter upper limit; if the above target data packet does not meet the above time limit requirements, stopping the transmission of the above target data packet.

[0073] Step S3: The i-th satellite has multiple neighboring satellites and has a corresponding preset first routing table. According to the preset first routing table, the smallest routing value corresponding to the multiple neighboring satellites is used as the first routing value, which is represented by Q i (s,i+1),Q i (s,i+1) is the first routing value required for sending the target data packet with the destination s when the i-th satellite transmits to the i+1-th satellite. The target data packet is sent to the i+1-th satellite corresponding to the first routing value, where the i-th satellite is the current forwarding satellite and the i+1-th satellite is the next forwarding satellite.

[0074] Step S4, based on the time information corresponding to the transmission from the i-th satellite to the i+1-th satellite, the transmission duration in the time information is obtained by the following method: t trans (i,i+1)=l(i,i+1) / c, where, t trans (i,i+1) is the transmission time between the ith satellite and the i+1th satellite, c is the speed of light, and l(i,i+1) is the link distance between the ith satellite and the i+1th satellite. The queue duration in the time information is obtained by: t que (i,i+1)=N(i,i+1)*t calc , where t que (i,i+1) is the queue length of the target data packet waiting in the i-th satellite when the i-th satellite transmits to the i+1-th satellite, N(i,i+1) is the queue length of the data packet waiting to be sent in the i-th satellite when the i-th satellite transmits to the i+1-th satellite, t calc Indicates the time required to calculate a single data packet. The delay jitter in the time information can be obtained by: Among them, t jitter (i,i+1) is the delay jitter between the i-th satellite and the i+1-th satellite, is the maximum historical transmission duration between the i-th satellite and the i+1-th satellite, is the minimum historical transmission time between the i-th satellite and the i+1-th satellite. Based on the above transmission time, queue time, and delay jitter, the target routing cost is obtained in the following way: cost(i,i+1)=ω 1 [t trans (i,i+1)+t que (i,i+1)]+ω 2 t jitter (i,i+1), where cost(i,i+1) is the target route cost corresponding to the transmission from the i-th satellite to the i+1-th satellite, ω 1 is the first weight value, ω 2is the second weight value, and there is a relationship between the first weight value and the second weight value represented by ω 1 +ω 2 =1.

[0075] Step S5, obtaining the preset second routing table corresponding to the i+1th satellite, selecting the smallest routing value in the preset second routing table as the second routing value represented by Q i+1 (s,i+2),Q i+1 (s, i+2) is the second routing value required for sending the target data packet with the destination being s when the i+1th satellite transmits to the i+2th satellite. Based on the first routing value, the second routing value, and the target routing cost value, the target routing calculation value is obtained in the following manner.

[0076]

[0077] Among them, NewQ i (s,i+1) is the target route calculation value, i+2 is another forwarding satellite after the next forwarding satellite, s is the destination satellite corresponding to the target data packet, α is a preset correlation coefficient, neighbors of i+1 is the neighbor satellite corresponding to the next forwarding satellite, and cost(i,i+1) is the target route cost. The target route calculation value is updated to the preset first routing table.

[0078] Step S5, determining whether the next forwarding satellite is the destination satellite corresponding to the target data packet; if the next forwarding satellite is not the destination satellite, taking the current forwarding satellite as the new current forwarding satellite, and looping through steps S2 to S5 until the next forwarding satellite is the destination satellite.

[0079] Figure 4 FIG. 1 is a schematic diagram showing the effect of an optional satellite network routing update method provided according to an embodiment of the present invention. Figure 4 As shown, the Dixtra algorithm is used for comparison, and the Dixtra algorithm and the satellite network routing update method provided by the embodiment of the present invention are used to simulate the target routing cost value of the target data packet. The results show that the target routing cost value of the Dixtra algorithm is almost unchanged, while the target routing cost value of the satellite network routing update method provided by the embodiment of the present invention converges quickly, and in the 40th batch of target data packets, the target routing cost value is close to the Dixtra algorithm, and after convergence, it is less than the Dixtra algorithm.

[0080] Figure 5 FIG. 1 is a schematic diagram showing the effect of another optional satellite network routing update method provided according to an embodiment of the present invention. Figure 5As shown, the results show that the satellite network routing update method provided by the embodiment of the present invention can basically converge the routing cost (such as Figure 4 After the 40th iteration in the loop, the transmission delay will continue to decrease, corresponding to the improvement of transmission performance. However, the reduction in transmission delay is much greater than the reduction in the target routing cost value. When the first weight value is greater than the second weight value in the expression for setting the target routing cost value, the reduction in transmission delay will lead to a further reduction in routing cost.

[0081] The optional implementations above achieve at least one of the following effects: The present invention establishes a mathematical model of transmission delay, queuing delay, and delay jitter, improves the corresponding service quality guarantee function based on the target routing cost value, and provides a mathematical expression for the improved service quality guarantee function. The present invention takes the minimum improved service quality guarantee function as the goal, proposes a satellite network routing update method, reduces the amount of calculation and storage for each satellite, and reduces the transmission delay of the target data packet in the above satellite network, which is conducive to improving the transmission capacity and communication efficiency of the satellite network.

[0082] 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.

[0083] In this embodiment, a satellite network route updating device is also provided, which is used to implement the above-mentioned embodiments and preferred implementation modes, and the descriptions that have been made are not repeated here. As used below, the terms "module" and "device" can implement a combination of software and / or hardware of a predetermined function. Although the devices described in the following embodiments are preferably implemented in software, the implementation of hardware, or a combination of software and hardware, is also possible and conceivable.

[0084] According to an embodiment of the present invention, there is also provided an apparatus embodiment for implementing a satellite network routing update method. Figure 6 is a schematic diagram of a satellite network routing update device according to an embodiment of the present invention. Figure 6 As shown, the satellite network route updating device includes: a first acquisition module 602, a first determination module 604, a first forwarding module 606, a first calculation module 608, a first acquisition module 610, and a second calculation module 612. The device is described below.

[0085] A first acquisition module 602 is used to acquire a target data packet, a current forwarding satellite corresponding to the target data packet, and a preset first routing table corresponding to the current forwarding satellite, wherein the preset first routing table stores routing values ​​corresponding to a plurality of neighboring satellites of the current forwarding satellite;

[0086] The first determining module 604 is connected to the first acquiring module 602, and is used to select the smallest routing value in the preset first routing table as the first routing value, and select the neighbor satellite corresponding to the first routing value as the next forwarding satellite of the current forwarding satellite;

[0087] A first forwarding module 606, connected to the first determining module 604, is used to send the target data packet to the next forwarding satellite and obtain time information when the target data packet is sent to the next forwarding satellite;

[0088] A first calculation module 608, connected to the first forwarding module 606, is used to calculate the target route cost of sending the target data packet to the next forwarding satellite based on the time information;

[0089] The first acquisition module 610 is connected to the first calculation module 608, and is used to obtain the preset second routing table corresponding to the next forwarding satellite, and select the smallest routing value in the preset second routing table as the second routing value, wherein the preset second routing table stores routing values ​​corresponding to multiple neighboring satellites of the next forwarding satellite respectively;

[0090] The second calculation module 612 is connected to the first acquisition module 610, and is used to obtain a target route calculation value based on the first route value, the second route value, and the target route cost value, and update the target route calculation value to the preset first route table.

[0091] In a satellite network routing update device provided by an embodiment of the present invention, a first acquisition module 602 is used to acquire a target data packet, a current forwarding satellite corresponding to the target data packet, and a preset first routing table corresponding to the current forwarding satellite, wherein the preset first routing table stores routing values ​​corresponding to multiple neighboring satellites of the current forwarding satellite; a first determination module 604 is connected to the first acquisition module 602, and is used to select the smallest routing value in the preset first routing table as the first routing value, and select the neighboring satellite corresponding to the first routing value as the next forwarding satellite of the current forwarding satellite; a first forwarding module 606 is connected to the first determination module 604, and is used to send the target data packet to the next forwarding satellite, and acquire the target data packet to be sent to the next forwarding satellite. The first calculation module 608 is connected to the first forwarding module 606, and is used to calculate the target route cost value of the target data packet sent to the next forwarding satellite based on the time information; the first acquisition module 610 is connected to the first calculation module 608, and is used to obtain the preset second routing table corresponding to the next forwarding satellite, and select the smallest routing value in the preset second routing table as the second routing value, wherein the preset second routing table stores the routing values ​​corresponding to multiple neighboring satellites of the next forwarding satellite; the second calculation module 612 is connected to the first acquisition module 610, and is used to obtain the target route calculation value based on the first routing value, the second routing value, and the target route cost value, and update the target route calculation value to the preset first routing table. The purpose of updating the satellite network route and improving the communication performance is achieved, and the technical effect of improving the routing efficiency and thus improving the transmission efficiency of the satellite network is achieved, thereby solving the technical problem of low communication efficiency due to uneven distribution of satellite traffic in the related technology.

[0092] As an optional embodiment, the satellite network route updating device provided by the embodiment of the present invention further includes:

[0093] A first determination module 614 is used to determine whether the next forwarding satellite is the destination satellite corresponding to the target data packet;

[0094] The first loop module 616 is used for, if the above-mentioned next forwarding satellite is not the above-mentioned destination satellite, taking the above-mentioned current forwarding satellite as the new current forwarding satellite, and loopingly performing the following operations until the above-mentioned next forwarding satellite is the above-mentioned destination satellite: obtaining a new preset first routing table corresponding to the above-mentioned new current forwarding satellite; selecting the smallest routing value in the above-mentioned new preset first routing table as the new first routing value, and selecting the neighbor satellite corresponding to the above-mentioned new first routing value as the new next forwarding satellite of the above-mentioned new current forwarding satellite; sending the above-mentioned target data packet to the above-mentioned new next forwarding satellite, and obtaining new time information when the above-mentioned target data packet is sent to the above-mentioned new next forwarding satellite; calculating a new target route cost value for sending the above-mentioned target data packet to the above-mentioned new next forwarding satellite based on the above-mentioned new time information; obtaining a new preset second routing table corresponding to the above-mentioned new next forwarding satellite, selecting the smallest routing value in the above-mentioned new preset second routing table as the new second routing value; obtaining a new target route calculation value based on the above-mentioned new first route value, the above-mentioned new second route value, and the above-mentioned new target route cost value, and updating the above-mentioned new target route calculation value to the above-mentioned new preset first routing table.

[0095] It should be noted that the above modules can be implemented by software or hardware. For example, for the latter, it can be implemented in the following ways: the above modules can be located in the same processor; or the above modules can be located in different processors in any combination.

[0096] It should be noted that the first acquisition module 602, the first determination module 604, the first forwarding module 606, the first calculation module 608, the first acquisition module 610, and the second calculation module 612 correspond to steps S102 to S112 in the embodiment, and the examples and application scenarios implemented by the modules and the corresponding steps are the same, but are not limited to the contents disclosed in the above embodiments. It should be noted that the modules as part of the device can be run in a computer terminal.

[0097] It should be noted that the optional or preferred implementation of this embodiment can refer to the relevant description in the embodiment, which will not be repeated here.

[0098] The above-mentioned satellite network routing update device may also include a processor and a memory. The first acquisition module 602, the first determination module 604, the first forwarding module 606, the first calculation module 608, the first acquisition module 610, the second calculation module 612, 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 the corresponding functions.

[0099] The processor includes a kernel, which retrieves the corresponding program unit from the memory. There can be one or more kernels. The 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 storage chip.

[0100] An embodiment of the present invention provides a non-volatile storage medium on which a program is stored. When the program is executed by a processor, a satellite network routing update method is implemented.

[0101] An embodiment of the present invention provides an electronic device, which includes a processor, a memory, and a program stored in the memory and executable on the processor. When the processor executes the program, the following steps are implemented: obtaining a target data packet, a current forwarding satellite corresponding to the target data packet, and a preset first routing table corresponding to the current forwarding satellite, wherein the preset first routing table stores routing values ​​corresponding to multiple neighboring satellites of the current forwarding satellite; selecting the smallest routing value in the preset first routing table as the first routing value, and selecting the neighboring satellite corresponding to the first routing value as the next forwarding satellite of the current forwarding satellite; sending the target data packet to the next forwarding satellite, and obtaining time information when the target data packet is sent to the next forwarding satellite; calculating the target routing cost value of the target data packet sent to the next forwarding satellite based on the time information; obtaining the preset second routing table corresponding to the next forwarding satellite, selecting the smallest routing value in the preset second routing table as the second routing value, wherein the preset second routing table stores routing values ​​corresponding to multiple neighboring satellites of the next forwarding satellite; obtaining a target routing calculation value based on the first routing value, the second routing value, and the target routing cost value, and updating the target routing calculation value to the preset first routing table. The device in this article can be a server, PC, etc.

[0102] The present invention also provides a computer program product, which, when executed on a data processing device, is suitable for executing a program that is initialized with the following method steps: obtaining a target data packet, a current forwarding satellite corresponding to the target data packet, and a preset first routing table corresponding to the current forwarding satellite, wherein the preset first routing table stores routing values ​​corresponding to multiple neighboring satellites of the current forwarding satellite; selecting the smallest routing value in the preset first routing table as the first routing value, and selecting the neighboring satellite corresponding to the first routing value as the next forwarding satellite of the current forwarding satellite; sending the target data packet to the next forwarding satellite, and obtaining time information when the target data packet is sent to the next forwarding satellite; calculating the target routing cost value of the target data packet sent to the next forwarding satellite based on the time information; obtaining the preset second routing table corresponding to the next forwarding satellite, selecting the smallest routing value in the preset second routing table as the second routing value, wherein the preset second routing table stores routing values ​​corresponding to multiple neighboring satellites of the next forwarding satellite; obtaining a target routing calculation value based on the first routing value, the second routing value, and the target routing cost value, and updating the target routing calculation value to the preset first routing table.

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

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

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

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

[0107] In a typical configuration, a computing device includes one or more processors (CPU), input / output interfaces, network interfaces, and memory.

[0108] The memory may include non-permanent memory in a computer-readable medium, random access memory (RAM) and / or non-volatile memory in the form of read-only memory (ROM) or flash RAM. The memory is an example of a computer-readable medium.

[0109] Computer readable media include permanent and non-permanent, removable and non-removable media that can be implemented by any method or technology to store information. Information can be computer readable instructions, data structures, program modules or other data. Examples of computer storage media include, but are not limited to, phase change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technology, compact disk read-only memory (CD-ROM), digital versatile disk (DVD) or other optical storage, magnetic cassettes, magnetic tape disk storage or other magnetic storage devices or any other non-transmission media that can be used to store information that can be accessed by a computing device. As defined herein, computer readable media does not include temporary computer readable media (transitory media), such as modulated data signals and carrier waves.

[0110] It should also be noted that the terms "include", "comprises" or any other variations thereof are intended to cover non-exclusive inclusion, so that a process, method, commodity or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, commodity or device. In the absence of more restrictions, the elements defined by the sentence "comprises a ..." do not exclude the existence of other identical elements in the process, method, commodity or device including the elements.

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

[0112] The above are only embodiments of the present invention and are not intended to limit the present invention. For those skilled in the art, the present invention may have various modifications and variations. Any modification, equivalent substitution, improvement, etc. made within the spirit and principle of the present invention should be included in the scope of the claims of the present invention.

Claims

1. A satellite network routing update method, characterized in that: include: Acquire a target data packet, a current forwarding satellite corresponding to the target data packet, and a preset first routing table corresponding to the current forwarding satellite, wherein the preset first routing table stores routing values ​​corresponding to a plurality of neighboring satellites of the current forwarding satellite; Selecting the smallest routing value in the preset first routing table as the first routing value, and selecting a neighbor satellite corresponding to the first routing value as the next forwarding satellite of the current forwarding satellite; Sending the target data packet to the next forwarding satellite, and acquiring time information when the target data packet is sent to the next forwarding satellite; Based on the time information, calculating the target route cost value of sending the target data packet to the next forwarding satellite; Obtaining a preset second routing table corresponding to the next forwarding satellite, and selecting the smallest routing value in the preset second routing table as the second routing value, wherein the preset second routing table stores routing values ​​corresponding to a plurality of neighboring satellites of the next forwarding satellite respectively; Based on the first routing value, the second routing value, and the target routing cost value, a target routing calculation value is obtained, and the target routing calculation value is updated to the preset first routing table; Wherein, the calculation of the target route cost of sending the target data packet to the next forwarding satellite based on the time information includes: obtaining the transmission duration, queue duration, and delay jitter in the time information, wherein the transmission duration is the duration of sending the target data packet to the next forwarding satellite, the queue duration is the duration of waiting of the target data packet in the transmission queue of the current forwarding satellite, and the delay jitter is the difference between the maximum value and the minimum value of the historical transmission duration from the current forwarding satellite to the next forwarding satellite; determining a first weight value corresponding to the transmission duration and the queue duration, and a second weight value corresponding to the delay jitter; and calculating the target route cost based on the transmission duration, the queue duration, the delay jitter, the first weight value, and the second weight value; The step of obtaining a target route calculation value based on the first route value, the second route value, and the target route cost value, and updating the target route calculation value to the preset first route table includes: obtaining the target route calculation value based on the first route value, the second route value, and the target route cost value by: Among them, NewQ i (s,i+1) is the target route calculation value, i is the current forwarding satellite, i+1 is the next forwarding satellite, i+2 is another forwarding satellite after the next forwarding satellite, s is the destination satellite corresponding to the target data packet, α is a preset correlation coefficient, neighbors of i+1 is the neighbor satellite corresponding to the next forwarding satellite, Q i (s,i+1) is the first routing value, Q i+1 (s,i+2) is the second route value, cost(i,i+1) is the target route cost value; the target route calculation value is updated to the preset first route; The updated preset first routing table includes the target route calculation value and the preset route values ​​of the other three satellites corresponding to the current forwarding satellite; or the updated preset first routing table includes the target route calculation value and three identical preset default values.

2. The method according to claim 1, characterized in that: The method further comprises: Determining whether the next forwarding satellite is the destination satellite corresponding to the target data packet; If the next forwarding satellite is not the destination satellite, the current forwarding satellite is used as the new current forwarding satellite, and the following operations are performed in a loop until the next forwarding satellite is the destination satellite: a new preset first routing table corresponding to the new current forwarding satellite is obtained; the routing value with the smallest value in the new preset first routing table is selected as the new first routing value, and the neighboring satellite corresponding to the new first routing value is selected as the new next forwarding satellite of the new current forwarding satellite; the target data packet is sent to the new next forwarding satellite, and new time information of the target data packet being sent to the new next forwarding satellite is obtained; based on the new time information, a new target route cost value of the target data packet being sent to the new next forwarding satellite is calculated; a new preset second routing table corresponding to the new next forwarding satellite is obtained, and the routing value with the smallest value in the new preset second routing table is selected as the new second routing value; a new target route calculation value is obtained based on the new first route value, the new second route value, and the new target route cost value, and the new target route calculation value is updated to the new preset first routing table.

3. The method according to claim 1, characterized in that The step of selecting the smallest routing value in the preset first routing table as the first routing value, and selecting the neighbor satellite corresponding to the first routing value as the next forwarding satellite corresponding to the current forwarding satellite, comprises: In the case where the first routing table includes a plurality of minimum routing values ​​and the current forwarding satellite is not a destination satellite, any one of the plurality of minimum routing values ​​is used as the first routing value; A neighbor satellite corresponding to the first routing value is selected as the next forwarding satellite corresponding to the current forwarding satellite.

4. The method according to any one of claims 1 to 3, characterized in that Before selecting the smallest routing value in the preset first routing table as the first routing value, and selecting the neighbor satellite corresponding to the first routing value as the next forwarding satellite of the current forwarding satellite, the method includes: Determine whether the target data packet meets the preset time limit requirements, wherein the preset time limit requirements at least include: the sum of the transmission time lengths of the target data packet in the historical transmission path is not greater than the preset transmission delay upper limit, the queue time length is not greater than the preset maximum queue number of a single satellite, and the delay jitter is not greater than the preset delay jitter upper limit; If the target data packet does not meet the time limit requirement, the transmission of the target data packet is stopped.

5. A satellite network routing update device, characterized in that: include: A first acquisition module is used to acquire a target data packet, a current forwarding satellite corresponding to the target data packet, and a preset first routing table corresponding to the current forwarding satellite, wherein the preset first routing table stores routing values ​​corresponding to a plurality of neighboring satellites of the current forwarding satellite; A first determining module is used to select the smallest routing value in the preset first routing table as the first routing value, and select the neighbor satellite corresponding to the first routing value as the next forwarding satellite of the current forwarding satellite; A first forwarding module, used for sending the target data packet to the next forwarding satellite, and obtaining time information when the target data packet is sent to the next forwarding satellite; A first calculation module, used for calculating the target route cost of sending the target data packet to the next forwarding satellite based on the time information; A first acquisition module is used to acquire a preset second routing table corresponding to the next forwarding satellite, and select the smallest routing value in the preset second routing table as the second routing value, wherein the preset second routing table stores routing values ​​corresponding to multiple neighboring satellites of the next forwarding satellite respectively; A second calculation module, configured to obtain a target route calculation value based on the first route value, the second route value, and the target route cost value, and update the target route calculation value to the preset first route table; The second calculation module is further used to: obtain the transmission duration, queue duration, and delay jitter in the time information, wherein the transmission duration is the duration for the target data packet to be sent to the next forwarding satellite, the queue duration is the duration for the target data packet to wait in the transmission queue of the current forwarding satellite, and the delay jitter is the difference between the maximum value and the minimum value of the historical transmission duration from the current forwarding satellite to the next forwarding satellite; determine a first weight value corresponding to the transmission duration and the queue duration, and a second weight value corresponding to the delay jitter; calculate the target route cost based on the transmission duration, the queue duration, the delay jitter, the first weight value, and the second weight value; The first acquisition module is further used to obtain the target route calculation value based on the first route value, the second route value, and the target route cost value in the following manner: Among them, NewQ i (s,i+1) is the target route calculation value, i is the current forwarding satellite, i+1 is the next forwarding satellite, i+2 is another forwarding satellite after the next forwarding satellite, s is the destination satellite corresponding to the target data packet, α is a preset correlation coefficient, neighbors of i+1 is the neighbor satellite corresponding to the next forwarding satellite, Q i (s,i+1) is the first routing value, Q i+1 (s,i+2) is the second route value, cost(i,i+1) is the target route cost value; the target route calculation value is updated to the preset first route; The updated preset first routing table includes the target route calculation value and the preset route values ​​of the other three satellites corresponding to the current forwarding satellite; or the updated preset first routing table includes the target route calculation value and three identical preset default values.

6. The device according to claim 5, characterized in that The device also includes: A first judgment module is used to judge whether the next forwarding satellite is the destination satellite corresponding to the target data packet; The first loop module is used for, if the next forwarding satellite is not the destination satellite, taking the current forwarding satellite as the new current forwarding satellite, and loopingly performing the following operations until the next forwarding satellite is the destination satellite: obtaining a new preset first routing table corresponding to the new current forwarding satellite; selecting the smallest routing value in the new preset first routing table as the new first routing value, and selecting the neighbor satellite corresponding to the new first routing value as the new next forwarding satellite of the new current forwarding satellite; sending the target data packet to the new next forwarding satellite, and obtaining new time information when the target data packet is sent to the new next forwarding satellite; calculating a new target route cost value for sending the target data packet to the new next forwarding satellite based on the new time information; obtaining a new preset second routing table corresponding to the new next forwarding satellite, selecting the smallest routing value in the new preset second routing table as the new second routing value; obtaining a new target route calculation value based on the new first route value, the new second route value, and the new target route cost value, and updating the new target route calculation value to the new preset first routing table.

7. A non-volatile storage medium, characterized in that: The non-volatile storage medium stores a plurality of instructions, and the instructions are suitable for being loaded by a processor and executing the satellite network routing update method described in any one of claims 1 to 4.

8. An electronic device, characterized in that: include: 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 satellite network routing update method described in any one of claims 1 to 4.

Citation Information

Patent Citations

  • Routing protocol of AODV (Ad hoc On-Demand Distance Vector Routing) application

    CN102447686A

  • A satellite routing algorithm with strong link constraints

    CN108989223A