Satellite orbit data loading and rendering method and device based on time slices and medium

By adopting a time-slicing method on the client, gradually loading and rendering satellite orbit data, the problem of client crashes and frame skipping in the existing technology is solved, and a smoother user experience is achieved.

CN119988764APending Publication Date: 2025-05-13NANJING ZHONGKE JINGSHANG COMM TECH CO LTD
View PDF 0 Cites 2 Cited by

Patent Information

Application Number
CN202510002633.4
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-01-02
Publication Date
2025-05-13

AI Technical Summary

Technical Problem

When the prior art loads and renders massive satellite orbit data, the client is prone to crash and get stuck due to excessive data volume, and the fixed-cycle push method leads to serious frame skipping, affecting fluency and user experience.

Method used

Using a time slice-based method, by obtaining the simulation time period and setting the current rendering time point, determining the target time slice, and monitoring the data pushed by the server, gradually loading and rendering the satellite orbit data until the current rendering time point reaches the simulation termination node.

Benefits of technology

It reduces the loading and rendering pressure of satellite orbit data by the client, avoids frame skipping, and improves fluency and user viewing experience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119988764A_ABST
    Figure CN119988764A_ABST
Patent Text Reader

Abstract

The invention discloses a satellite orbit data loading and rendering method and device based on time slices and a medium, and belongs to the field of satellite orbit simulation, the method is applied to a client loaded with a simulation rendering program, and the method comprises the following steps: obtaining a simulation time period formed by a simulation starting node and a simulation termination node; setting a current rendering time point according to the simulation starting node; determining a target time slice in the simulation time period according to the current rendering time point and a preset slice period; monitoring the server to obtain satellite orbit data of the target time slice; performing simulation rendering operation on the satellite orbit data through the simulation rendering program to generate satellite rendering data; and in the execution process of the simulation rendering operation, updating the current rendering time point and the target time slice according to the rendering progress and the slice period until the current rendering time point reaches the simulation termination node. According to the invention, the loading rendering pressure of the client on the satellite orbit data can be reduced, the fluency is improved, and the watching experience of a user is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of satellite orbit simulation technology, and in particular to a method, device and medium for loading and rendering satellite orbit data based on time slicing. Background Art

[0002] In the related art, when loading and rendering massive amounts of satellite orbit data, due to the performance limitations of the client, the amount of data that the client can load at one time is limited. Loading and rendering massive amounts of satellite orbit data at one time may cause the client browser to crash and get stuck. In order to alleviate this problem, the current method for loading satellite orbit data is to enable the server to push the satellite orbit data of a single moment according to a fixed period. However, this loading method will cause the client to only be able to display the static data of the single moment, and after the server pushes the satellite orbit data of the next moment according to the fixed period, the client will jump to display the static data of the next moment, causing serious frame skipping, which affects the smoothness and user experience when loading and rendering satellite orbit data. Summary of the invention

[0003] The present invention aims to solve at least one of the technical problems existing in the prior art. To this end, the present invention proposes a method, device and medium for loading and rendering satellite orbit data based on time slicing, which can reduce the loading and rendering pressure of satellite orbit data on the client and improve the user's viewing experience.

[0004] A method for loading and rendering satellite orbit data based on time slicing according to an embodiment of the first aspect of the present invention is applied to a client, wherein the client is loaded with a simulation rendering program, and the method comprises: Obtain a simulation time period formed by a simulation start node and a simulation end node; Setting a current rendering time point of the simulation rendering program according to the simulation start node; Determine a target time slice within the simulation time period according to the current rendering time point and a preset slice period, wherein the target time slice is a time period of the current target rendering of the simulation rendering program; Monitor the push data of the server to obtain the satellite orbit data corresponding to the target time slice; Through the simulation rendering program, a simulation rendering operation is performed on the satellite orbit data to generate satellite rendering data corresponding to the target time slice; during the execution of the simulation rendering operation, the current rendering time point is updated according to the rendering progress of the simulation rendering operation, and when the current rendering time point reaches the end node of the target time slice, the target time slice is updated according to the end node of the target time slice and the slice period until the current rendering time point reaches the simulation termination node.

[0005] The satellite orbit data loading and rendering method based on time slicing according to an embodiment of the present invention has at least the following beneficial effects: by obtaining a simulation time period, setting the current rendering time point of the simulation rendering program according to the simulation start node therein, and determining the target time slice within the simulation time period according to the current rendering time point and the slicing period, the simulation process is sliced ​​on the time scale starting from the simulation start node, thereby indirectly slicing the massive satellite orbit data, and at the same time, the corresponding satellite orbit data is obtained by monitoring the push data of the server, and the simulation rendering program is used to perform simulation rendering operations on the satellite orbit data to generate satellite rendering data for output display, and in the simulation rendering operation During the execution of the operation, the current rendering time point is kept updated according to the rendering progress, and when the current rendering time point reaches the end node of the target time slice, the target time slice is updated in combination with the slicing cycle, so that the target time slice is also kept updated, and the satellite orbit data of the entire simulation process are sliced ​​accordingly until the current rendering time point reaches the simulation termination node and the simulation ends. Compared with the client that can only load static data, the present invention realizes slicing of satellite orbit data in the process of loading and rendering satellite orbit data, reduces the loading and rendering pressure of the client, and allows the client to output dynamic data without excessive operating pressure, thereby improving fluency and improving the user's viewing experience.

[0006] According to some embodiments of the present invention, the step of performing a simulation rendering operation on the satellite orbit data includes: In response to the satellite orbit data corresponding to the current rendering time point not existing locally, updating the target time slice according to the current rendering time point and the slice period, wherein the starting node of the updated target time slice is the current rendering time point; Determine the updated target time slice as the time slice to be requested, and request the satellite orbit data of the time slice to be requested from the server; The simulation rendering operation is performed on the satellite orbit data corresponding to the current rendering time point through the simulation rendering program.

