Large-scale constellation visualization method, device, equipment, storage medium and product
Through the methods of data slicing and compression, creating work pools, and batch rendering, the problem of insufficient large-scale constellation rendering performance on the Web side is solved, and efficient constellation visual rendering is achieved, which is suitable for simulation of aerospace integrated network.
Patent Information
- Application Number
- CN202411233036.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-09-04
- Publication Date
- 2024-12-10
- Estimated Expiration
- 2044-09-04
AI Technical Summary
The existing technology cannot realize efficient visual rendering of large-scale constellations on the web side, especially above hundreds of thousands of constellations, and the rendering performance is insufficient.
By acquiring large-scale satellite data, slicing and compressing data, creating several work instances to generate target work pools, determining satellite orbit position information based on the target work pool, and batch rendering is used for batch rendering, making full use of multi-core CPU and GPU resources.
It realizes efficient visual rendering of large-scale constellations on the web, improves system response speed and rendering efficiency, lowers the threshold for use, and is suitable for online simulation of aerospace integrated network.
Smart Images

Figure CN118796475B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of data processing technology, and in particular to large-scale constellation visualization methods, devices, equipment, storage media and products. Background Art
[0002] With the rapid development of network communication technology and aerospace technology, the boundaries of human cognition and exploration have expanded from the earth to deep space, resulting in an increase in the demand for various tasks such as detection and communication, which in turn has led to the expansion and integration of communication networks from ground networks to satellite networks and deep space, gradually building an integrated space-air network and a deep space communication network. The premise for realizing an integrated space-air network is to ensure the interconnection between space satellite nodes. At this time, the generation of large-scale constellations and their visualization as the basis for building satellite networks are particularly important. At present, due to the limitations of Web performance, there is no Web system on the market that can support high-performance rendering of large-scale constellations (hundreds of thousands of constellations and above).
[0003] The above contents are only used to assist in understanding the technical solution of the present application and do not constitute an admission that the above contents are prior art. Summary of the invention
[0004] The main purpose of this application is to provide a large-scale constellation visualization method, device, equipment, storage medium and product, aiming to solve the technical problem that the existing technology cannot achieve efficient visualization rendering of large-scale constellations on the Web.
[0005] To achieve the above objectives, the present application proposes a large-scale constellation visualization method, which includes:
[0006] Acquire large-scale satellite data, and determine target compressed satellite data according to the large-scale satellite data;
[0007] Creating a number of work instances, and generating a target work pool according to the number of work instances;
[0008] Determine the position information of each satellite orbit based on the target working pool and the target compressed satellite data;
[0009] The position information of each satellite orbit is batch rendered according to a batch processing strategy to obtain visualization data of the target constellation.
[0010] In one embodiment, the step of determining the position information of each satellite orbit based on the target working pool according to the target compressed satellite data includes:
[0011] Determine each satellite corresponding to the target compressed satellite data;
[0012] Counting the number of satellites of each satellite;
[0013] Dynamically allocating each work instance in the target work pool according to the number of satellites;
[0014] Obtain the real-time load data and task queue length of each work pool after dynamic allocation;
[0015] Determine a target work instance according to the real-time load data and the task queue length;
[0016] The position information of each satellite orbit is determined according to the target working example and the compressed satellite data.
[0017] In one embodiment, the step of determining the position information of each satellite orbit according to the target working instance and the compressed satellite data includes:
[0018] Starting a satellite trajectory calculation task and obtaining a data format of the satellite trajectory calculation task;
[0019] When the data format is not a preset format, performing format conversion on the satellite trajectory calculation task according to the preset format;
[0020] The satellite trajectory calculation task after format conversion is compressed according to the target data compression strategy to obtain the target compression task;
[0021] sending the target compression task and the compressed satellite data to a target work instance;
[0022] Define the shading device code;
[0023] The position information of each satellite orbit is determined based on the target working instance according to the rendering device code, the target compression task and the compressed satellite data.
[0024] In one embodiment, the step of determining the position information of each satellite orbit based on the target working instance according to the coloring device code, the target compression task and the compressed satellite data includes:
[0025] Creating a computation pipeline according to the shading device code;
[0026] Create binding groups, input and output buffers;
[0027] Binding the input and output buffers to the computing pipeline, and setting the computing pipeline and the binding group;
[0028] Decompressing the target compression task and the compressed satellite data respectively to obtain sliced satellite data and a satellite trajectory calculation task in a target format;
[0029] Upon receiving a position calculation submission command, calculating position information of each satellite orbit based on the sliced satellite data and the satellite trajectory calculation task in the target format based on the calculation pipeline and the binding group;
[0030] Accordingly, after the step of determining the position information of each satellite orbit according to the coloring device code, the target compression task and the compressed satellite data based on the target working instance, it also includes:
[0031] The position information of each satellite orbit is written into the bound input and output buffer.
[0032] In one embodiment, the step of batch rendering the position information of each satellite orbit according to a batch processing strategy to obtain visualization data of the target constellation includes:
[0033] Based on the batch processing strategy, the position information of each satellite orbit is added to the same batch processing task according to the target rendering class;
[0034] Batch rendering is performed on each position information in the same batch processing task based on the target processing device to obtain target constellation visualization data.
[0035] In one embodiment, the step of acquiring large-scale satellite data and determining target compressed satellite data according to the large-scale satellite data includes:
[0036] Acquire large-scale satellite data, and slice the large-scale satellite data according to a preset paging strategy;
[0037] Determining the data type of the large-scale satellite data;
[0038] Determining a target data compression strategy according to the data type;
[0039] The sliced satellite data is compressed according to the target data compression strategy to obtain target compressed satellite data.
[0040] In addition, to achieve the above purpose, the present application also proposes a large-scale constellation visualization device, which includes:
[0041] An acquisition module, used for acquiring large-scale satellite data, and determining target compressed satellite data according to the large-scale satellite data;
[0042] A creation module, used to create a number of work instances, and generate a target work pool according to the number of work instances;
[0043] A determination module, configured to determine the position information of each satellite orbit based on the target working pool and the target compressed satellite data;
[0044] The rendering module is used to batch render the position information of each satellite orbit according to a batch processing strategy to obtain visualization data of the target constellation.
[0045] In addition, to achieve the above-mentioned objectives, the present application also proposes a large-scale constellation visualization device, which includes: a memory, a processor, and a computer program stored in the memory and executable on the processor, and the computer program is configured to implement the steps of the large-scale constellation visualization method as described above.
[0046] In addition, to achieve the above-mentioned purpose, the present application also proposes a storage medium, which is a computer-readable storage medium, and a computer program is stored on the storage medium. When the computer program is executed by a processor, the steps of the large-scale constellation visualization method described above are implemented.
[0047] In addition, to achieve the above-mentioned purpose, the present application also provides a computer program product, which includes a computer program, and when the computer program is executed by a processor, the steps of the large-scale constellation visualization method described above are implemented.
[0048] One or more technical solutions proposed in the present application have at least the following technical effects: by acquiring large-scale satellite data, determining target compressed satellite data according to the large-scale satellite data; creating a number of work instances, and generating a target work pool according to the number of work instances; determining the position information of each satellite orbit based on the target compressed satellite data based on the target work pool; batch rendering the position information of each satellite orbit according to a batch processing strategy to obtain target constellation visualization data; in the above manner, the large-scale satellite data is compressed into target compressed satellite data to improve data processing efficiency, and then the position information of each satellite orbit is determined by using the created target work pool, realizing the separation and parallel processing of calculation and rendering, and then batch rendering is performed by using a batch processing strategy, making full use of multi-core CPU and GPU resources, thereby effectively improving the response speed and rendering efficiency of the system, and realizing efficient visualization rendering of large-scale constellations on the Web. BRIEF DESCRIPTION OF THE DRAWINGS
[0049] The accompanying drawings herein are incorporated in and constitute a part of the specification, illustrate embodiments consistent with the present application, and together with the description, are used to explain the principles of the present application.
[0050] In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, for ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative labor.
[0051] Figure 1 A schematic diagram of a process flow provided for Embodiment 1 of the large-scale constellation visualization method of the present application;
[0052] Figure 2 A schematic diagram of a flow chart provided for Embodiment 2 of the large-scale constellation visualization method of the present application;
[0053] Figure 3 A schematic diagram of the overall process of the large-scale constellation visualization method provided in Example 2 of the present application;
[0054] Figure 4 This is a schematic diagram of the module structure of a large-scale constellation visualization device according to an embodiment of the present application;
[0055] Figure 5 Schematic diagram of the device structure of the hardware operating environment involved in the large-scale constellation visualization method in the embodiment of the present application.
[0056] The purpose, features and advantages of this application will be further described in conjunction with the embodiments and with reference to the accompanying drawings. DETAILED DESCRIPTION
[0057] It should be noted that the execution subject of this embodiment may be a computing service device with data processing, network communication and program running functions, such as a tablet computer, a personal computer, a mobile phone, etc., or an electronic device capable of realizing the above functions, a target visualization system, etc. The following takes the target visualization system as an example to illustrate this embodiment and the following embodiments.
[0058] Based on this, the embodiment of the present application provides a large-scale constellation visualization method, referring to Figure 1 , Figure 1 This is a flowchart of the first embodiment of the large-scale constellation visualization method of the present application.
[0059] In this embodiment, the large-scale constellation visualization method includes steps S10 to S40:
[0060] Step S10: acquiring large-scale satellite data, and determining target compressed satellite data according to the large-scale satellite data.
[0061] It should be noted that large-scale satellite data refers to data with a satellite number greater than 100,000 or above. This large-scale satellite data can be supported by the target visualization system in this embodiment. The target visualization system can be a high-performance constellation visualization system based on WebGPU and Web Worker. It uses the parallel computing capability of WebGPU and the multi-threaded processing of Web Worker to break through the 3D rendering performance bottleneck on the Web side, fill the gap in the large-scale satellite simulation system on the Web side, and provide advanced technical support for the online simulation of the space-air integrated deep space communication network. On the other hand, compared with the client application of the prior art, it can effectively improve the visualization capability of large-scale constellations, and has significant advantages in low cost, excellent user experience, and cross-platform support. For users, there is no need to install and update software, which can lower the usage threshold and is applicable to a wider range of application scenarios.
[0062] It should be understood that the target compressed satellite data refers to satellite data that has been sliced and compressed. The purpose of compression is to effectively improve transmission efficiency and reliability and reduce network bandwidth consumption.
[0063] Further, step S10 includes: acquiring large-scale satellite data, slicing the large-scale satellite data according to a preset paging strategy; determining a data type of the large-scale satellite data; determining a target data compression strategy according to the data type; and compressing the sliced satellite data according to the target data compression strategy to obtain target compressed satellite data.
[0064] It can be understood that the preset paging strategy refers to a strategy for slicing large-scale satellite data. In this case, only a portion of the satellite data needs to be loaded each time. For example, the satellite data of the first page is loaded first, and then the satellite data of subsequent pages are loaded step by step, and the data is merged into local storage.
[0065] It should be understood that in order to effectively improve the accuracy and efficiency of data compression, it is necessary to determine the target data compression strategy according to the data type of the large-scale satellite data. At this time, the determined target data compression strategy can be a gzip compression strategy, and then the sliced satellite data is compressed into target compressed satellite data using the target data compression strategy. In addition, the data type can be determined according to the characteristic information of the large-scale satellite data.
[0066] Step S20, creating a number of work instances, and generating a target work pool according to the number of work instances.
[0067] It should be understood that when the target visualization system is initialized, it is necessary to create a number of work instances, which can be represented as Web Workers, and then use these number of work instances to generate a target work pool, where each Web Worker runs independently and will not interfere with the main thread and other Web Workers. At the same time, the WebGPU device is initialized in the main thread.
[0068] Step S30: determining the position information of each satellite orbit based on the target working pool and the target compressed satellite data.
[0069] It is understandable that the position information of each satellite orbit can be fed back by each Web Worker. For example, WebWorker1 feeds back the position information of the first satellite orbit, and Web Worker2 feeds back the position information of the second satellite orbit. At this time, there are a number of Web Workers in the target work pool.
[0070] Further, step S30 includes: determining each satellite corresponding to the target compressed satellite data; counting the satellite number of each satellite; dynamically allocating each work instance in the target work pool according to the number of satellites; obtaining real-time load data and task queue length of each work pool after dynamic allocation; determining the target work instance according to the real-time load data and the task queue length; determining the position information of each satellite orbit according to the target work instance and the compressed satellite data.
[0071] It should be understood that the number of satellites refers to the total number of satellites corresponding to the target compressed satellite data. After the number of satellites is counted, each work instance, i.e., Web Worker, is dynamically allocated according to the number of satellites. At this time, a Web Worker status table is also maintained to record the current state of each Web Worker, which includes but is not limited to idle, busy, etc. In addition, the real-time load data and task queue length of each work pool are obtained in real time to dynamically adjust the task allocation, ensure efficient use of computing resources, and avoid task blocking. The dynamic allocation mechanism is flexibly adjusted under different computing load conditions to ensure the stability and efficiency of the target visualization system. The target work instance refers to the work instance in the target work pool that is in an idle state.
[0072] Furthermore, the step of determining the position information of each satellite orbit according to the target working instance and the compressed satellite data includes: starting a satellite trajectory calculation task and obtaining a data format of the satellite trajectory calculation task; when the data format is not a preset format, converting the format of the satellite trajectory calculation task according to the preset format; compressing the satellite trajectory calculation task after the format conversion according to a target data compression strategy to obtain a target compression task; sending the target compression task and the compressed satellite data to a target working instance; defining a coloring device code; and determining the position information of each satellite orbit according to the coloring device code, the target compression task and the compressed satellite data based on the target working instance.
[0073] It is understandable that in order to ensure efficient transmission between the main thread and the working instance, a preset format is required for data transmission, which can be a binary format. After starting the satellite trajectory calculation task, it is determined whether the data format of the satellite trajectory calculation task is the preset format. If so, the satellite trajectory calculation task is directly compressed and sent to the target working instance. If not, format conversion is required, and then data compression is performed, which can significantly reduce the amount of data, improve transmission efficiency and reduce latency.
[0074] It should be understood that the shading device can be a compute shader. In WebGPU, a shading device code is defined to implement the function logic of obtaining the satellite position, and further determine the position information of each satellite orbit in combination with the transmission target compression task and the compressed satellite data.
[0075] Further, the step of determining the position information of each satellite orbit according to the coloring device code, the target compression task and the compressed satellite data based on the target working instance includes: creating a computing pipeline according to the coloring device code; creating a binding group and an input-output buffer; binding the input-output buffer to the computing pipeline, and setting the computing pipeline and the binding group; decompressing the target compression task and the compressed satellite data respectively to obtain sliced satellite data and a satellite trajectory calculation task in a target format; upon receiving a position calculation submission command, calculating the position information of each satellite orbit according to the sliced satellite data and the satellite trajectory calculation task in a target format based on the computing pipeline and the binding group; accordingly, after the step of determining the position information of each satellite orbit according to the coloring device code, the target compression task and the compressed satellite data based on the target working instance, it also includes: writing the position information of each satellite orbit into the bound input-output buffer.
[0076] It should be understood that after the shading device code is defined, the shading device code is used to create a computing pipeline. The input and output buffer refers to the buffer for parameter input and result output. At this time, the input and output buffer needs to be bound to the computing pipeline, and then the target compression task and the compressed satellite data are decompressed to obtain the original data structure of the above data. At this time, the decompressed slice satellite data and the satellite trajectory calculation task in the target format are transmitted to WebGPU, and a command encoder and a computing channel encoder are created to set the computing pipeline and the binding group. The calculation submission command refers to a command for calculating the position information of each satellite orbit. After receiving the position calculation submission command, the computing pipeline and the binding group are used to calculate the position information of each satellite orbit according to the slice satellite data and the satellite trajectory calculation task in the target format. In order to facilitate the Web Worker to obtain the calculation results from the input and output buffer, after the calculation is completed, the position information of each satellite orbit is written to the bound input and output buffer. After obtaining the position information of each satellite orbit, the Web Worker will feedback the position information of each satellite orbit to the main thread.
[0077] Step S40: batch rendering the position information of each satellite orbit according to a batch processing strategy to obtain visualization data of the target constellation.
[0078] It can be understood that the batch processing strategy refers to a strategy of using the GPU to perform batch processing according to the same batch processing tasks. In this embodiment, the batch processing can be a one-time batch rendering, thereby reducing the communication overhead between the CPU and the GPU, reducing the number of drawing calls, and improving rendering efficiency.
[0079] This embodiment acquires large-scale satellite data, determines target compressed satellite data according to the large-scale satellite data; creates a number of work instances, and generates a target work pool according to the number of work instances; determines the position information of each satellite orbit according to the target compressed satellite data based on the target work pool; batch renders the position information of each satellite orbit according to a batch processing strategy to obtain target constellation visualization data; in the above manner, the large-scale satellite data is compressed into target compressed satellite data to improve data processing efficiency, and then the position information of each satellite orbit is determined by using the created target work pool, so as to realize the separation and parallel processing of calculation and rendering, and then batch rendering is performed by using a batch processing strategy, so as to make full use of multi-core CPU and GPU resources, thereby effectively improving the response speed and rendering efficiency of the system, and realizing efficient visualization rendering of large-scale constellations on the Web side.
[0080] Based on the first embodiment of the present application, in the second embodiment of the present application, the same or similar contents as those in the above-mentioned embodiment 1 can be referred to the above introduction, and will not be repeated in the following. Figure 2, step S40 includes steps S401~S402:
[0081] Step S401 : adding the position information of each satellite orbit to the same batch processing task according to the target rendering class based on the batch processing strategy.
[0082] It should be noted that the target rendering class can be Cesium's PointPrimitiveCollection, which was introduced in Cesium version 1.44. After obtaining the position information of each satellite orbit fed back by the Web Worker, a batch processing strategy is used to add the position information of each satellite orbit to the same batch processing task, that is, for the batch processing task, there is position information of a certain number of satellite orbits.
[0083] Step S402: batch rendering each position information in the same batch of processing tasks is performed based on the target processing device to obtain target constellation visualization data.
[0084] It is understandable that the target processing device can be a GPU. After adding the position information of each satellite orbit to the same batch of processing tasks, the same batch of processing tasks is handed over to the target processing device, and the target processing device performs one-time batch rendering, thereby effectively improving the rendering efficiency.
[0085] This embodiment adds the position information of each satellite orbit to the same batch processing task according to the target rendering class based on the batch processing strategy; batch rendering is performed on each position information in the same batch processing task based on the target processing device to obtain the target constellation visualization data; through the above method, after obtaining the position information of each satellite orbit, all the above information is added to the same batch processing task according to the target rendering class by using the batch processing strategy, and then the same batch processing task is handed over to the target processing device, which performs one-time batch rendering, thereby effectively improving the rendering efficiency.
[0086] For example, to help understand the implementation process of the large-scale constellation visualization method obtained by combining this embodiment with the above-mentioned embodiment 1, please refer to Figure 3 , Figure 3 A schematic diagram of the overall process of a large-scale constellation visualization method is provided, specifically:
[0087] The target visualization system in this embodiment is divided into a main thread, a Web Worker, and a WebGPU. The specific process is as follows: the WebGPU device is initialized in the main thread, and during initialization, a number of work instances are created, and a target work pool is generated according to the number of work instances. Then, a Web Worker is created according to the number of satellites through dynamic allocation, and a WebWorker state table is maintained to record the current state of each Web Worker. The real-time load data and task queue length of each work pool are obtained in real time to dynamically adjust the task allocation. Then, the target Web Worker is determined. The target Web Worker is in a space state. At this time, the satellite orbit computer task is also started, and the data format of the satellite orbit computer task is judged. When it is in a preset format, the satellite orbit computer task is sent to the target Web Worker. Then, the target Web Worker defines the shading device code, creates a computing channel according to the shading device code, and then creates an input and output buffer, and binds the input and output buffer to the computing channel. Then, a command encoder and a computing channel encoder are created, and a computing pipeline and a binding group are set. Finally, after receiving the computing submission command, the Compute Shader reads satellite data, calculates the position information of each satellite orbit, and writes the position information of each satellite orbit to the bound input and output buffer. After the target Web Worker obtains the position information from the input and output buffer, it feeds the above position information back to the main thread and performs one-time batch rendering, which can effectively improve rendering efficiency.
[0088] It should be noted that the above examples are only used to understand the present application and do not constitute a limitation on the large-scale constellation visualization method of the present application. More simple transformations based on this technical concept are all within the protection scope of the present application.
[0089] This application also provides a large-scale constellation visualization device, please refer to Figure 4 , the large-scale constellation visualization device comprises:
[0090] The acquisition module 10 is used to acquire large-scale satellite data and determine target compressed satellite data according to the large-scale satellite data.
[0091] The creation module 20 is used to create a number of work instances and generate a target work pool according to the number of work instances.
[0092] The determination module 30 is used to determine the position information of each satellite orbit based on the target working pool according to the target compressed satellite data.
[0093] The rendering module 40 is used to batch render the position information of each satellite orbit according to a batch processing strategy to obtain visualization data of the target constellation.
[0094] This embodiment acquires large-scale satellite data, determines target compressed satellite data according to the large-scale satellite data; creates a number of work instances, and generates a target work pool according to the number of work instances; determines the position information of each satellite orbit according to the target compressed satellite data based on the target work pool; batch renders the position information of each satellite orbit according to a batch processing strategy to obtain target constellation visualization data; in the above manner, the large-scale satellite data is compressed into target compressed satellite data to improve data processing efficiency, and then the position information of each satellite orbit is determined by using the created target work pool, so as to realize the separation and parallel processing of calculation and rendering, and then batch rendering is performed by using a batch processing strategy, so as to make full use of multi-core CPU and GPU resources, thereby effectively improving the response speed and rendering efficiency of the system, and realizing efficient visualization rendering of large-scale constellations on the Web side.
[0095] The large-scale constellation visualization device provided by the present application adopts the large-scale constellation visualization method in the above embodiment, which can solve the technical problem that the prior art cannot realize efficient visualization rendering of large-scale constellations on the Web. Compared with the prior art, the beneficial effects of the large-scale constellation visualization device provided by the present application are the same as the beneficial effects of the large-scale constellation visualization method provided by the above embodiment, and other technical features in the large-scale constellation visualization device are the same as the features disclosed in the above embodiment method, which will not be repeated here.
[0096] In one embodiment, the acquisition module 10 is further used to acquire large-scale satellite data, slice the large-scale satellite data according to a preset paging strategy; determine a data type of the large-scale satellite data; determine a target data compression strategy according to the data type; and compress the sliced satellite data according to the target data compression strategy to obtain target compressed satellite data.
[0097] In one embodiment, the determination module 30 is also used to determine the satellites corresponding to the target compressed satellite data; count the satellite number of each satellite; dynamically allocate each work instance in the target work pool according to the number of satellites; obtain the real-time load data and task queue length of each work pool after dynamic allocation; determine the target work instance according to the real-time load data and the task queue length; determine the position information of each satellite orbit according to the target work instance and the compressed satellite data.
[0098] In one embodiment, the determination module 30 is further used to start a satellite trajectory calculation task and obtain a data format of the satellite trajectory calculation task; when the data format is not a preset format, convert the format of the satellite trajectory calculation task according to the preset format; compress the satellite trajectory calculation task after the format conversion according to a target data compression strategy to obtain a target compression task; send the target compression task and the compressed satellite data to a target working instance; define a coloring device code; and determine the position information of each satellite orbit based on the target working instance according to the coloring device code, the target compression task and the compressed satellite data.
[0099] In one embodiment, the determination module 30 is also used to create a computing pipeline according to the shading device code; create a binding group and an input-output buffer; bind the input-output buffer to the computing pipeline, and set the computing pipeline and the binding group; decompress the target compression task and the compressed satellite data respectively to obtain sliced satellite data and a satellite trajectory calculation task in a target format; when receiving a position calculation submission command, calculate the position information of each satellite orbit based on the computing pipeline and the binding group according to the sliced satellite data and the satellite trajectory calculation task in the target format; and write the position information of each satellite orbit into the bound input-output buffer.
[0100] In one embodiment, the rendering module 40 is also used to add the position information of each satellite orbit to the same batch processing task according to the target rendering class based on the batch processing strategy; batch render the various position information in the same batch processing task based on the target processing device to obtain the target constellation visualization data.
[0101] The present application provides a large-scale constellation visualization device, which includes: at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor so that the at least one processor can execute the large-scale constellation visualization method in the above-mentioned embodiment 1.
[0102] Reference below Figure 5, which shows a schematic diagram of the structure of a large-scale constellation visualization device suitable for implementing the embodiment of the present application. The large-scale constellation visualization device in the embodiment of the present application may include but is not limited to mobile terminals such as mobile phones, laptop computers, digital broadcast receivers, PDAs (Personal Digital Assistants), PADs (Portable Application Descriptions), PMPs (Portable Media Players), vehicle-mounted terminals (such as vehicle-mounted navigation terminals), etc., and fixed terminals such as digital TVs, desktop computers, etc. Figure 5 The large-scale constellation visualization device shown is only an example and should not bring any limitation to the functions and scope of use of the embodiments of the present application.
[0103] like Figure 5 As shown, the large-scale constellation visualization device may include a processing device 1001 (e.g., a central processing unit, a graphics processor, etc.), which can perform various appropriate actions and processes according to a program stored in a read-only memory (ROM: Read Only Memory) 1002 or a program loaded from a storage device 1003 to a random access memory (RAM: Random Access Memory) 1004. In RAM1004, various programs and data required for the operation of the large-scale constellation visualization device are also stored. The processing device 1001, ROM1002, and RAM1004 are connected to each other through a bus 1005. An input / output (I / O) interface 1006 is also connected to the bus. Generally, the following systems can be connected to the I / O interface 1006: an input device 1007 including, for example, a touch screen, a touch pad, a keyboard, a mouse, an image sensor, a microphone, an accelerometer, a gyroscope, etc.; an output device 1008 including, for example, a liquid crystal display (LCD: Liquid Crystal Display), a speaker, a vibrator, etc.; a storage device 1003 including, for example, a magnetic tape, a hard disk, etc.; and a communication device 1009. The communication device 1009 may allow the large-scale constellation visualization device to communicate with other devices wirelessly or by wire to exchange data. Although the large-scale constellation visualization device with various systems is shown in the figure, it should be understood that it is not required to implement or have all the systems shown. More or fewer systems may be implemented or have instead.
[0104] In particular, according to the embodiments disclosed in the present application, the process described above with reference to the flowchart can be implemented as a computer software program. For example, the embodiments disclosed in the present application include a computer program product, which includes a computer program carried on a computer-readable medium, and the computer program includes a program code for executing the method shown in the flowchart. In such an embodiment, the computer program can be downloaded and installed from a network through a communication device, or installed from a storage device 1003, or installed from a ROM 1002. When the computer program is executed by the processing device 1001, the above-mentioned functions defined in the method of the embodiment disclosed in the present application are executed.
[0105] The large-scale constellation visualization device provided by the present application adopts the large-scale constellation visualization method in the above embodiment, which can solve the technical problem that the prior art cannot realize efficient visualization rendering of large-scale constellations on the Web. Compared with the prior art, the beneficial effects of the large-scale constellation visualization device provided by the present application are the same as the beneficial effects of the large-scale constellation visualization method provided by the above embodiment, and other technical features in the large-scale constellation visualization device are the same as the features disclosed in the method of the previous embodiment, which will not be repeated here.
[0106] It should be understood that the various parts disclosed in this application can be implemented by hardware, software, firmware or a combination thereof. In the description of the above embodiments, specific features, structures, materials or characteristics can be combined in any one or more embodiments or examples in a suitable manner.
[0107] The above is only a specific implementation of the present application, but the protection scope of the present application is not limited thereto. Any person skilled in the art who is familiar with the present technical field can easily think of changes or substitutions within the technical scope disclosed in the present application, which should be included in the protection scope of the present application. Therefore, the protection scope of the present application should be based on the protection scope of the claims.
[0108] The present application provides a computer-readable storage medium having computer-readable program instructions (ie, computer programs) stored thereon, and the computer-readable program instructions are used to execute the large-scale constellation visualization method in the above-mentioned embodiment.
[0109] The computer-readable storage medium provided in the present application may be, for example, a USB flash drive, but is not limited to electrical, magnetic, optical, electromagnetic, infrared, or semiconductor systems, systems or devices, or any combination of the above. More specific examples of computer-readable storage media may include, but are not limited to: an electrical connection with one or more wires, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM: Erasable Programmable Read Only Memory or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM: CD-Read Only Memory), an optical storage device, a magnetic storage device, or any suitable combination of the above. In this embodiment, the computer-readable storage medium may be any tangible medium containing or storing a program that can be used by or in combination with an instruction execution system, system or device. The program code contained on the computer-readable storage medium may be transmitted using any appropriate medium, including but not limited to: wires, optical cables, RF (Radio Frequency), etc., or any suitable combination of the above.
[0110] The computer-readable storage medium may be included in the large-scale constellation visualization device; or may exist independently without being assembled into the large-scale constellation visualization device.
[0111] Computer program code for performing the operations of the present application may be written in one or more programming languages or a combination thereof, including object-oriented programming languages such as Java, Smalltalk, C++, and conventional procedural programming languages such as "C" or similar programming languages. The program code may be executed entirely on the user's computer, partially on the user's computer, as a separate software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In the case of a remote computer, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computer (e.g., via the Internet using an Internet service provider).
[0112] The flow chart and block diagram in the accompanying drawings illustrate the possible architecture, function and operation of the system, method and computer program product according to various embodiments of the present application. In this regard, each box in the flow chart or block diagram can represent a module, a program segment or a part of a code, and the module, the program segment or a part of the code contains one or more executable instructions for realizing the specified logical function. It should also be noted that in some alternative implementations, the functions marked in the box can also occur in a sequence different from that marked in the accompanying drawings. For example, two boxes represented in succession can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each box in the block diagram and / or flow chart, and the combination of the boxes in the block diagram and / or flow chart can be implemented with a dedicated hardware-based system that performs a specified function or operation, or can be implemented with a combination of dedicated hardware and computer instructions.
[0113] The modules involved in the embodiments described in this application may be implemented by software or hardware, wherein the name of the module does not constitute a limitation on the unit itself in some cases.
[0114] The readable storage medium provided in the present application is a computer-readable storage medium, which stores computer-readable program instructions (i.e., computer programs) for executing the above-mentioned large-scale constellation visualization method, and can solve the technical problem that the prior art cannot realize efficient visualization rendering of large-scale constellations on the Web. Compared with the prior art, the beneficial effects of the computer-readable storage medium provided in the present application are the same as the beneficial effects of the large-scale constellation visualization method provided in the above-mentioned embodiment, and will not be repeated here.
[0115] The present application also provides a computer program product, including a computer program, which implements the steps of the large-scale constellation visualization method as described above when executed by a processor.
[0116] The computer program product provided by this application can solve the technical problem that the prior art cannot realize efficient visualization rendering of large-scale constellations on the Web. Compared with the prior art, the beneficial effects of the computer program product provided by this application are the same as the beneficial effects of the large-scale constellation visualization method provided by the above embodiment, which will not be repeated here.
[0117] The above descriptions are only some embodiments of the present application, and are not intended to limit the patent scope of the present application. All equivalent structural changes made using the contents of the present application specification and drawings under the technical concept of the present application, or direct / indirect applications in other related technical fields are included in the patent protection scope of the present application.
Claims
1. A large-scale constellation visualization method, characterized in that: The method comprises: Acquire large-scale satellite data, and determine target compressed satellite data according to the large-scale satellite data; Creating a number of work instances, and generating a target work pool according to the number of work instances; Determine the position information of each satellite orbit based on the target working pool and the target compressed satellite data; The position information of each satellite orbit is batch rendered according to a batch processing strategy to obtain visualization data of the target constellation; The step of determining the position information of each satellite orbit based on the target working pool according to the target compressed satellite data comprises: Determine each satellite corresponding to the target compressed satellite data; Counting the number of satellites of each satellite; Dynamically allocating each work instance in the target work pool according to the number of satellites; Obtain the real-time load data and task queue length of each work pool after dynamic allocation; Determine a target work instance according to the real-time load data and the task queue length; The position information of each satellite orbit is determined according to the target working example and the compressed satellite data.
2. The method according to claim 1, characterized in that The step of determining the position information of each satellite orbit according to the target working example and the compressed satellite data comprises: Starting a satellite trajectory calculation task and obtaining a data format of the satellite trajectory calculation task; When the data format is not a preset format, converting the format of the satellite trajectory calculation task according to the preset format; Compress the satellite trajectory calculation task after format conversion according to the target data compression strategy to obtain the target compression task; sending the target compression task and the compressed satellite data to a target work instance; Define the shading device code; The position information of each satellite orbit is determined based on the target working instance according to the rendering device code, the target compression task and the compressed satellite data.
3. The method according to claim 2, characterized in that The step of determining the position information of each satellite orbit based on the target working instance according to the coloring device code, the target compression task and the compressed satellite data includes: creating a computation pipeline according to the shading device code; Create binding groups, input and output buffers; Binding the input and output buffers to the computing pipeline, and setting the computing pipeline and the binding group; Decompressing the target compression task and the compressed satellite data respectively to obtain sliced satellite data and a satellite trajectory calculation task in a target format; Upon receiving a position calculation submission command, calculating position information of each satellite orbit based on the sliced satellite data and the satellite trajectory calculation task in the target format based on the calculation pipeline and the binding group; Accordingly, after the step of determining the position information of each satellite orbit according to the coloring device code, the target compression task and the compressed satellite data based on the target working instance, it also includes: The position information of each satellite orbit is written into the bound input and output buffer.
4. The method according to any one of claims 1 to 3, characterized in that The step of batch rendering the position information of each satellite orbit according to the batch processing strategy to obtain visualization data of the target constellation includes: Based on the batch processing strategy, the position information of each satellite orbit is added to the same batch processing task according to the target rendering class; Batch rendering is performed on each position information in the same batch processing task based on the target processing device to obtain target constellation visualization data.
5. The method according to claim 1, characterized in that The step of acquiring large-scale satellite data and determining target compressed satellite data according to the large-scale satellite data comprises: Acquire large-scale satellite data, and slice the large-scale satellite data according to a preset paging strategy; Determining the data type of the large-scale satellite data; Determining a target data compression strategy according to the data type; The sliced satellite data is compressed according to the target data compression strategy to obtain target compressed satellite data.
6. A large-scale constellation visualization device, characterized in that: The device comprises: An acquisition module, used for acquiring large-scale satellite data, and determining target compressed satellite data according to the large-scale satellite data; A creation module, used to create a number of work instances, and generate a target work pool according to the number of work instances; A determination module, configured to determine the position information of each satellite orbit based on the target working pool and the target compressed satellite data; A rendering module, used for batch rendering the position information of each satellite orbit according to a batch processing strategy to obtain visualization data of the target constellation; The determination module is also used to determine the satellites corresponding to the target compressed satellite data; count the satellite numbers of the satellites; dynamically allocate the work instances in the target work pool according to the number of satellites; obtain the real-time load data and task queue length of each work pool after dynamic allocation; determine the target work instance according to the real-time load data and the task queue length; and determine the position information of each satellite orbit according to the target work instance and the compressed satellite data.
7. A large-scale constellation visualization device, characterized in that: The device comprises: a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the computer program is configured to implement the steps of the large-scale constellation visualization method according to any one of claims 1 to 5.
8. A storage medium, characterized in that: The storage medium is a computer-readable storage medium, on which a computer program is stored. When the computer program is executed by a processor, the steps of the large-scale constellation visualization method according to any one of claims 1 to 5 are implemented.
9. A computer program product, characterized in that The computer program product comprises a computer program, and when the computer program is executed by a processor, the steps of the large-scale constellation visualization method according to any one of claims 1 to 5 are implemented.
