Disclosure of Invention
The invention mainly aims to overcome the defects of the prior art and provides a satellite constellation orbit computing system and a computing method based on a container cloud;
in order to achieve the above object, the present invention provides a satellite constellation orbit calculation method based on a container cloud, which is characterized by comprising the following steps:
splitting a satellite orbit calculation task into a plurality of satellite orbit calculation sub-tasks based on a container cloud architecture;
creating a plurality of orbit calculation containers, wherein the orbit calculation containers respectively execute at least one satellite orbit calculation subtask to obtain satellite network data of the current subtask;
summarizing all satellite network data to form a complete satellite network topology at each moment;
preferably, in the process of splitting the satellite constellation orbit calculation task into a plurality of orbit calculation sub-tasks based on the container cloud architecture, the satellites are split into n groups, the simulation time is cut into m segments, and then the whole satellite orbit calculation task is split into m × n sub-tasks. When the plurality of orbit calculation containers are created, the orbit calculation containers with the same number as that of the satellite orbit calculation subtasks are created; and the orbit calculation containers respectively and simultaneously execute different satellite orbit calculation subtasks to obtain satellite network data of the current subtask. Therefore, by using the advantages of the container cloud, the required number of the orbit calculation containers can be flexibly and quickly created according to the number of tasks and the hardware resources of the server, the containers can be destroyed after the calculation is finished, and the resources are released, so that the efficiency of satellite orbit calculation tasks is improved, and the requirements of large-batch satellite orbit calculation and high-time-precision simulation are met. The orbit calculation containers in the nodes perform calculation simultaneously, and the final calculation results are summarized, so that the orbit calculation time is effectively saved, and the problems of low simulation efficiency, unreliable simulation results and the like of a large-scale satellite constellation system are fundamentally solved;
preferably, the creating a plurality of orbit calculation containers, and the respectively executing at least one satellite orbit calculation subtask to obtain satellite network data of the current subtask includes: inputting parameters of a satellite orbit calculation subtask into each orbit calculation container, forecasting the satellite orbit by an orbit forecaster, recording the state of the satellite at each moment, and recording the moment of visibility switching between the satellite and a ground object to obtain satellite network data of the current subtask;
preferably, the satellite network data of the current subtask includes a position of the satellite on the terrestrial coordinate system at each moment, and a visible time period of the satellite, the ground station and the user terminal;
preferably, before splitting the satellite orbit calculation task into a plurality of satellite orbit calculation sub-tasks based on the container cloud architecture, acquiring the longitude and latitude of a ground station, the longitude and latitude of a user terminal, satellite orbit parameters, a simulation time period and a time interval;
preferably, the orbit calculation container respectively executes at least one satellite orbit calculation subtask to obtain satellite network data of the current subtask, including obtaining longitude and latitude of a ground station, longitude and latitude of a user terminal and satellite orbit parameters, and calculating the position of the satellite on a terrestrial coordinate system according to the longitude and latitude of the ground station and the longitude and latitude of the user terminal;
preferably, in the process that the orbit calculation container respectively executes at least one satellite orbit calculation subtask to obtain satellite network data of the current subtask, the method comprises the steps of calculating the position of a satellite at any time through a corresponding model according to initial time and satellite orbit parameters provided by a user, and further calculating the connection conditions of the satellite and the satellite, the satellite and a ground station, and the satellite and a user terminal;
the invention also provides a satellite constellation orbit computing system based on the container cloud, which forms a complete satellite network topology at each moment by operating the corresponding steps of the satellite constellation orbit computing method based on the container cloud;
preferably, the satellite constellation orbit computing system based on the container cloud includes a plurality of orbit computing containers, and the orbit computing containers respectively execute at least one satellite orbit computing sub-task to obtain satellite network data of a current sub-task. The satellite orbit calculation sub task splitting module is used for splitting the satellite constellation orbit calculation tasks based on the container cloud architecture so as to split the satellites into n groups, and the simulation time is cut into m segments, so that the whole satellite orbit calculation task is split into m × n subtasks; the data integration module is used for summarizing all satellite network data to form a complete satellite network topology at each moment.
Detailed Description
The technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the drawings in the embodiments of the present invention, and it is obvious that the described embodiments are only a part of the embodiments of the present invention, and not all of the embodiments. All other embodiments, which can be obtained by a person skilled in the art without any inventive work based on the embodiments of the present invention, are within the scope of the present invention;
the invention relates to a satellite constellation orbit calculation method based on a container cloud, which comprises the following steps:
splitting a satellite orbit calculation task into a plurality of satellite orbit calculation sub-tasks based on a container cloud architecture;
creating a plurality of orbit calculation containers, wherein the orbit calculation containers respectively execute at least one satellite orbit calculation subtask to obtain satellite network data of the current subtask;
summarizing all satellite network data to form a complete satellite network topology at each moment;
preferably, in the process of splitting the satellite constellation orbit calculation task into a plurality of orbit calculation sub-tasks based on the container cloud architecture, the satellite is split into n groups, the simulation time is cut into m segments, and then the whole satellite orbit calculation task is split into m × n sub-tasks. When the plurality of orbit calculation containers are created, the orbit calculation containers with the same number as that of the satellite orbit calculation subtasks are created; and the orbit calculation containers respectively and simultaneously execute different satellite orbit calculation subtasks to obtain satellite network data of the current subtask. The satellite network data of the current subtask comprises the position of the satellite on the earth coordinate system at each moment and the visible time periods of the satellite, the ground station and the user terminal;
in addition, before the satellite orbit calculation task is split into a plurality of satellite orbit calculation sub-tasks based on the container cloud architecture, the longitude and latitude of the ground station, the longitude and latitude of the user terminal, the satellite orbit parameters, the simulation time period and the time interval are obtained. And calculating the position of the satellite on the earth coordinate system according to the longitude and latitude of the ground station and the longitude and latitude of the user terminal. And calculating the position of the satellite at any time through the corresponding model according to the initial time and the satellite orbit parameters provided by the user, and further calculating the connection conditions of the satellite and the satellite, the satellite and the ground station and the satellite and the user terminal. The creating of the plurality of orbit calculation containers, wherein the respectively executing of at least one satellite orbit calculation subtask by the orbit calculation containers to obtain the satellite network data of the current subtask comprises: and inputting parameters of the satellite orbit calculation subtasks into each orbit calculation container, forecasting the satellite orbits by an orbit forecaster, recording the state of the satellite at each moment, and recording the moment of switching the visibility of the satellite and a ground object to obtain satellite network data of the current subtasks. Therefore, by using the advantages of the container cloud, the required number of the orbit calculation containers can be flexibly and quickly created according to the number of tasks and the hardware resources of the server, the containers can be destroyed after the calculation is finished, and the resources are released, so that the efficiency of satellite orbit calculation tasks is improved, and the requirements of large-batch satellite orbit calculation and high-time-precision simulation are met. The orbit calculation containers in the nodes perform calculation simultaneously, and the final calculation results are summarized, so that the orbit calculation time is effectively saved, and the problems of low simulation efficiency, unreliable simulation results and the like of a large-scale satellite constellation system are fundamentally solved;
referring to fig. 2, when the satellite constellation orbit calculation method based on the container cloud and the satellite constellation orbit calculation system based on the container cloud operate, first, the satellite constellation orbit calculation system based on the container cloud obtains a satellite network parameter from a control plane, and according to the longitude and latitude of the ground station and the user terminal, the position of the ground station and the user terminal on the terrestrial coordinate system can be directly calculated. The satellite orbit calculation sub-task splitting module can split the satellite into n groups, can also split the simulation time into m segments, and finally splits the whole satellite orbit calculation task into m × n sub-tasks;
then, creating track calculation containers with the same quantity, inputting subtask parameters into each container, forecasting satellite tracks by a Propagator (track forecaster) provided by Orekit, monitoring events generated by the Propagator by a StepHandler and an AccessHandler, recording the state of the satellite at each moment by the StepHandler, recording the moment of switching the visibility of the satellite and a ground object by the AccessHandler, and obtaining satellite network data of the current subtask after the Propagator is calculated;
and finally, integrating the calculation results of all subtasks through data summarization to obtain the complete satellite network topology at all times. In addition, the container cloud based satellite constellation orbital computing system uses the underlying space dynamics library Orekit written in the Java based language to compute the position of the satellite and the connections to other nodes in the system from the satellite orbit. The Orekit contains basic elements (track, date, attitude, frame, etc.) and various algorithms to handle the elements (coordinate transformation, track forecast, location, etc.);
for the calculation of the minimum delay of the network path, a shortest path algorithm can be adopted to calculate the path length between the nodes according to the satellite network topology at each moment. Meanwhile, a satellite orbit calculation algorithm is operated in a Docker container in a micro-service mode, so that the requirements of large-batch satellite orbit calculation and high-time-precision simulation are met;
in the process of splitting the computing task based on the container cloud architecture, the computing task is distributed to the track computing container of the container cloud in a distributed computing mode. The track calculation containers in the nodes perform calculation simultaneously, and final calculation results are summarized, so that the track calculation time is effectively saved. Meanwhile, by using the advantages of the container cloud, the required number of the track computing containers can be flexibly established according to the number of tasks and the hardware resources of the server, and the containers can be destroyed after the computing is finished to release the resources. Thus, the satellite constellation orbit calculation system based on the container cloud has a function of simulating key physical characteristics of a satellite constellation network, the position of a satellite at any moment is calculated through Two bodies (Two bodies), J2, J4 and other related models according to initial time and orbit parameters provided by a user, the connection conditions of the satellite and the satellite, the satellite and a ground station, the satellite and a user terminal are further calculated, the coverage condition of the user terminal is evaluated, and a foundation is provided for network simulation of the whole system;
referring to fig. 1 to 4, the present invention further relates to a satellite constellation design and simulation method based on a container cloud and a satellite constellation design and simulation system based on a container cloud. And for the sake of easy distinction, the satellite constellation orbit computing system based on the container cloud is simply referred to as an orbit computing subsystem in the following, then:
the satellite constellation design and simulation method based on the container cloud comprises the following steps:
the method comprises the following steps of track calculation, namely splitting the whole satellite track calculation task into a plurality of subtasks, creating track calculation containers with the same number, executing one or more satellite track calculation subtasks by the track calculation containers to obtain satellite network data of the current subtasks, and integrating the satellite network data obtained by the track calculation containers to form a complete satellite network topology at each moment;
a constellation simulation step, wherein user traffic generated by a simulation traffic source is processed by a user terminal protocol stack and is sent to a satellite network; the satellite protocol stack of the satellite node simulation container carries out priority grouping and routing forwarding on the received user traffic; the gateway station node simulation container analyzes the user traffic transmitted by the satellite network by using a gateway station protocol stack, and then delivers the user traffic to a traffic processing service for processing, and a statistical tool monitors the user traffic or the network traffic going back and forth and calculates corresponding statistical data indexes, thereby realizing the simulation of each node of the satellite network topology
A visualization display step, wherein a corresponding 2D/3D model is loaded on the simulation result of the constellation simulation step and is rendered so as to display the motion mode of the satellite constellation on a corresponding two-dimensional map or three-dimensional space model;
satellite constellation design and simulation system based on container cloud includes:
the orbit calculation subsystem comprises a plurality of orbit calculation containers, the orbit calculation subsystem divides the whole satellite orbit calculation task into a plurality of subtasks, the orbit calculation containers execute one or more satellite orbit calculation subtasks to obtain satellite network data of the current subtasks, and the orbit calculation subsystem integrates the satellite network data obtained by the orbit calculation containers to form complete satellite network topology at each moment;
the system comprises a constellation simulation subsystem, a node simulation subsystem and a satellite network topology simulation system, wherein the constellation simulation subsystem comprises a plurality of node simulation containers, each node simulation container comprises a protocol stack, a simulation control tool and a statistical tool, the simulation control tool initializes and adjusts the configuration of internal components of the node simulation container, the protocol stack processes and sends user traffic generated or received by the node simulation container to the satellite network, and the statistical tool monitors the round-trip user traffic or network traffic and calculates corresponding statistical data indexes so as to realize the simulation of each node of the satellite network topology;
the visual display and control subsystem is used for displaying the simulation result of the constellation simulation subsystem and/or controlling the play mode of the simulation result;
in terms of architecture: referring to fig. 1, in a preferred embodiment, a satellite constellation design and simulation system based on a container cloud is divided into a physical layer, a basic service layer and a platform layer from bottom to top;
the physical layer consists of a plurality of physical machine servers, switches and other network equipment; the physical machine servers are communicated with each other through the switch;
the basic service layer consists of network service, scheduling service, log service, monitoring service, synchronization service and storage service and is used for providing platform basic functions such as container management, physical resource allocation and the like;
the platform layer consists of multiple Docker runtimes. Depending on the function, these containers can be divided into two planes, a control plane and a data plane. One Docker runs on each physical machine server. When the system runs, a plurality of Docker containers are operated to provide simulation system functions;
the Docker container in the control plane provides simulation support services, and comprises a configuration management service container, a simulation control service container, a simulation monitoring service container, a data acquisition service container and a data display/user interaction service container
The configuration management service container is responsible for managing the configuration of the business model scene;
the simulation control service container is responsible for starting and stopping of simulation experiments, adjusting link parameters according to constellation orbit data and the like.
The simulation monitoring service container is responsible for monitoring the state of each simulation node in real time and reporting the track calculation result to the simulation control service container in time;
the data acquisition service container is responsible for collecting and summarizing simulation results obtained by each simulation node and providing the results to the data display/user interaction service container;
the data display/user interaction service container is responsible for providing interaction functions such as 2D and 3D display, simulation configuration adjustment, simulation experiment control and the like;
the Docker container in the data plane comprises a track calculation container of the track calculation subsystem and a node simulation container of the constellation simulation subsystem, and the Docker container is responsible for actual simulation;
the orbit calculation container is responsible for calculating the positions of all entities (satellites, gateway stations and user terminals) in the simulation experiment constellation so as to meet the requirements of simulation;
the node simulation container is an abstract simulation entity (a satellite, a gateway station and a user terminal), and software such as a satellite routing algorithm protocol stack, application layer services, a user QoS tester and the like is operated according to different functions;
the satellite orbit computation subsystem shown with reference to fig. 2 uses the underlying space dynamics library Orekit written in the Java-based language to compute the position of the satellites and connections to other nodes in the system from the satellite orbits. The Orekit contains basic elements (track, date, pose, frame, etc.) and diverse algorithms to handle these elements (coordinate transformation, track forecast, and location, etc.). Meanwhile, a satellite orbit calculation algorithm is operated in a Docker container in a micro-service mode, so that the requirements of large-batch satellite orbit calculation and high-time-precision simulation are met;
specifically, the method comprises the following steps: firstly, the orbit calculation system obtains satellite network parameters from a control plane, and the position of the orbit calculation system on a terrestrial coordinate system can be directly calculated according to the longitude and latitude of a ground station and a user terminal. The task splitting module can split the satellite into n groups, can also cut the simulation time into m segments, and finally splits the whole satellite orbit calculation task into m × n subtasks;
then, creating track calculation containers with the same number, inputting subtask parameters into each container, forecasting satellite tracks by a Propagator (track forecaster) module provided by an Orekit, monitoring events generated by the Propagator by a Stephandler (namely a first monitoring module) and an AccessHandler (namely a second monitoring module), recording the state of the satellite at each moment by the Stephandler, recording the moment of switching the visibility of the satellite and a ground object by the AccessHandler, and obtaining satellite network data of the current subtask after the calculation of the Propagator is completed;
finally, the calculation results of all subtasks are integrated through data summarization, and the complete satellite network topology at all times can be obtained;
referring to fig. 3, simulation nodes in the constellation network simulation subsystem are Docker containers running simulation models, and are divided into three types, namely, a user terminal node simulation container, a satellite node simulation container, and a gateway station node simulation container;
the user terminal node simulation container is composed of a simulation flow source, a user terminal protocol stack, a simulation control tool and a QoS statistical tool. User traffic generated by the simulation traffic source is sent to a satellite network through a user terminal protocol stack; the user terminal protocol stack processes, receives and transmits user traffic; the simulation control tool is responsible for the initialization, configuration adjustment and other functions of the internal components of the container; the QoS statistical tool monitors the round-trip user flow and calculates QoS data indexes;
the satellite node simulation container consists of a satellite protocol stack, a simulation control tool and a QoS (quality of service) statistic tool. The satellite protocol stack is responsible for carrying out priority grouping and routing forwarding on the received user traffic, and can further process the user traffic if necessary; the simulation control tool is responsible for the initialization, configuration adjustment and other functions of the internal components of the container; the QoS statistical tool monitors network flow and calculates statistical indexes such as satellite load and the like;
the gateway station node simulation container consists of a flow processing service, a gateway station protocol stack, a simulation control tool and a QoS (quality of service) statistical tool. User flow is transmitted through a satellite network, analyzed through a gateway station protocol stack and then processed by flow processing service; the simulation control tool is responsible for the initialization, configuration adjustment and other functions of the internal components of the container; the QoS statistical tool is responsible for monitoring the flow at the gateway station side and calculating the QoS data index;
because the simulation node adopts the protocol stack to carry out network communication simulation, the network simulation based on real flow is supported, namely, a real service application client/server can be used as a real flow source to replace a simulation flow source at a user terminal side and a gateway station side. The real traffic of the user terminal is processed and forwarded to the satellite simulation node through the satellite terminal protocol stack, then the data in the constellation is routed and forwarded through the satellite protocol stack, and finally the real traffic reaches the real service program on the gateway station simulation node for processing. Feedback data generated by a real service application service operated by the gateway station simulation node can also reach the user terminal through the reverse process of the process, so that the requirement of bidirectional communication is met. Meanwhile, various data indexes under the condition of real service flow can be obtained in real time by utilizing a QoS (quality of service) statistical tool operated by each simulation node in the system;
referring to fig. 4, the visual display and control subsystem has a Web-based console, which provides not only the control and interaction functions for simulation by means of command lines. Furthermore, the simulation control service module directly accesses the docker node representing the corresponding satellite through the corresponding api of the bottom layer through simulation scheduling, and performs time delay test, communication test and network simulation for bearing real service flow;
when the ping is used for time delay test, an instruction is sent from a web simulation console, and whether the satellite required by the instruction is communicated or not is judged through api calling and simulation control service according to the current satellite network topology structure and the data of the constellation communication matrix. Under the condition that the link between the satellites is visible, the link is further logged in through shh, enters a docker container representing the satellite with the corresponding number, calls a network protocol stack, sends a ping instruction, and finally returns the obtained RTT value step by step through callback;
when a real-time communication test is carried out, a user is allowed to log in a plurality of docker containers representing corresponding satellites through ssh under the condition that links among satellites are visible through simulation control services from a web simulation console instruction. And calling a network protocol tool Netcat in the container, establishing a real-time message link between two or more containers, sending the real-time message, and feeding back an information receiving and sending effect. In addition, the satellite constellation network simulation result is displayed through a constellation visualization module in the simulation system, and meanwhile, a user can control the playing mode of the simulation result through the satellite constellation network simulation control module and carry out interactive operation. The module provides a display effect of a 2D/3D mode based on an OpenGL/WebGL technology, loads and renders a corresponding 2D/3D model in a corresponding two-dimensional map or three-dimensional space model according to coordinates such as an orbit parameter calculated by a satellite constellation simulation system, and visually displays a motion mode of a satellite constellation;
therefore, the container technology and the satellite constellation design are combined with simulation, containerization construction closer to real nodes and containerization construction closer to the real nodes are realized through high-performance distributed orbit calculation, when large-scale simulation requirements are met, on the premise that the authenticity of simulation results is not sacrificed, the network simulation scale is improved by utilizing a hardware transverse capacity expansion mode, the simulation execution efficiency is ensured, the system supports experimenting various complex network topologies swiftly, and protocol design, network performance analysis, network security verification, network behavior prediction and network planning construction of the constellation network are facilitated. Traditional network simulation cannot load real network traffic, so a series of modeling assumptions have to be made on the scene factors, and although the traditional network simulation provides some network traffic models based on distribution or change rules in a statistical manner, the traditional network simulation is often far away from the behavior of actual traffic, and the real situation of the network traffic behavior is difficult to reflect. Whether the flow close to the flow behavior of the real network can be generated or not is the basis for determining whether the network simulation result meets the requirements of reliability and correctness, so that the containerization construction closer to the real node and the containerization construction closer to the real node improve the simulation efficiency and the reliability of the simulation result through high-performance distributed track calculation;
the above description is only a preferred embodiment of the present invention, and not intended to limit the scope of the present invention, and all modifications and equivalents of the present invention, which are made by the contents of the present specification and the accompanying drawings, or directly/indirectly applied to other related technical fields, are included in the scope of the present invention.