[0007] According to some embodiments of the present invention, after the step of requesting the satellite orbit data of the time slice to be requested from the server, the step further includes: In response to monitoring that the number of times that the satellite orbit data is not found reaches a first preset number of times, enlarging the slicing period according to a first preset ratio; The target time slice and the time slice to be requested are updated based on the enlarged slice period, and the step of requesting the satellite orbit data of the time slice to be requested from the server is returned to be executed.

[0008] According to some embodiments of the present invention, after the step of updating the current rendering time point according to the rendering progress of the simulation rendering operation, the method further includes: In response to the current rendering time point reaching an intermediate node of the target time slice, determining a next time slice according to the target time slice and the slice period; The next time slice is determined as the time slice to be requested, and the satellite orbit data of the time slice to be requested is requested from the server.

[0009] According to some embodiments of the present invention, the step of requesting the satellite orbit data of the requested time slice from the server includes: Determine the time node closer to the simulation start node among the end node of the time slice to be requested and the simulation end node as the target end node; Request the satellite orbit data between the starting node and the target ending node of the requested time slice from the server.

[0010] According to some embodiments of the present invention, the step of requesting the satellite orbit data of the requested time slice from the server includes: Temporarily storing a request instruction for requesting the satellite orbit data from the server, wherein the request instruction includes the time slice to be requested and the target satellite; Determine whether there are two or more request instructions that meet preset conditions within a preset time interval, where the preset conditions include that the time slices to be requested are the same and the corresponding target satellites have an intersection; When it is determined that there is, combining the request instructions that meet the preset conditions into a target request instruction, and sending the target request instruction to the server to request the corresponding satellite orbit data; When it is determined that the satellite orbit data does not exist, the temporarily stored request instructions are sent to the server to request the corresponding satellite orbit data respectively.

[0011] According to some embodiments of the present invention, the step of generating satellite rendering data corresponding to the target time slice comprises: Outputting the satellite rendering data through the browser of the client, and monitoring the output frame rate of the satellite rendering data; In response to the time nodes at which the output frame rate is continuously less than the preset frame rate reaching a second preset number of times, the slicing period is reduced according to a second preset ratio.

[0012] According to some embodiments of the present invention, the step of monitoring the push data of the server includes: The satellite orbit data pushed by the server is stored locally; Determine the number of time slices corresponding to the locally stored satellite orbit data. When the number of time slices is greater than 3, clear the satellite orbit data of redundant time slices, where the redundant time slices include time slices other than the target time slice, the previous time slice of the target time slice, and the next time slice.

[0013] To achieve the above object, another aspect of an embodiment of the present invention provides a device for loading and rendering satellite orbit data based on time slicing, the device comprising: An input module, the input module is used to obtain a simulation time period formed by a simulation start node and a simulation end node; A simulation time control module, the simulation time control module is used to set the current rendering time point of the simulation rendering program according to the simulation start node; determine the target time slice within the simulation time period according to the current rendering time point and a preset slice period, the target time slice being the time period of the current target rendering of the simulation rendering program; A monitoring module, the monitoring module is used to monitor the push data of the server to obtain the satellite orbit data corresponding to the target time slice; A rendering module, the rendering module is used to perform a simulation rendering operation on the satellite orbit data through the simulation rendering program to generate satellite rendering data corresponding to the target time slice; The simulation time control module is also used to update the current rendering time point according to the rendering progress of the simulation rendering operation during the execution of the simulation rendering operation, and when the current rendering time point reaches the end node of the target time slice, update the target time slice according to the end node of the target time slice and the slice period until the current rendering time point reaches the simulation termination node.

[0014] To achieve the above objective, another aspect of an embodiment of the present invention provides a computer-readable storage medium, wherein the computer-readable storage medium stores a computer program, and the computer program implements the above method when executed by a processor.

[0015] Additional aspects and advantages of the present invention will be set forth in part in, and in part will be apparent from, the description which follows. BRIEF DESCRIPTION OF THE DRAWINGS

[0016] The present invention will be further described below with reference to the accompanying drawings and embodiments, wherein: Figure 1 A flowchart of a method for loading and rendering satellite orbit data based on time slicing provided by an embodiment of the present invention; Figure 2This is a schematic diagram of the architecture between the client and the server in an embodiment of the present invention; Figure 3 for Figure 1 Flowchart of some steps in step S105; Figure 4 for Figure 1 Another flow chart of some steps in step S105; Figure 5 A schematic structural diagram of a satellite orbit data loading and rendering device based on time slicing provided by an embodiment of the present invention. DETAILED DESCRIPTION

[0017] Embodiments of the present invention are described in detail below, examples of which are shown in the accompanying drawings, wherein the same or similar reference numerals throughout represent the same or similar elements or elements having the same or similar functions. The embodiments described below with reference to the accompanying drawings are exemplary and are only used to explain the present invention, and cannot be understood as limiting the present invention.

[0018] In the description of the present invention, it should be understood that descriptions involving orientations, such as up, down, front, back, left, right, etc., and orientations or positional relationships indicated are based on the orientations or positional relationships shown in the accompanying drawings, and are only for the convenience of describing the present invention and simplifying the description, and do not indicate or imply that the device or element referred to must have a specific orientation, be constructed and operated in a specific orientation, and therefore should not be understood as a limitation on the present invention.

[0019] In the description of the present invention, "several" means more than one, "many" means more than two, "greater than", "less than", "exceed", etc. are understood to exclude the number itself, and "above", "below", "within", etc. are understood to include the number itself. If there is a description of "first" or "second", it is only used for the purpose of distinguishing the technical features, and cannot be understood as indicating or implying the relative importance or implicitly indicating the number of the indicated technical features or implicitly indicating the order of the indicated technical features.

[0020] In the description of the present invention, unless otherwise clearly defined, terms such as setting, installing, connecting, etc. should be understood in a broad sense, and technicians in the relevant technical field can reasonably determine the specific meanings of the above terms in the present invention based on the specific content of the technical solution.

[0021] In the description of the present invention, the description with reference to the terms "one embodiment", "some embodiments", "illustrative embodiments", "examples", "specific examples", or "some examples" means that the specific features, structures, materials or characteristics described in conjunction with the embodiment or example are included in at least one embodiment or example of the present invention. In this specification, the schematic representation of the above terms does not necessarily refer to the same embodiment or example. Moreover, the specific features, structures, materials or characteristics described may be combined in any one or more embodiments or examples in a suitable manner.

[0022] In the current field of earth observation and satellite data processing, various technologies based on geographic information systems (GIS) and three-dimensional maps have been widely used to achieve satellite data visualization, including real-time rendering and display of satellite images. CesiumJS, as an open source WebGIS toolkit, provides powerful three-dimensional map rendering capabilities and supports the display and interaction of large-scale satellite data. On the other hand, with the maturity of current satellite Internet technology and the construction of a large number of low-Earth orbit satellite constellations, the number of satellites in space is increasing rapidly, which also means that the satellite orbit data that needs to be rendered is growing rapidly.

[0023] Currently, the visualization rendering of satellite orbit data is based on the CS (Client-Server) architecture. On the server side, multiple orbit calculation servers are set up to efficiently calculate the data required for satellite visualization rendering using distributed computing. Distributed computing refers to a computing model that uses multiple computers or multiple processors to complete a computing task. Each computer or processor can run independently and communicate and coordinate through the network to complete the overall task. Parallel computing refers to a computing model that performs multiple computing tasks or operations simultaneously on a single computer or multiple computers. It speeds up the completion of a single task by processing multiple computing tasks simultaneously.

[0024] On the client side, there are obvious performance limitations. The amount of data that the client can load at one time is limited. Loading and rendering a large amount of satellite orbit data at one time may cause the client browser to crash and freeze. In order to alleviate this problem, the current loading method is to enable the server to push the satellite orbit data of a single moment according to a fixed period. However, this loading method will cause the client to only display the static data of the single moment. After the server pushes the satellite orbit data of the next moment according to the fixed period, the client will jump to display the static data of the next moment, causing serious frame skipping, affecting the smoothness and user experience when loading and rendering satellite orbit data.

[0025] In view of this, a method for loading and rendering satellite orbit data based on time slicing is provided in an embodiment of the present application, which is applied to a client and relates to the field of satellite orbit simulation technology. The method for loading and rendering satellite orbit data based on time slicing provided in an embodiment of the present application can be applied to a terminal. In some embodiments, the terminal can be a smart phone, a tablet computer, a laptop computer, a desktop computer, a smart speaker, a smart watch, and a vehicle-mounted terminal, etc., but is not limited thereto.

[0026] The present application can be used in many general or special computer system environments or configurations. For example: personal computers, handheld or portable devices, tablet devices, multiprocessor systems, microprocessor-based systems, set-top boxes, programmable consumer electronic devices, network PCs, minicomputers, mainframe computers, etc. The present application can be described in the general context of computer-executable instructions executed by a computer, such as program modules. Generally, program modules include routines, programs, objects, components, data structures, etc. that perform specific tasks or implement specific abstract data types.

[0027] Figure 1 is an optional flowchart of a method for loading and rendering satellite orbit data based on time slicing provided in an embodiment of the present application. Figure 1 The method may include but is not limited to steps S101 to S105, specifically: Step S101, obtaining a simulation time period formed by a simulation start node and a simulation end node.

[0028] In the embodiment of the present application, the client is loaded with a simulation rendering program and a browser, referring to Figure 2 , Figure 2 This is a schematic diagram of the architecture between the client and the server of the embodiment of the present application, wherein the client and the server are implemented based on the CS architecture, and the server side includes several servers for implementing different functions, including a data push server and a scene server, wherein the scene server includes multiple orbit calculation servers for calculating satellite orbit data, and the client side includes at least a simulation rendering program and a browser, and the rendering module is equivalent to the simulation rendering program. Figure 2 For other modules on the client side, please refer to the subsequent instructions.

[0029] The simulation rendering program is used to perform simulation rendering operations on satellite orbit data, and the browser is used to output and display the satellite rendering data obtained by rendering so that users can watch it.

[0030] In the simulation rendering program, users can customize the satellite orbit conditions of the time period they want to view. This time period is the simulation time period. The simulation time period is defined by two time nodes: the simulation start node and the simulation end node. It can be understood that the premise for executing simulation rendering is the existence of corresponding satellite orbit data on the server side. Therefore, the setting of the simulation time period is also limited to a time period before the current moment of real time.

[0031] Step S102, setting the current rendering time point of the simulation rendering program according to the simulation start node.

[0032] The simulation rendering program is set to perform simulation rendering operations starting from the simulation start node and terminating at the simulation end node, wherein the current rendering time point is defined to represent the time node currently rendered by the simulation rendering program to characterize the rendering progress. Therefore, at the beginning of the simulation, the current rendering time point is set to the simulation start node.

[0033] Secondly, during the simulation rendering operation, the client also listens to whether an update command for the current rendering time point is received. When an update command is received, the current rendering time point is modified according to the update command. The update command is actually a command for adjusting the current rendering time point input by the user through the operation client. Based on the update command, the current rendering time point can jump within the simulation time period.

[0034] Step S103, determining a target time slice within the simulation time period according to the current rendering time point and a preset slice period, where the target time slice is the current target rendering time period of the simulation rendering program.

[0035] In order to solve the problem in the prior art that the client either has to load and render massive amounts of data at one time or can only display static data, the embodiments of the present application propose slicing periods and target time slices, wherein the slicing period is used to determine how long a period of satellite orbit data the client loads and renders each time, for example 10 minutes or 15 minutes, and the entire simulation time period is divided into multiple time slices according to the slicing period, wherein the time period for the current target rendering of the simulation rendering program is defined as the target time slice, and thus by slicing on a time scale, corresponding slicing of the satellite orbit data is achieved, thereby reducing the loading and rendering pressure on the client and preventing the client from having excessive operating pressure when outputting dynamic data.

[0036] Specifically, at the beginning of the simulation, the current rendering time point is the simulation start node. At this time, the target time slice is [simulation start node, simulation start node + slice period]. During the subsequent simulation rendering operation, the target time slice is also updated with the current rendering time point, and the current rendering time point must fall within the target time slice.

[0037] Step S104: monitor the push data of the server to obtain the satellite orbit data corresponding to the target time slice.

[0038] On the other hand, satellite orbit data is obtained from the server. After opening the front-end page, the client starts to connect to the server's push service and registers WebSocket information. WebSocket is a protocol for full-duplex communication on a single TCP connection. Based on this protocol, the client's request operations to the server and the server's push operations to the client can be carried out continuously and efficiently. After the front-end subscribes to the WebSocket information, the client starts to listen to the server's push data, and determines whether the server has pushed satellite orbit data to the client by listening, thereby obtaining the satellite orbit data corresponding to the target time slice.

[0039] It should be noted that the monitoring operation of the client on the server lasts throughout the entire simulation process. Therefore, in the embodiment of the present application, the execution order between step S104 and other steps is not limited, or it can be described as step S104 and step S101 being executed simultaneously until the current rendering time point in step S105 reaches the simulation termination node, that is, the simulation ends. Figure 1 The step S104 is divided into: step S106, monitoring the push data of the server; and step S107, obtaining the satellite orbit data corresponding to the target time slice.

[0040] The monitoring function is implemented by Figure 2 The monitoring module implementation shown.

[0041] Step S105, through the simulation rendering program, perform a simulation rendering operation on the satellite orbit data to generate satellite rendering data corresponding to the target time slice; during the execution of the simulation rendering operation, update the current rendering time point according to the rendering progress of the simulation rendering operation, and when the current rendering time point reaches the end node of the target time slice, update the target time slice according to the end node and slice period of the target time slice until the current rendering time point reaches the simulation termination node.

[0042] Based on the above steps, a simulation rendering operation of the satellite orbit data is performed through a simulation rendering program. In an embodiment of the present application, the simulation rendering program is a CesiumJS rendering engine. In other embodiments, other rendering engines can also be used to define the satellite orbit data processed by the simulation rendering operation as satellite rendering data. The satellite rendering data is also the data output and displayed on the client browser. In this way, the process of loading, rendering and outputting the satellite orbit data is completed.

[0043] Furthermore, during the execution of the simulation rendering operation, the current rendering time point is continuously updated according to the rendering progress of the simulation rendering operation, and the update of the target time slice is to determine whether the current rendering time point reaches the end node of the target time slice. When it is determined to have reached, the updated target time slice can be determined in combination with the slice period. The updated target time slice is [current rendering time point, current rendering time point + slice period], which is also equivalent to [the end node of the target time slice before the update, the end node of the target time slice before the update + slice period]. Therefore, if there is no update command or other situation to adjust the current rendering time point, the simulation rendering operation is carried out naturally, and the updated target time slice is connected to the target time slice before the update. During this execution process, the current rendering time point and the target time slice are continuously updated until the current rendering time point reaches the simulation termination node and the simulation ends.

[0044] In steps S101 to S105 shown in the embodiment of the present application, by obtaining a simulation time period, setting the current rendering time point of the simulation rendering program according to the simulation start node therein, and determining the target time slice within the simulation time period according to the current rendering time point and the slicing period, the simulation process is sliced ​​on the time scale starting from the simulation start node, thereby indirectly slicing the massive satellite orbit data. At the same time, the push data of the server is monitored to obtain the corresponding satellite orbit data, and the simulation rendering operation is performed on the satellite orbit data through the simulation rendering program to generate satellite rendering data for output display. During the execution of the simulation rendering operation, the current rendering time point is kept updated according to the rendering progress, and when the current rendering time point reaches the end node of the target time slice, the target time slice is updated in combination with the slicing period, so that the target time slice is also kept updated. The satellite orbit data of the entire simulation process are sliced ​​accordingly until the current rendering time point reaches the simulation end node and the simulation ends. Compared with the client that can only load static data, the present invention realizes slicing of satellite orbit data in the process of loading and rendering satellite orbit data, reduces the loading and rendering pressure of the client, so that the client does not have excessive operating pressure when outputting dynamic data, improves fluency and improves the user's viewing experience.

[0045] In step S105 of some embodiments, reference Figure 3 The step of performing simulation rendering operation on satellite orbit data includes step S201 to step S203, specifically: Step S201, in response to the local absence of satellite orbit data corresponding to the current rendering time point, updating the target time slice according to the current rendering time point and the slice period, and the starting node of the updated target time slice is the current rendering time point.

[0046] Step S202: determine the updated target time slice as the time slice to be requested, and request the satellite orbit data of the time slice to be requested from the server.

[0047] Step S203, performing a simulation rendering operation on the satellite orbit data corresponding to the current rendering time point through a simulation rendering program.

[0048] During the execution of the simulation rendering operation, there are at least two situations that may cause the client's local satellite orbit data corresponding to the current rendering time point to not exist, making the simulation rendering operation impossible. The first is that the simulation process has just started and the server has not pushed the satellite orbit data near the simulation start node. The second is that the client receives an update command to adjust the current rendering time point, so that the current rendering time point jumps to a time point where no satellite orbit data has been requested or received. At this time, in response to the local satellite orbit data of the current rendering time point not existing, the target time slice is first re-determined based on the current rendering time point and the slice period. It should be noted that compared with the natural transition update of the target time slice in the above embodiment, the target time slices before and after the update are connected end to end during the natural transition update, while in the case of this embodiment, the current rendering time point is required to be used as the starting node of the updated target time slice, and then the corresponding end node is determined in combination with the slice period, that is, the updated target time slice is [current rendering time point, current rendering time point + slice period], and the time difference between it and the target time slice before the update is not necessarily a multiple of the slice period.

[0049] At the same time, the client needs to actively request the corresponding satellite orbit data from the server, determine the updated target time slice as the requested time slice, and send a request instruction for the satellite orbit data corresponding to the requested time slice to the server. On the server, after receiving the request instruction, the corresponding satellite orbit data is determined through the distributed orbit calculation server and pushed to the client. Then the client can obtain the corresponding satellite orbit data by monitoring the server. In this way, the simulation rendering operation can continue and the simulation rendering operation can be performed on the satellite orbit data corresponding to the current rendering time point.

[0050] The client's request to the server is as follows: Figure 2 The request module implementation shown.

[0051] By determining whether there is satellite orbit data at the current rendering time point locally and requesting the server if it does not exist, it ensures that the client can promptly request the server to obtain satellite orbit data that is not prepared locally, thereby improving the user's viewing experience.

[0052] In step S105 of some embodiments, reference Figure 4After the step of updating the current rendering time point according to the rendering progress of the simulation rendering operation, the method further includes steps S301 to S302, specifically: Step S301 , in response to the current rendering time point reaching the middle node of the target time slice, determining the next time slice according to the target time slice and the slice period.

[0053] Step S302: determine the next time slice as the time slice to be requested, and request the satellite orbit data of the time slice to be requested from the server.

[0054] In an embodiment of the present application, in order to ensure that the browser can continuously output smooth satellite rendering data during the simulation process, the client needs to prepare some satellite orbit data after the current rendering time point locally in advance. The satellite orbit data corresponding to the current target time slice can refer to the above embodiment. For the satellite orbit data of the next time slice of the target time slice, an intermediate node of the target time slice is set. The intermediate node is an intermediate node on the time scale. In response to the current rendering time point reaching the intermediate node, the next time slice is determined according to the target time slice and the slice period. The next time slice is [the end node of the target time slice, the end node of the target time slice + the slice period], and the next time slice is determined as the time slice to be requested, and a request instruction for the satellite orbit data corresponding to the time slice to be requested is sent to the server, thereby obtaining the satellite orbit data of the next time slice in advance.

[0055] By setting the intermediate node of the target time slice and comparing the current rendering time point with the intermediate node, it is determined whether it is necessary to request the satellite orbit data of the next time slice from the server, so that the subsequent satellite orbit data can be prepared in advance locally on the client. The subsequent satellite orbit data is also a slice, which will not bring excessive loading and rendering pressure to the client, improve the smoothness of loading and rendering, and enhance the user's viewing experience.

[0056] In step S202 or step S302 of some embodiments, the step of requesting the satellite orbit data of the requested time slice from the server includes: The time node closer to the simulation start node among the end node of the time slice to be requested and the simulation end node is determined as the target end node.

[0057] Request the server for the satellite orbit data between the start node and the target end node of the requested time slice.

[0058] In the steps of the above embodiment, there is more than one situation that will cause the client to send a request instruction for satellite orbit data to the server. The embodiment of the present application defines the time slices involved in the request instruction as the time slices to be requested. In the request step, in order to avoid the time slice to be requested exceeding the range of the simulation time period, the client requests redundant satellite orbit data, or the server needs to prepare to calculate redundant satellite orbit data, which needs to be avoided. Therefore, the end node of the time slice to be requested and the simulation end node are compared, and the time node closer to the simulation start node is selected as the target end node. If the end node of the time slice to be requested is closer, it means that the time slice to be requested has not exceeded the range of the simulation time period. If the simulation end node is closer, it means that the time slice to be requested may have exceeded the range of the simulation time period and needs to be clipped. Based on this, the request instruction sent to the server is actually a request for the satellite orbit data between the start node and the target end node of the time slice to be requested.

[0059] By comparing the end node of the time slice to be requested with the simulation termination node, it is ensured that the time slice to be requested does not exceed the range of the simulation time period, avoiding unnecessary data processing on the client and server, and reducing the operating costs of the client and server.

[0060] In step S202 or step S302 of some embodiments, the step of requesting the satellite orbit data of the requested time slice from the server includes: Temporarily store the request instruction for requesting satellite orbit data from the server, where the request instruction includes the time slice to be requested and the target satellite.

[0061] It is determined whether there are two or more request instructions that meet preset conditions within a preset time interval, where the preset conditions include that the time slices to be requested are the same and the corresponding target satellites have an intersection.

[0062] When it is determined that there is, the request instructions that meet the preset conditions are combined into a target request instruction, and the target request instruction is sent to the server to request the corresponding satellite orbit data.

[0063] When it is determined that the satellite orbit data does not exist, the temporarily stored request instructions are sent to the server to request the corresponding satellite orbit data respectively.

[0064] For the client, as the rendering progresses, the above-mentioned judgment related to the request instruction continues, which may lead to a situation where repeated requests are made for the same satellite in the same time period, and the server has to repeatedly call the distributed orbit calculation server for calculation of the same satellite in the same time period, which wastes the server's computing resources and increases operating costs.

[0065] Therefore, in order to further reduce the operating cost, the present embodiment further optimizes the request instruction for the client to request the satellite orbit data from the server. The request instruction includes two pieces of information: a time slice to be requested and a target satellite. The time slice to be requested is used to determine the specific time period involved in the relevant satellite orbit data. The target satellite is a set of satellites and is used to determine the specific satellite involved in the relevant satellite orbit data. The client first temporarily stores the request instruction to be sent to the server, sets a preset time interval to determine the sending cycle of the temporarily stored request instruction, and within the preset time interval, determines whether there are two or more request instructions that meet the preset conditions in the temporarily stored request instructions. The preset conditions include that the time slice to be requested is the same between the two or more request instructions, and there is an intersection of the target satellites, which means that the two or more request instructions can be merged. Therefore, when it is determined that they exist, a merge operation is performed on them to obtain the target request instruction, and the target request instruction is sent to the server to request the corresponding satellite orbit data. In this way, the server only needs to perform one calculation and push for the data of the same satellite in the same time period; and when it is determined that they do not exist, it means that the temporarily stored request instructions are not related to each other, and each temporarily stored request instruction can be sent separately after the preset time interval arrives.

[0066] On the other hand, each request instruction sent by the client to the server can be sent asynchronously in an order set according to the time point, so that the server can process them one by one, ensuring the communication standard between the client and the server.

[0067] By merging the request instructions, the server does not need to repeatedly calculate and push data for the same satellite in the same time period, which reduces the operating cost of the server and the communication cost between the client and the server.

[0068] In step S202 of some embodiments, after the step of requesting the satellite orbit data of the time slice to be requested from the server, the method further includes: In response to monitoring that the number of times that the satellite orbit data is not found reaches a first preset number, the slicing period is enlarged according to a first preset ratio.

[0069] The target time slice and the time slice to be requested are updated based on the enlarged slice period, and the step of requesting the satellite orbit data of the time slice to be requested from the server is returned.

[0070] It should be noted that satellite orbit data is not data that exists at every moment, and satellite orbit data also has a certain granularity, such as every 10 seconds or every minute. Therefore, if the slicing period is set too small relative to the granularity of the satellite orbit data, it is possible that the next time slice will not cover the next satellite orbit data. If the server fails to find the satellite orbit data indicated by the request instruction, it will feedback the corresponding prompt information to the client to prompt the client that the corresponding satellite orbit data has not been found. Based on this, the client records the number of prompt messages for not finding the satellite orbit data. When the number of consecutive monitoring of the prompt message reaches a first preset number, such as 2 or 3 times, the slicing period is enlarged according to the first preset ratio. The first preset ratio can be set to 1.25 times or 1.5 times. The target time slice and the time slice to be requested are re-determined based on the enlarged slicing period, and the request instruction for the satellite orbit data of the time slice to be requested is sent to the server again.

[0071] By monitoring the situation where satellite orbit data is not found and recording the number of times, the slicing period is adjusted when it reaches the first preset number to prevent the slicing period from matching the granularity of the satellite orbit data, so that the next time slice can cover the next satellite orbit data as much as possible, thereby improving the smoothness of loading and rendering and improving the user's viewing experience.

[0072] In step S105 of some embodiments, the step of generating satellite rendering data corresponding to the target time slice includes: Output satellite rendering data through the client's browser and monitor the output frame rate of satellite rendering data.

[0073] In response to the time nodes at which the output frame rate is continuously less than the preset frame rate reaching a second preset number of times, the slicing period is reduced according to a second preset ratio.

[0074] For the client, even if the optimization of the above embodiment reduces the pressure on the client to load and render satellite orbit data, it may still be impossible for the client to smoothly load, render and output satellite rendering data due to the lagging performance of the client or the client processing other tasks with heavy loads at the same time. Through the client's browser, it is observed that the output frame rate of the satellite rendering data is unstable or the average frame rate is low. Therefore, during the simulation process, the output frame rate of the satellite rendering data output by the client browser is monitored at the same time, and the time node corresponding to the output frame rate is continuously less than the preset frame rate reaches the second preset number of times, and the slicing period is reduced according to the second preset ratio, wherein, for example, the preset frame rate is set to 24 frames or 21 frames, and the time node can be aligned with the granularity of the satellite orbit data, for example, every 10 seconds or every minute is used as a time node to count the output frame rate, the second preset number is set to 2 times or 3 times, and the second preset ratio is set to 0.8 times or 0.75 times.

[0075] The output frame rate can be monitored by Figure 2 The performance monitoring module shown is implemented.

[0076] Based on this, by shortening the slicing period, the time period covered by the target time slice is shortened, which is equivalent to slicing the satellite orbit data more finely based on the time scale, reducing the operating pressure of the client each time it loads and renders the satellite orbit data, improving the smoothness of loading and rendering, and improving the user's viewing experience.

[0077] In step S104 of some embodiments, the step of monitoring the push data of the server includes: The satellite orbit data pushed by the server is stored locally.

[0078] Determine the number of time slices corresponding to the locally stored satellite orbit data. When the number of time slices is greater than 3, clear the satellite orbit data of redundant time slices. The redundant time slices include time slices other than the target time slice, the previous time slice of the target time slice, and the next time slice.

[0079] The satellite orbit data pushed by the server is stored locally. In order to ensure that the capacity occupied by the satellite orbit data stored locally on the client does not affect the operation of the client, the number of time slices corresponding to the satellite orbit data stored locally on the client is also monitored during the simulation. When the number of time slices is greater than 3, it is necessary to determine the redundant time slices and clean up the satellite orbit data of the redundant time slices. It is defined that all time slices except the target time slice, the previous time slice of the target time slice and the next time slice are redundant time slices.

[0080] By cleaning up the satellite orbit data of redundant time slices, the capacity occupied by the satellite orbit data storage does not affect the operation of the client, which is conducive to the client calling its stored satellite orbit data for loading and rendering, improving the smoothness of loading and rendering, and improving the user's viewing experience.

[0081] In addition, the client can also set the simulation speed. The simulation speed parameter affects the loading and rendering speed of the simulation rendering program and the playback speed of the browser. The setting of the simulation speed makes the time flow rate of the simulation time period during the simulation process different from the real time, such as 1.25 times or 1.5 times. The current rendering time point is updated according to the rendering progress and simulation speed. The simulation speed is set by the user. If the user adjusts the simulation speed, it is understandable that it will also have a corresponding impact on the pressure of the client to load and render satellite orbit data. In this case, the method described in the above embodiment of the present application is also applicable to ensure that the client can still smoothly load and render satellite orbit data at different simulation speeds to ensure the user's viewing experience.

[0082] The following is a detailed description and explanation of the solution of the embodiment of the present invention in conjunction with a specific application example: In an embodiment of the present application, a method for loading and rendering satellite orbit data based on time slicing is provided. The method is applied to a client, and the client is at least loaded with a simulation rendering program and a browser.

[0083] Specifically, in an embodiment of the present application, a simulation time period formed by a simulation start node and a simulation end node is obtained. When the simulation process starts, the client can start to connect to the push service of the server and start to listen to the push data of the server. Secondly, the current rendering time point of the simulation rendering program is set according to the simulation start node, and the time period of the current target rendering is determined within the simulation time period according to the current rendering time point and the preset slicing period, which is defined as the target time slice. The satellite orbit data of the target time period is obtained by listening to the push data of the server and stored locally. When storing, it is determined whether the number of time slices corresponding to the locally stored satellite orbit data is greater than 3. If it is greater than 3, the satellite orbit data corresponding to the locally redundant time slices are cleared.

[0084] Furthermore, a simulation rendering operation is performed on the satellite orbit data through a simulation rendering program. During this process, an abnormal situation may occur in which the satellite orbit data corresponding to the current rendering time point does not exist locally. In response to this situation, the target time slice is re-determined according to the current rendering time point and the slice period, and the updated target time slice is determined as the time slice to be requested, and the satellite orbit data of the time slice to be requested is requested from the server. The satellite orbit data is obtained after the feedback from the server based on monitoring, and the simulation process continues. When the simulation process proceeds smoothly, the current rendering time point is updated according to the rendering progress. When the current rendering time point reaches the middle node of the target time slice, the next time slice is determined in combination with the slice period, and the next time slice is determined as the time slice to be requested. The satellite orbit data of the time slice to be requested is requested from the server to extract and prepare for subsequent satellite orbit data, and when the current rendering time point reaches the end node of the target time slice, the target time slice is continuously updated in combination with the slice period. Among them, in the above-mentioned step of requesting the time slice to be requested from the server, the end node of the time slice to be requested is also compared with the simulation termination node, and the time node closer to the simulation start node is used as the end node of the actual request time period; on the other hand, the request instructions are temporarily stored based on the preset time interval, and different request instructions with the same time slice to be requested and the corresponding target satellites having intersections are merged and merged into a target request instruction and sent to the server.

[0085] In addition, if the server is monitored to fail to find the requested satellite orbit data, and the first preset number of times is reached, the slice period is enlarged according to the first preset ratio so that the requested time slice covers the next satellite orbit data as much as possible.

[0086] The client outputs the satellite rendering data obtained by the simulation rendering operation through the browser and monitors its output frame rate. When the output frame rate is continuously lower than the preset frame rate for a second preset number of times, the slicing period is reduced according to the second preset ratio to reduce the amount of data that the client needs to load and render each time, thereby increasing the output frame rate.

[0087] Based on the above steps, the server is continuously requested for satellite orbit data, and the server's push is listened to, the satellite orbit data is loaded and rendered, and then the satellite rendering data is output through the browser until the current rendering time period reaches the simulation end node, completing the simulation process.

[0088] See also Figure 5 The embodiment of the present application further provides a device for loading and rendering satellite orbit data based on time slicing, which can implement the above-mentioned method for loading and rendering satellite orbit data based on time slicing, and the device includes: The input module is used to obtain a simulation time period formed by a simulation start node and a simulation end node.

[0089] The simulation time control module is used to set the current rendering time point of the simulation rendering program according to the simulation start node; according to the current rendering time point and the preset slicing period, the target time slice is determined within the simulation time period, and the target time slice is the time period of the current target rendering of the simulation rendering program.

[0090] The monitoring module is used to monitor the push data of the server to obtain the satellite orbit data corresponding to the target time slice.

[0091] The rendering module is used to perform simulation rendering operations on the satellite orbit data through a simulation rendering program to generate satellite rendering data corresponding to the target time slice.

[0092] The simulation time control module is also used to update the current rendering time point according to the rendering progress of the simulation rendering operation during the execution of the simulation rendering operation, and to update the target time slice according to the end node and slice period of the target time slice when the current rendering time point reaches the end node of the target time slice until the current rendering time point reaches the simulation termination node.

[0093] It can be understood that the contents of the above method embodiments are all applicable to the present device embodiments, the functions specifically implemented by the present device embodiments are the same as those of the above method embodiments, and the beneficial effects achieved are also the same as those achieved by the above method embodiments.

[0094] An embodiment of the present application also provides a computer-readable storage medium, which stores a computer program. When the computer program is executed by a processor, it implements the above-mentioned satellite orbit data loading and rendering method based on time slicing.

[0095] It can be understood that the contents of the above method embodiments are all applicable to the present storage medium embodiments, the functions specifically implemented by the present storage medium embodiments are the same as those of the above method embodiments, and the beneficial effects achieved are also the same as those achieved by the above method embodiments.

[0096] The memory, as a non-transient computer-readable storage medium, can be used to store non-transient software programs and non-transient computer executable programs. In addition, the memory may include a high-speed random access memory, and may also include a non-transient memory, such as at least one disk storage device, a flash memory device, or other non-transient solid-state storage device. In some embodiments, the memory may optionally include a memory remotely disposed relative to the processor, and these remote memories may be connected to the processor via a network. Examples of the above-mentioned network include, but are not limited to, the Internet, an intranet, a local area network, a mobile communication network, and combinations thereof.

[0097] The embodiments of the present invention are described in detail above in conjunction with the accompanying drawings, but the present invention is not limited to the above embodiments. Various changes can be made within the knowledge of ordinary technicians in the relevant technical field without departing from the purpose of the present invention. In addition, the embodiments of the present invention and the features in the embodiments can be combined with each other without conflict.

Claims

1. A method for loading and rendering satellite orbit data based on time slicing, characterized in that: Applied to a client, the client is loaded with a simulation rendering program, and the method comprises: Obtain a simulation time period formed by a simulation start node and a simulation end node; Setting a current rendering time point of the simulation rendering program according to the simulation start node; Determine a target time slice within the simulation time period according to the current rendering time point and a preset slice period, wherein the target time slice is a time period of the current target rendering of the simulation rendering program; Monitor the push data of the server to obtain the satellite orbit data corresponding to the target time slice; Through the simulation rendering program, a simulation rendering operation is performed on the satellite orbit data to generate satellite rendering data corresponding to the target time slice; during the execution of the simulation rendering operation, the current rendering time point is updated according to the rendering progress of the simulation rendering operation, and when the current rendering time point reaches the end node of the target time slice, the target time slice is updated according to the end node of the target time slice and the slice period until the current rendering time point reaches the simulation termination node.

2. The method according to claim 1, characterized in that: The step of performing a simulation rendering operation on the satellite orbit data comprises: In response to the satellite orbit data corresponding to the current rendering time point not existing locally, updating the target time slice according to the current rendering time point and the slice period, wherein the starting node of the updated target time slice is the current rendering time point; Determine the updated target time slice as the time slice to be requested, and request the satellite orbit data of the time slice to be requested from the server; The simulation rendering operation is performed on the satellite orbit data corresponding to the current rendering time point through the simulation rendering program.

3. The method according to claim 2, characterized in that After the step of requesting the satellite orbit data of the time slice to be requested from the server, the method further includes: In response to monitoring that the number of times that the satellite orbit data is not found reaches a first preset number of times, enlarging the slicing period according to a first preset ratio; The target time slice and the time slice to be requested are updated based on the enlarged slice period, and the step of requesting the satellite orbit data of the time slice to be requested from the server is returned to be executed.

4. The method according to claim 1, characterized in that: After the step of updating the current rendering time point according to the rendering progress of the simulation rendering operation, the method further includes: In response to the current rendering time point reaching an intermediate node of the target time slice, determining a next time slice according to the target time slice and the slice period; The next time slice is determined as the time slice to be requested, and the satellite orbit data of the time slice to be requested is requested from the server.

5. The method according to any one of claims 2 or 4, characterized in that: The step of requesting the satellite orbit data of the requested time slice from the server comprises: Determine the time node closer to the simulation start node among the end node of the time slice to be requested and the simulation end node as the target end node; Request the satellite orbit data between the starting node and the target ending node of the requested time slice from the server.

6. The method according to any one of claims 2 or 4, characterized in that: The step of requesting the satellite orbit data of the requested time slice from the server comprises: Temporarily storing a request instruction for requesting the satellite orbit data from the server, wherein the request instruction includes the time slice to be requested and the target satellite; Determine whether there are two or more request instructions that meet preset conditions within a preset time interval, where the preset conditions include that the time slices to be requested are the same and the corresponding target satellites have an intersection; When it is determined that there is, combining the request instructions that meet the preset conditions into a target request instruction, and sending the target request instruction to the server to request the corresponding satellite orbit data; When it is determined that the satellite orbit data does not exist, the temporarily stored request instructions are sent to the server to request the corresponding satellite orbit data respectively.

7. The method according to claim 1, characterized in that The step of generating satellite rendering data corresponding to the target time slice comprises: Outputting the satellite rendering data through the browser of the client, and monitoring the output frame rate of the satellite rendering data; In response to the time nodes at which the output frame rate is continuously less than the preset frame rate reaching a second preset number of times, the slicing period is reduced according to a second preset ratio.

8. The method according to claim 1, characterized in that The step of monitoring the push data of the server includes: The satellite orbit data pushed by the server is stored locally; Determine the number of time slices corresponding to the locally stored satellite orbit data. When the number of time slices is greater than 3, clear the satellite orbit data of redundant time slices, where the redundant time slices include time slices other than the target time slice, the previous time slice of the target time slice, and the next time slice.

9. A satellite orbit data loading and rendering device based on time slicing, characterized in that: The device comprises: An input module, the input module is used to obtain a simulation time period formed by a simulation start node and a simulation end node; A simulation time control module, the simulation time control module is used to set the current rendering time point of the simulation rendering program according to the simulation start node; determine the target time slice within the simulation time period according to the current rendering time point and a preset slice period, the target time slice being the time period of the current target rendering of the simulation rendering program; A monitoring module, the monitoring module is used to monitor the push data of the server to obtain the satellite orbit data corresponding to the target time slice; A rendering module, the rendering module is used to perform a simulation rendering operation on the satellite orbit data through the simulation rendering program to generate satellite rendering data corresponding to the target time slice; The simulation time control module is also used to update the current rendering time point according to the rendering progress of the simulation rendering operation during the execution of the simulation rendering operation, and when the current rendering time point reaches the end node of the target time slice, update the target time slice according to the end node of the target time slice and the slice period until the current rendering time point reaches the simulation termination node.

10. A computer-readable storage medium storing a computer program, characterized in that: When the computer program is executed by a processor, the method according to any one of claims 1 to 8 is implemented.

Citation Information

Cited By

  • Constellation orbit data processing method and device, electronic equipment and storage medium

    CN120601957A

  • A constellation orbit data processing method, device, electronic device and storage medium

    CN120601957B