Data management and persistence method and system of real-time analog simulation system

By forming independent data frames in real-time simulation simulation system, eliminating non-essential data, adjusting timestamp intervals and performing trajectory point coordinate transformation, the performance bottlenecks and low efficiency of data management and persistence in the system are solved, and efficient data storage and playback are achieved.

CN119937936AActive Publication Date: 2025-05-06SCI RES TRAINING CENT FOR CHINESE ASTRONAUTS

Patent Information

Application Number
CN202510428391.5
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-04-08
Publication Date
2025-05-06
Estimated Expiration
2045-04-08

AI Technical Summary

Technical Problem

In real-time simulation simulation systems, data management and persistence have problems such as performance bottlenecks, unbalanced data volume, low index management efficiency and difficulty in effective data storage.

Method used

By forming independent data frames based on the simulation frame sequence number and the preset data packet header structure, eliminating non-essential data, adjusting the timestamp interval, recalculating the track point position, generating a dynamic playback track, and performing coordinate transformation of the track point through the rotation matrix to achieve dynamic update playback.

Benefits of technology

It improves the performance and efficiency of the simulation system, solves the problems of performance bottlenecks, unbalanced data volume and low index management efficiency at high frequencies, and realizes efficient data storage and playback.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119937936A_ABST
    Figure CN119937936A_ABST
Patent Text Reader

Abstract

The invention provides a data management and persistence method and system for a real-time analog simulation system. The method comprises the steps that independent data frames are formed for different types of subitem simulation software according to simulation frame serial numbers and a preset data packet header structure; in the data playback process, unnecessary data are removed, timestamp intervals are adjusted according to playback speed parameters, track point positions are recalculated, and a dynamic playback track is generated; according to the direction parameters, coordinate transformation is carried out on the track points through the rotation matrix, an adjusted motion path is obtained, and dynamic updating playback is carried out based on the adjusted motion path. According to the method, the independent data frames are formed for different types of subitem simulation software, the data are classified according to the simulation software, on the other hand, in single simulation of the data frames, the data protocol and the length are fixed contents, and data storage and management are facilitated; and the data is removed through an automatic elimination mechanism, so that the data processing amount in the playback process is reduced.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of information technology, and in particular to a data management and persistence method and system for a real-time simulation system. Background Art

[0002] In real-time simulation systems, data management and persistence is a complex technical issue. The system contains multiple sub-item simulation software, and each software will generate a large amount of real-time data during the simulation process. These data need to be effectively managed and stored so that the simulation process can be accurately restored in subsequent simulation playback. First, an independent data set needs to be established for each sub-item simulation software, and the content of the data set includes all the key data generated by the software during the simulation process. Secondly, the simulation system uses the simulation clock beat as the frequency, and uses the sequence number of the current frame as the header index of the data packet to store each data set in frames. This storage method ensures the timing of the data and facilitates subsequent playback operations. However, this data management method faces several technical difficulties in practical applications.

[0003] First, due to the high real-time requirements of the simulation system, the frequency of data storage must be synchronized with the simulation clock, which may cause performance bottlenecks in the storage system at high frequencies.

[0004] Secondly, the amount of data for each simulation software may vary greatly. Some software will generate a large amount of data at a specific simulation stage, while other software will generate relatively less data. This uneven data distribution may lead to waste or insufficient storage resources.

[0005] In addition, although the packet header index of the data packet can identify the frame sequence number, in large-scale simulation scenarios, the management and retrieval efficiency of the index may become a bottleneck, especially when it is necessary to quickly locate a frame of data, the complexity of the index will increase.

[0006] Another technical problem is the storage of valid data. During the simulation process, not all data needs to be persisted. Some data may only be valuable at a specific stage, while other data may be important throughout the entire simulation cycle. How to dynamically identify and filter these valid data and store them efficiently is a technical difficulty that needs to be solved urgently.

[0007] In addition, the playback process of simulation data needs to ensure the integrity and timing of the data, but due to the possible data loss or damage during the storage process, data inconsistency or timing disorder may occur during playback. These technical problems require careful optimization and adjustment in all aspects of data management and persistence to ensure the stability and reliability of the simulation system. Summary of the invention

[0008] In order to solve the problems in the prior art such as the high real-time requirements of the simulation system leading to performance bottlenecks in the storage system at high frequencies, the uneven distribution of data between sub-item simulation software, and the inability to dynamically identify and filter valid data, this application proposes a data management and persistence method for a real-time simulation system, including:

[0009] According to the simulation frame sequence number and the preset data packet header structure, independent data frames are formed for different types of sub-item simulation software;

[0010] During data playback, unnecessary data is removed, and the timestamp interval is adjusted according to the playback speed parameter, and the trajectory point position is recalculated to generate a dynamic playback trajectory;

[0011] According to the direction parameters, the coordinates of the trajectory points are transformed by a rotation matrix to obtain an adjusted motion path, and dynamic update playback is performed based on the adjusted motion path.

[0012] Optionally, forming independent data frames for different types of sub-item simulation software according to the simulation frame sequence number and the preset data packet header structure includes:

[0013] According to the preset simulation clock frequency, the simulation frame number is obtained, and a unique identifier is generated according to the predefined frame number format;

[0014] According to a preset data packet header structure, encapsulating the unique identifier into the data packet header to form a data packet with timing information;

[0015] For different types of sub-item simulation software, extract key data types and bind the key data types with the timing information in the data packet header;

[0016] The key data with time series information is organized according to the preset independent data set structure to form an independent data frame.

[0017] Optionally, during the data playback process, eliminating unnecessary data includes:

[0018] Step 1: Determine whether a frame of data meets the criteria for non-essential data. If not, it is marked as permanent data. Otherwise, it is not marked as permanent data.

[0019] Step 2: Determine whether the timing information not marked as permanent data is within the timing range of the current playback stage. If not, mark the timing information not marked as permanent data as a data frame to be removed, otherwise, do not mark it;

[0020] Step 3: According to the data automatic elimination rules, all data frames marked as to be eliminated are removed from the playback data set;

[0021] Step 4: Calculate the reduction of playback load before and after data elimination through the correlation analysis model between data elimination and playback load;

[0022] Step 5: Determine whether the elimination of unnecessary data is completed based on whether the reduction in playback load reaches the expected target and whether the playback process is completed.

[0023] Optionally, the determining whether the elimination of unnecessary data is completed based on whether the reduction range of the playback load reaches an expected target and whether the playback process is finished includes:

[0024] When the reduction of playback load does not reach the expected target, determine whether the playback process is completed. If not, dynamically adjust the non-essential data judgment standard. Otherwise, complete the elimination of non-essential data.

[0025] When the playback load reduction reaches the expected target, unnecessary data is eliminated.

[0026] Optionally, adjusting the time stamp interval according to the playback speed parameter, recalculating the trajectory point position, and generating a dynamic playback trajectory includes:

[0027] Get the original trajectory data, extract the timestamp and location information of the trajectory points, and store them as time series and coordinate series;

[0028] According to the playback speed parameter, the timestamp interval adjustment ratio is calculated to generate a new timestamp interval value;

[0029] Recalculate the timestamp of each track point based on the time series and the new timestamp interval value by using a linear interpolation method, and calculate the coordinates of the new track point by using an interpolation algorithm according to the recalculated timestamp and the position information;

[0030] Combine the recalculated timestamps and coordinate sequences to generate initial playback trajectory data;

[0031] Determine whether the initial playback trajectory data meets the continuity requirements. If there are discontinuous points, use a smoothing algorithm to correct the trajectory point coordinates and store the corrected trajectory point coordinates in a structured format. Otherwise, do not correct the trajectory point coordinates and store them in a structured format.

[0032] According to business needs, the dynamic playback trajectory data in a structured format is matched with the map or scene data to generate a dynamic playback trajectory.

[0033] Optionally, the coordinate transformation of the trajectory points by a rotation matrix according to the direction parameter to obtain an adjusted motion path includes:

[0034] Based on the direction parameter, the rotation angle and the rotation axis information are extracted, and a three-dimensional rotation matrix is ​​constructed based on the rotation angle and the rotation axis information;

[0035] The coordinate data of the trajectory point is stored in the form of a three-dimensional vector, and the three-dimensional vector is multiplied by the rotation matrix to obtain the coordinate data of the rotated trajectory point;

[0036] Generate an adjusted motion path according to the rotated trajectory point coordinate data.

[0037] Optionally, the dynamically updating playback based on the adjusted motion path includes:

[0038] Based on the adjusted motion path, the timestamp, coordinate information and related parameters of the trajectory points are extracted to generate structured trajectory data;

[0039] The trajectory optimization algorithm is used to smooth the structured trajectory data, eliminate noise points, and obtain optimized trajectory data;

[0040] It is determined whether the optimized trajectory data deviates from the preset parameters. If so, the trajectory data is dynamically corrected and the corrected trajectory data is dynamically updated and replayed. Otherwise, the trajectory data is directly dynamically updated and replayed.

[0041] On the other hand, the present application also provides a data management and persistence system for a real-time simulation system, including:

[0042] A data sorting module is used to form independent data frames for different types of sub-item simulation software according to the simulation frame sequence number and the preset data packet header structure;

[0043] The dynamic playback module is used to remove unnecessary data during data playback, adjust the timestamp interval according to the playback speed parameter, recalculate the trajectory point position, and generate a dynamic playback trajectory;

[0044] The update playback module is used to transform the coordinates of the trajectory points through a rotation matrix according to the direction parameters to obtain an adjusted motion path, and dynamically update the playback based on the adjusted motion path.

[0045] Optionally, the data sorting module is specifically used to:

[0046] According to the preset simulation clock frequency, the simulation frame number is obtained, and a unique identifier is generated according to the predefined frame number format;

[0047] According to a preset data packet header structure, encapsulating the unique identifier into the data packet header to form a data packet with timing information;

[0048] For different types of sub-item simulation software, extract key data types and bind the key data types with the timing information in the data packet header;

[0049] The key data with time series information is organized according to the preset independent data set structure to form an independent data frame.

[0050] Optionally, the dynamic playback module includes: a data elimination module and a recalculation module;

[0051] The data elimination module is used to eliminate unnecessary data during data playback based on the judgment criteria of unnecessary data and the time sequence range of the playback stage;

[0052] The recalculation module is used to adjust the time stamp interval according to the playback speed parameter, recalculate the trajectory point position, and generate a dynamic playback trajectory.

[0053] Optionally, the data elimination module is specifically used for:

[0054] Step 1: Determine whether a frame of data meets the criteria for non-essential data. If not, it is marked as permanent data. Otherwise, it is not marked as permanent data.

[0055] Step 2: Determine whether the timing information not marked as permanent data is within the timing range of the current playback stage. If not, mark the timing information not marked as permanent data as a data frame to be removed, otherwise, do not mark it;

[0056] Step 3: According to the data automatic elimination rules, all data frames marked as to be eliminated are removed from the playback data set;

[0057] Step 4: Calculate the reduction of playback load before and after data elimination through the correlation analysis model between data elimination and playback load;

[0058] Step 5: Determine whether the elimination of unnecessary data is completed based on whether the reduction in playback load reaches the expected target and whether the playback process is completed.

[0059] Optionally, the data elimination module is specifically used for:

[0060] When the reduction of playback load does not reach the expected target, determine whether the playback process is completed. If not, dynamically adjust the non-essential data judgment standard. Otherwise, complete the elimination of non-essential data.

[0061] When the playback load reduction reaches the expected target, unnecessary data is eliminated.

[0062] Optionally, the recalculation module is specifically used for:

[0063] Get the original trajectory data, extract the timestamp and location information of the trajectory points, and store them as time series and coordinate series;

[0064] According to the playback speed parameter, the timestamp interval adjustment ratio is calculated to generate a new timestamp interval value;

[0065] Recalculate the timestamp of each track point based on the time series and the new timestamp interval value by using a linear interpolation method, and calculate the coordinates of the new track point by using an interpolation algorithm according to the recalculated timestamp and the position information;

[0066] Combine the recalculated timestamps and coordinate sequences to generate initial playback trajectory data;

[0067] Determine whether the initial playback trajectory data meets the continuity requirements. If there are discontinuous points, use a smoothing algorithm to correct the trajectory point coordinates and store the corrected trajectory point coordinates in a structured format. Otherwise, do not correct the trajectory point coordinates and store them in a structured format.

[0068] According to business needs, the dynamic playback trajectory data in a structured format is matched with the map or scene data to generate a dynamic playback trajectory.

[0069] Optionally, a secondary processing module is further included, which is used to continuously monitor the noise level of the trajectory data during playback. If the noise level exceeds a preset threshold, the smoothing algorithm is triggered to perform secondary processing, otherwise the smoothing algorithm is not triggered to perform secondary processing.

[0070] Optionally, the update playback module includes: a parameter adjustment module and a display module;

[0071] The parameter adjustment module is used to perform coordinate transformation on the trajectory points through a rotation matrix according to the direction parameters to obtain an adjusted motion path;

[0072] The display module is used to dynamically update and replay based on the adjusted motion path;

[0073] If there is a deviation between the optimized trajectory data and the preset parameters, the parameter adjustment module is called to dynamically correct the trajectory data. Through the data encapsulation protocol, the corrected trajectory data is packaged into a data format recognizable by the display module to generate a transmission data packet;

[0074] According to the communication interface requirements, the real-time transmission protocol is used to send data packets to the display module to ensure the real-time and integrity of data transmission;

[0075] After receiving the data packet, the display module parses the data packet content, extracts the track point information and parameters, and generates a dynamic update instruction;

[0076] If the display module detects that the track point information is inconsistent with the current picture, the picture rendering engine is called to redraw the track picture according to the dynamic update instruction; the redrawn track picture is displayed in real time through the picture refresh mechanism of the display module to ensure that the picture is synchronized with the track data;

[0077] According to the running status of the display module, the screen update log is recorded and the trajectory playback data is generated for subsequent analysis.

[0078] Optionally, the parameter adjustment module is specifically used to:

[0079] Based on the direction parameter, the rotation angle and the rotation axis information are extracted, and a three-dimensional rotation matrix is ​​constructed based on the rotation angle and the rotation axis information;

[0080] The coordinate data of the trajectory point is stored in the form of a three-dimensional vector, and the three-dimensional vector is multiplied by the rotation matrix to obtain the coordinate data of the rotated trajectory point;

[0081] Generate an adjusted motion path according to the rotated trajectory point coordinate data.

[0082] Optionally, the display module is specifically used for:

[0083] Based on the adjusted motion path, the timestamp, coordinate information and related parameters of the trajectory points are extracted to generate structured trajectory data;

[0084] The trajectory optimization algorithm is used to smooth the structured trajectory data, eliminate noise points, and obtain optimized trajectory data;

[0085] It is determined whether the optimized trajectory data deviates from the preset parameters. If so, the trajectory data is dynamically corrected and the corrected trajectory data is dynamically updated and replayed. Otherwise, the trajectory data is directly dynamically updated and replayed.

[0086] In another aspect, the present application further provides an electronic device, comprising: at least one processor and a memory; the memory and the processor are connected via a bus;

[0087] The memory is used to store one or more programs;

[0088] When the one or more programs are executed by the at least one processor, a data management and persistence method for a real-time simulation system as described above is implemented.

[0089] On the other hand, the present application also provides a readable storage medium on which an execution program is stored. When the execution program is executed, the data management and persistence method of a real-time simulation system as described above is implemented.

[0090] Compared with the prior art, the beneficial effects of this application are:

[0091] The present application provides a data management and persistence method for a real-time simulation system, including: forming independent data frames for different types of sub-item simulation software according to the simulation frame sequence number and the preset data packet header structure; in the data playback process, eliminating unnecessary data, and adjusting the timestamp interval according to the playback speed parameter, recalculating the trajectory point position, and generating a dynamic playback trajectory; according to the direction parameter, the trajectory point is transformed by the rotation matrix to obtain the adjusted motion path, and the dynamic update playback is performed based on the adjusted motion path. The present application forms independent data frames for different types of sub-item simulation software, classifies the data according to the simulation software, solves the problem of performance bottlenecks in the storage system at high frequencies, and the problem of uneven data distribution between sub-item simulation software. On the other hand, in a single simulation, the data frame has fixed content in terms of data protocol and length, which is convenient for data storage and management; and dynamically identifies and filters valid data through an automatic elimination mechanism.

[0092] This application also introduces a correlation analysis model between data culling and playback load. By calculating the playback load index before and after culling, the contribution of data culling to reducing the playback load is evaluated, which significantly improves the performance and efficiency of the simulation system. BRIEF DESCRIPTION OF THE DRAWINGS

[0093] Figure 1 A flow chart of a data management and persistence method for a real-time simulation system of the present application;

[0094] Figure 2 This is a schematic diagram of the structure of an electronic device of the present application. DETAILED DESCRIPTION

[0095] The present application proposes a data management and persistence method for a real-time simulation system. By adding timing information to the simulation data, the key data generated by different types of simulation software are bound to the timing information to form independent data frames and store them in time sequence. During the data playback process, the data is judged whether it is non-essential data according to the preset screening rules, and the non-permanent data that is not within the timing range of the current playback stage is marked as to be eliminated. These data are removed through an automatic elimination mechanism to reduce the amount of data processing during the playback process. The present application also introduces a correlation analysis model between data elimination and playback load. By calculating the playback load index before and after elimination, the contribution of data elimination to reducing the playback load is evaluated. If the effect does not meet expectations, the present application can dynamically adjust the screening rules, continuously optimize the data elimination effect, and ultimately achieve efficient simulation data playback, significantly improving the performance and efficiency of the simulation system.

[0096] In order to better understand the present application, the contents of the present application are further described below in conjunction with the accompanying drawings and embodiments of the specification.

[0097] Embodiment 1:

[0098] A data management and persistence method for a real-time simulation system, such as Figure 1 As shown, including:

[0099] Step S1: forming independent data frames for different types of sub-item simulation software according to the simulation frame sequence number and the preset data packet header structure;

[0100] Step S2: During the data playback process, unnecessary data is removed, and the timestamp interval is adjusted according to the playback speed parameter, and the trajectory point position is recalculated to generate a dynamic playback trajectory;

[0101] Step S3: According to the direction parameters, coordinate transformation is performed on the trajectory points through a rotation matrix to obtain an adjusted motion path, and dynamic update playback is performed based on the adjusted motion path.

[0102] The following is a further description of each step:

[0103] Before step S1, the process also includes: collecting and storing simulation data.

[0104] The concept of valid data is proposed, specifically: in normal simulation mode, when the current data value changes, the network value is driven to change, and the data value of the frame data set is recorded. Otherwise, the unchanged data is not stored, which effectively reduces the data storage space;

[0105] During the simulation process, the operation behavior is recorded by registering key frames, and all key frame data needs to be sent during data playback.

[0106] In normal simulation mode, valid data frames need to be stored according to the data trigger drive. Since the maximum value of the medium storage is a quantitative value, storage space overflow may occur, resulting in storage failure. Therefore, this application adopts a storage space warning design. When the calculated storage space is less than a certain threshold, the storage location will be transferred to another storage medium, and so on, until all storage space is about to overflow, and a storage alarm will be issued.

[0107] When storing data, the local data storage capacity is certain, and the storage space of each drive letter is a fixed value. There may be a situation where insufficient storage space leads to storage failure. This application uses space warning to avoid the above situation.

[0108] Before each simulation activity starts, the storage space of the drive letter under the currently specified path is judged first. When it is less than a certain threshold, the storage space is transferred, the next drive letter that meets the space requirements is found, and the storage path of the data file is changed. A message is displayed to prompt the user that the storage space of this drive letter is insufficient and has been transferred to the next drive letter.

[0109] When the space of the last drive that can be found is about to run out, the machine storage space alarm will be issued, prompting that all disk space is insufficient and data files can no longer be stored. Please handle it in time.

[0110] Step S1: forming independent data frames for different types of sub-item simulation software according to the simulation frame sequence number and the preset data packet header structure, including:

[0111] Step S101 obtains a simulation frame number according to a preset simulation clock frequency, and generates a unique identifier according to a predefined frame number format;

[0112] Step S102 encapsulates the unique identifier into the data packet header according to a preset data packet header structure to form a data packet with timing information;

[0113] Step S103 extracts key data types for different types of sub-item simulation software, and binds the key data types with the timing information in the data packet header;

[0114] Step S104 organizes the key data with time sequence information according to a preset independent data set structure to form an independent data frame.

[0115] Furthermore, step S101 obtains a simulation frame number according to a preset simulation clock frequency, and generates a unique identifier according to a predefined frame number format, including:

[0116] Using the preset simulation clock frequency as the time reference, obtain the frame number of the current simulation cycle; according to the preset frame number format definition, determine the generation rule of the unique identifier; through the time synchronization mechanism, ensure that the simulation cycle is consistent with the clock frequency;

[0117] A sequence generation algorithm is used to convert the frame number into a code that conforms to the format definition. According to the identification rules, the encoded data is combined with the time reference to determine whether the current frame number exceeds the preset range. If so, the frame number is reset. Through the data encoding method, the combined information is used to generate a unique identifier.

[0118] Specifically, in the simulation system, the clock frequency is set to 100MHz, that is, 100 million clock cycles are generated per second. Assuming that each frame of simulation consumes 1000 clock cycles, 100,000 frames of simulation data can be generated per second. In order to obtain the current simulation frame number, it can be obtained by reading the counter inside the system. The counter increments by 1 in each clock cycle, so the current frame number can be obtained by dividing the counter value by 1000 and rounding. For example, when the counter value is 123456789, the current frame number is 123456. In order to generate a unique identifier, a predefined frame number format can be used, such as "SIM_YYYYMMDD_HHMMSS_FRAMENUM", where YYYYMMDD represents the current date, HHMMSS represents the current time, and FRAMENUM represents the frame number. For example, at 14:30:45 on October 15, 2023, when the frame number is 123456, the generated unique identifier is "SIM_20231015_143045_123456". This format not only contains the time information of the simulation, but also ensures the uniqueness of each identifier. To further ensure the global uniqueness of the identifier, the ID of the simulation task can be added before the identifier, such as "TASK123_SIM_20231015_143045_123456". In this way, even when multiple simulation tasks are running in parallel, the identifier of each simulation frame can be guaranteed to be unique.

[0119] Furthermore, step S102 encapsulates the unique identifier into the data packet header according to a preset data packet header structure to form a data packet with timing information, including:

[0120] The preset data packet header structure is adopted to obtain the data packet content to be encapsulated; the frame sequence number is extracted from the preset timing generation module according to the data packet content; and the frame sequence number is embedded in the data packet header as a unique identifier.

[0121] According to the embedded header information, a data packet with timing information is generated; when the content of the data packet matches the header information, encapsulation is completed; the encapsulated data packet is obtained, and the uniqueness of the frame sequence number is verified through the timing verification module. According to the verification result, the accuracy of the data packet timing information is determined.

[0122] Specifically, a frame sequence number field is added to the data packet header structure to uniquely identify the order in which the data packets are sent. Assume that the length of the header is 16 bytes, of which the first 4 bytes are the frame sequence number field, and the remaining 12 bytes are other control information. The frame sequence number is represented by a 32-bit unsigned integer ranging from 0 to 4294967295, and the frame sequence number increases by 1 each time a data packet is sent. For example, the initial frame sequence number is 0, the frame sequence number is set to 0 when the first data packet is sent, the frame sequence number is set to 1 when the second data packet is sent, and so on. In order to ensure the uniqueness of the frame sequence number, a counter can be maintained at the sending end, and the counter value is assigned to the frame sequence number field each time a data packet is sent, and the counter is incremented. At the receiving end, the order in which the data packets are received can be determined by parsing the frame sequence number field in the header. For example, after receiving a data packet with a frame sequence number of 5, if the frame sequence number of the next received data packet is 7, it can be inferred that the data packet with a frame sequence number of 6 may be lost or delayed, so that corresponding processing measures can be taken. In this way, timing information can be encapsulated in the data packet header to ensure the order and integrity of the data packet.

[0123] Furthermore, step S103 extracts key data types for different types of sub-item simulation software, and binds the key data types with the timing information in the data packet header, including:

[0124] (1) Obtain the original data generated by the sub-item simulation software and determine the data type and simulation type; extract the timestamp information from the data packet header to determine its timing relationship with the simulation data; use the preset extraction method to separate the target data content for key data; establish the binding relationship between data and timing based on the header information and timestamp; verify the accuracy and completeness of the binding relationship through association rules; if there is an error in the binding relationship, adjust the extraction method or association rules, integrate the processed data with the timing information, and generate the final data packet;

[0125] Specifically, in the sub-item simulation software, for different types of simulation tasks, it is first necessary to extract the types of key data generated. For example, in the simulation of the power system, key data may include parameters such as voltage, current, and power, which can be collected and calculated in real time through specific algorithms. Taking voltage as an example, assuming that the voltage value at a certain moment is 220 volts, the current is 10 amperes, and the power factor is 9, the power calculation formula P=UIcosφ can be used to derive that the active power at this time is 1980 watts. Next, these key data are bound to the timing information in the data packet header to ensure the accuracy and consistency of the data. Timing information usually includes timestamps, data packet numbers, etc. For example, the timestamp is 14:30:00 on October 15, 2023, and the data packet number is 12345. By associating these timing information with key data, a complete data record can be formed. For example, a voltage of 220 volts, a current of 10 amps, and a power of 1980 watts are bound to a timestamp of 14:30:00 on October 15, 2023, and a data packet number of 12345 to form a data packet. This binding process can be achieved through a hash algorithm, such as using the SHA-256 algorithm to encrypt the data to ensure the security and integrity of the data. In this way, the key data generated by the sub-item simulation software can be closely combined with the timing information, providing a reliable basis for subsequent data analysis and processing.

[0126] (2) Organize the key data with time series information according to the preset independent data set structure to form independent data frames, and store them according to the granularity of time series information.

[0127] Obtain key data with time series information, extract the timestamps and key fields, and divide them according to the preset independent data set structure. Generate independent data frames for the divided data sets, each of which contains key data in the corresponding time period. According to the preset time granularity, group the data frames according to time intervals to generate grouped data sets. Use the time series alignment algorithm to determine whether the timestamps of the data frames are continuous. If there are missing timestamps, interpolation processing is performed. Through the independence of the data frames, each frame is mapped to an independent storage unit to ensure the isolation of data storage. According to the preset storage structure, write the grouped data sets into the database and index them according to the time granularity. Perform a quality check on the stored data to determine whether it meets the preset structural and timing requirements. If not, reorganize the data frames.

[0128] Specifically, in the data processing process, it is first necessary to extract key data with time series information from the raw data. Assume that the raw data is the hourly sensor readings, which contain information such as timestamp, temperature, and humidity. By parsing the timestamp, the time granularity of each data point can be determined. For example, the timestamp "2023-10-01 12:00:00" corresponds to the data at 12:00 on October 1, 2023. Next, the data at each time point is organized according to the preset independent data set structure and stored as an independent data frame. For example, the data frame at 12:00 contains the timestamp "2023-10-01 12:00:00", the temperature "23℃", and the humidity "60%". To ensure the independence of the data frame, each data frame is stored in JSON format, such as {"timestamp": "2023-10-01 12:00:00", "temperature": 23, "humidity": 60}. Subsequently, storage is performed according to the granularity of the time series information, and grouping can be selected by hour, day, or month. For example, the data frame at 12:00 on October 1, 2023 is stored under the path "2023-10-01 / 1json". To further optimize storage efficiency, compression algorithms such as GZIP can be used to compress the data frame to reduce storage space usage. In this way, the system can efficiently manage and retrieve data with time series information, providing a reliable foundation for subsequent data analysis.

[0129] This application forms independent data frames for different types of sub-item simulation software, which has the following effects:

[0130] 1. Improved data interaction and communication efficiency

[0131] Independent data frames can provide standardized data exchange formats for different simulation software, making data transmission between simulation models more efficient and accurate. For example, in power system simulation, independent data frames can achieve seamless connection between simulation software in different links such as power generation, transmission and power consumption.

[0132] 2. Enhance system flexibility and scalability

[0133] The independent data frame design allows different types of simulation software to run without interfering with each other while being able to share information through the data frame. This makes it easier to expand the system with new functional modules or integrate new simulation tools.

[0134] 3. Improve the accuracy of data processing

[0135] Through independent data frames, different types of data can be classified and processed, reducing the complexity of data encapsulation and decapsulation. For example, in the identification of power protocol data frames, independent data frames can reduce errors in data processing and improve the accuracy and efficiency of data processing.

[0136] 4. Optimize resource allocation

[0137] Independent data frames can better support resource optimization configuration. For example, in power market simulation, independent data frames can more clearly simulate the behavior and resource allocation strategies of different market players, thereby providing decision support for the optimal configuration of power resources.

[0138] 5. Support collaborative simulation of complex systems

[0139] In complex power system simulation, different types of simulation software may need to work together. Independent data frames can serve as a bridge for data interaction, supporting collaborative simulation of new entities such as virtual power plants and smart microgrids with traditional power systems.

[0140] 6. Improve system security and reliability

[0141] Independent data frames can enhance data security through multi-dimensional feature extraction and recognition technology. For example, through time-frequency transformation and cluster analysis and other technologies, data frames can be accurately distinguished and identified, thereby improving the system's anti-interference ability and reliability.

[0142] 7. Promote intelligence and automation

[0143] Independent data frames can better support the development of intelligent simulation systems. For example, through machine learning and deep reinforcement learning technologies, data frames can be automatically classified and processed to achieve intelligent power system simulation.

[0144] In summary, the application of independent data frames in sub-item simulation software can improve data interaction efficiency, enhance system flexibility, improve data processing accuracy, and support collaborative simulation of complex systems, thereby providing important support for the intelligent and optimized operation of power systems.

[0145] In step S2, during the data playback process, unnecessary data is eliminated, including:

[0146] Step 1: Determine whether a frame of data meets the criteria for non-essential data. If not, it is marked as permanent data. Otherwise, it is not marked as permanent data.

[0147] Specifically, during the data playback process, each frame of data needs to be analyzed according to the preset data screening rules. Assume that the preset screening rules are: if the temperature value of a frame of data is greater than 30°C and the humidity value is less than 50%, it is determined to be non-essential data. In specific implementation, the data is read frame by frame through the algorithm, and the temperature and humidity values ​​of each frame of data are extracted.

[0148] Step 2: Determine whether the timing information not marked as permanent data is within the timing range of the current playback stage. If not, mark the timing information not marked as permanent data as a data frame to be removed, otherwise, do not mark it;

[0149] For example, if the temperature of a frame of data is 32℃ and the humidity is 45%, then the frame is judged as non-essential data according to the rule. To further improve the accuracy of the judgment, a sliding window algorithm is used, and the window size is set to 5 frames. If more than 3 frames of data meet the judgment criteria of non-essential data in 5 consecutive frames, all frames in the window are marked as non-essential data. For example, among 5 consecutive frames of data, 4 frames have temperature values ​​of 31℃, 32℃, 35℃, and 35℃, and humidity values ​​of 48%, 47%, 49%, and 46%, respectively. The sliding window algorithm determines that these 5 frames are all non-essential data. In addition, in order to improve the efficiency of data processing, multi-threading technology is used to parallel process the screening of each frame of data to ensure that the efficient analysis speed can be maintained when a large amount of data is played back. Through the above method, the accurate screening of each frame of data during the data playback process is achieved, ensuring the effectiveness and accuracy of data processing.

[0150] Step 3: According to the data automatic elimination rules, all data frames marked as to be eliminated are removed from the playback data set;

[0151] Specifically, in the playback data set, all data frames are first marked by the preset elimination rules. The elimination rules are set based on the attributes of the data frame, such as the timestamp, frame rate, and resolution. For example, data frames with a timestamp interval greater than 50 milliseconds are set as frames to be eliminated, data frames with a frame rate lower than 25 frames per second are set as frames to be eliminated, and data frames with a resolution lower than 720p are set as frames to be eliminated. Then, all data frames are sorted using the quick sorting algorithm, and the sorting is based on the timestamp to ensure that the data frames are arranged in chronological order. After the sorting is completed, the sorted data frame list is traversed, and the positions of the frames to be eliminated are quickly located using the binary search algorithm, and these frames are removed from the data set through the linked list structure. During the removal process, the index information of the data set is updated at the same time to ensure that the subsequent playback operation can correctly access the remaining data frames. Finally, the remaining data frames are compressed, and the LZ77 algorithm is used for lossless compression, with a compression rate of up to 60%, thereby further reducing the amount of data processing in the playback process. The entire processing process is performed through multi-threaded parallel computing to ensure that the elimination and compression operations can still be completed efficiently on large-scale data sets.

[0152] Step 4: Calculate the reduction of playback load before and after data elimination through the correlation analysis model between data elimination and playback load;

[0153] Specifically, in the correlation analysis model between data culling and playback load, we first need to determine the measurement indicators of the playback load, such as the number of requests processed per second (QPS) or the system response time (RT). Assume that the initial data set contains 1 million records, the QPS of the playback load is 500, and the RT is 200 milliseconds. By setting data culling rules, such as removing duplicate data or invalid data, the data set is processed by applying the data cleaning algorithm. Assume that the data set is reduced to 800,000 records after cleaning. Next, the playback load simulator is used to perform playback tests on the data set before and after cleaning, and the playback load indicators after cleaning are calculated. Assume that the QPS after cleaning is increased to 600 and the RT is reduced to 150 milliseconds. By comparing the indicators before and after cleaning, the contribution of data culling to reducing the playback load can be calculated. For example, the QPS is increased by 20% and the RT is reduced by 25%. For further analysis, a regression model can be established to quantify the relationship between the amount of data culling and the playback load indicators, assuming that for every 100,000 data records removed, the QPS is increased by 10% and the RT is reduced by 15%. Through these analyses, we can draw conclusions about the specific contribution of data culling in optimizing playback load and provide data support for subsequent system optimization.

[0154] Step 5: Determine whether the elimination of unnecessary data is completed based on whether the reduction in playback load reaches the expected target and whether the playback process is completed.

[0155] Specifically, when the reduction in playback load does not reach the expected target, we first analyze historical data and find that the criteria for determining non-essential data in the current data screening rules are records with a data access frequency of less than 100 times per second and a data storage duration of more than 30 days. In order to further optimize the data removal effect, we dynamically adjust the screening rules and adjust the criteria for determining non-essential data to records with a data access frequency of less than 50 times per second and a storage duration of more than 15 days. At the same time, we introduce a machine learning algorithm to perform cluster analysis on the data based on the Gaussian mixture model (GMM), identify data points with an access frequency of less than 50 times per second and a storage duration of more than 15 days, and mark them as non-essential data. Through this adjustment, the system automatically generates a new data removal strategy to remove data that meets the new criteria from storage, thereby effectively reducing the playback load. Further simulation tests verify that the playback load is reduced by 15% under the new strategy, achieving the expected optimization goal.

[0156] During the simulation data playback process, the current load is first monitored in real time through the load balancing algorithm. Assume that the current system load is 75% and the target load is 50%. A dynamic weight adjustment strategy is adopted to gradually reduce the weight of high-load nodes from 0 to 6, and at the same time increase the weight of low-load nodes from 8 to 2 to achieve balanced load distribution. Next, the load trend in the next 10 minutes is predicted using a time series-based prediction model. The prediction results show that the load will drop to 65%. Based on this prediction result, the system automatically adjusts the playback strategy and reduces the playback rate from 1,000 data per second to 800 data per second to reduce system pressure. At the same time, a data compression algorithm is used to compress the original data to 70% of the original, further reducing the burden of data transmission and processing. During the playback process, the system continuously monitors the load changes. When the load drops to 60%, the playback rate is adjusted again to 700 data per second, and the data cache mechanism is enabled to cache commonly used data in memory to improve data access speed. Finally, through multiple iterative adjustments, the system load gradually dropped to the expected 50%, achieving efficient simulation data playback.

[0157] The step S2 of adjusting the time stamp interval according to the playback speed parameter, recalculating the trajectory point position, and generating a dynamic playback trajectory includes:

[0158] Get the original trajectory data, extract the timestamp and location information of the trajectory points, and store them as time series and coordinate series;

[0159] According to the playback speed parameter, the timestamp interval adjustment ratio is calculated to generate a new timestamp interval value;

[0160] Recalculate the timestamp of each track point based on the time series and the new timestamp interval value by using a linear interpolation method, and calculate the coordinates of the new track point by using an interpolation algorithm according to the recalculated timestamp and the position information;

[0161] Combine the recalculated timestamps and coordinate sequences to generate initial playback trajectory data;

[0162] Determine whether the initial playback trajectory data meets the continuity requirements. If there are discontinuous points, use a smoothing algorithm to correct the trajectory point coordinates and store the corrected trajectory point coordinates in a structured format. Otherwise, do not correct the trajectory point coordinates and store them in a structured format.

[0163] According to business needs, the dynamic playback trajectory data in a structured format is matched with the map or scene data to generate a dynamic playback trajectory.

[0164] Specifically: Assume that the playback speed entered by the user is 2, which means that the playback is twice the normal speed. In the original trajectory data, the timestamp interval is 1 second, that is, one trajectory point is recorded per second. For example, the original trajectory data is [(0, 10,20), (1, 12, 25), (2, 15, 30), (3, 18, 35)], where the first element of each tuple is the timestamp (seconds) and the last two elements are the latitude and longitude coordinates. Then, adjust the timestamp interval according to the speed value. Since the speed is 2, the timestamp interval should be reduced to 0.5 seconds. Next, we need to recalculate the trajectory point position. Since the timestamp interval has changed, we need to use an interpolation algorithm to calculate the trajectory point position corresponding to the new timestamp. Here we can use linear interpolation. For example, for the new timestamp of 0.5 seconds, the corresponding trajectory point position can be obtained by linear interpolation of the original trajectory points (0, 10,20) and (1, 12, 25). The specific calculation process is as follows: longitude = 10 + (12 - 10) *(5 - 0) / (1 - 0) = 11, latitude = 20 + (25 - 20) * (5 - 0) / (1 - 0) = 22.5. Therefore, the position of the track point corresponding to the new timestamp of 0.5 seconds is (0.5, 11, 22.5). Similarly, we can calculate the position of the track points corresponding to other new timestamps. In order to realize dynamic track playback on the page, after completing the recalculation of all track point positions, all track point information is transmitted to the front-end page. The front-end page uses JavaScript and map libraries (such as Baidu Map API) to draw the track. Use a timer to update the display position of the track point on the map every 0.5 seconds (consistent with the adjusted timestamp interval). Due to the increased speed, the track that originally took 3 seconds to complete can now be played back in just 1.5 seconds. The final generated dynamic playback trajectory data is [(0, 10, 20), (0.5, 11, 22.5), (1,12, 25), (1.5, 13.5, 27.5), (2, 15, 30), (2.5, 16.5, 32.5), (3, 18, 35)].

[0165] Step S3: According to the direction parameter, coordinate transformation is performed on the trajectory point through a rotation matrix to obtain an adjusted motion path, and dynamic update playback is performed based on the adjusted motion path, including:

[0166] Based on the direction parameter, the rotation angle and the rotation axis information are extracted, and a three-dimensional rotation matrix is ​​constructed based on the rotation angle and the rotation axis information;

[0167] The coordinate data of the trajectory point is stored in the form of a three-dimensional vector, and the three-dimensional vector is multiplied by the rotation matrix to obtain the coordinate data of the rotated trajectory point;

[0168] Generate an adjusted motion path according to the rotated trajectory point coordinate data.

[0169] Step S3 Specifically, assume that the direction parameter entered by the user is a 30 degree clockwise rotation, and there are a set of trajectory point coordinates (10, 20), (15, 25), (20, 30). First, we need to construct a two-dimensional rotation matrix. According to the rotation angle θ, the formula of the rotation matrix R is: R = [[cos(θ), -sin(θ)], [sin(θ), cos(θ)]]. Substitute θ = 30 degrees. Since the angle needs to be converted to radians, θ = 30 *π / 180≈5236 radians. Calculation yields cos(5236)≈866, sin(5236)≈5. Therefore, the rotation matrix R≈[[866, -5], [5, 866]]. Next, we treat each trajectory point as a column vector and multiply it with the rotation matrix. For the first trajectory point (10, 20), we can represent it as a column vector [

[10] ,

[20] ]. Perform matrix multiplication: [[866, -5],[5, 866]] * [

[10] ,

[20] ] = [[866*10- 5*20],[5*10 + 866*20]]= [[66 - 10],[5 + 132]]=[[-34],

[232] ]. Therefore, the coordinates of the first trajectory point after rotation are approximately (-34, 232). Similarly, perform the same operation on the second trajectory point (15, 25), [[866,-5], [5, 866]] * [

[15] ,

[25] ] = [[866*15 - 5*25], [5*15 + 866*25]] = [[199-15], [5 +265]] = [

[49] ,

[215] ], and the rotated coordinates are approximately (49, 215). For the third trajectory point (20, 30), [[866, -5], [5, 866]] * [

[20] ,

[30] ] = [[866*20 - 5*30], [5*20 + 866*30]] = [[132- 15], [10 + 298]] = [

[32] ,

[398] ], and the rotated coordinate is approximately (32, 398). To ensure the integrity of the data, we can store the original trajectory points and the rotated trajectory points in the database and record parameters such as the rotation angle. For example, create a data table named "trajectory_data" with the fields "point_id", "original_x", "original_y", "rotated_x", "rotated_y", and "rotation_angle". Insert the above calculation results into the table and record the rotation angle as 30 degrees. In this way, we have completed the coordinate transformation of the trajectory points and obtained the adjusted motion path, while ensuring the traceability of the data.

[0170] According to the trajectory data, the timestamp, coordinate information and related parameters of the trajectory points are extracted to generate structured trajectory data. The structured trajectory data is smoothed by using the trajectory optimization algorithm to eliminate noise points and obtain optimized trajectory data.

[0171] If there is a deviation between the optimized trajectory data and the preset parameters, the trajectory data is dynamically corrected, a dynamic update instruction is generated, the trajectory screen is redrawn based on the dynamic update instruction, and the redrawn trajectory screen is displayed in real time to ensure that the screen is synchronized with the trajectory data, record the screen update log, and generate trajectory playback data for subsequent analysis.

[0172] The dynamic correction of trajectory data is to ensure that the trajectory is consistent with the parameters.

[0173] Step S3 can also realize dynamic correction and display of trajectory data through parameter adjustment module and display module, and the specific implementation method is as follows:

[0174] If there is a deviation between the optimized trajectory data and the preset parameters, the parameter adjustment module is called to dynamically correct the trajectory data;

[0175] Through the data encapsulation protocol, the corrected trajectory data is packaged into a data format recognizable by the display module to generate a transmission data packet;

[0176] According to the communication interface requirements, the real-time transmission protocol is used to send data packets to the display module to ensure the real-time and integrity of data transmission;

[0177] After receiving the data packet, the display module parses the data packet content, extracts the track point information and parameters, and generates a dynamic update instruction;

[0178] If the display module detects that the track point information is inconsistent with the current picture, the picture rendering engine is called to redraw the track picture according to the dynamic update instruction; the redrawn track picture is displayed in real time through the picture refresh mechanism of the display module to ensure that the picture is synchronized with the track data;

[0179] According to the running status of the display module, the screen update log is recorded and the trajectory playback data is generated for subsequent analysis.

[0180] After step S3, the method further includes:

[0181] During playback, the noise level of the trajectory data is continuously monitored. If the noise exceeds the preset threshold, the smoothing algorithm is triggered for secondary processing.

[0182] The trajectory data acquisition module is used to obtain the trajectory data in real time during the playback process, including position, speed, timestamp and other information; based on the collected trajectory data, the change rate between adjacent data points is calculated to obtain the local fluctuation characteristics of the trajectory;

[0183] The noise level evaluation algorithm is used to analyze the local fluctuation characteristics and calculate the noise level value of the current trajectory data. If the noise level value exceeds the preset threshold, the noise detection flag is triggered and the smoothing process is entered; otherwise, the trajectory data continues to be monitored.

[0184] The sliding window technology is used to segment the trajectory data with excessive noise, extract the data point set within the window, and apply the Kalman filter algorithm to perform preliminary smoothing on the trajectory data according to the data point set within the window to obtain the filtered trajectory points;

[0185] The filtered trajectory points are further optimized through the quadratic smoothing algorithm, and the spline interpolation method is used to generate a smooth trajectory curve. According to the smoothed trajectory curve, the noise level value is recalculated to determine whether it meets the preset threshold requirement. If the recalculated noise level value still exceeds the threshold, the smoothing algorithm parameters are adjusted and the above steps are repeated until the noise level value meets the requirements.

[0186] Specifically, in the entire process of trajectory playback, it is set to collect 10 trajectory points per second, and each trajectory point contains longitude and latitude information. Then the distance between adjacent trajectory points can be calculated in real time, and the speed can be calculated in combination with the time difference. For example, if the longitude and latitude of p1 at a certain time point is (11404, 3915), and the longitude and latitude of p2 at the next time point is (11405, 3916), and the time difference is 1 second, by calculating that the distance between the two points is about 140 meters, then the speed can be calculated to be 1400 meters / second, which obviously exceeds the normal moving speed and is judged as noise. Set the speed threshold to 50 meters / second. When the calculated speed exceeds this threshold, it is determined that there is noise in the trajectory data. After detecting noise, the system immediately triggers the data smoothing algorithm. For example, a 5-point moving average filtering algorithm can be used to smooth the two points before and after the noise point. Assume that the speeds of five consecutive trajectory points including the noise point are [25, 30, 1400, 35, 40] m / s respectively. By calculating the average speed of these five points, the new speed value is 306 m / s. Although the value is still high, the impact of noise has been greatly reduced. Then, the smoothed speed value replaces the original noise value. Throughout the process, the number of noise points and the effect after processing are continuously recorded. When the proportion of noise points exceeds 5% of the total number of trajectory points, the system can automatically mark the quality of the trajectory data as poor, and weight or exclude these data in subsequent analysis to improve the overall data quality.

[0187] Embodiment 2:

[0188] On the other hand, the present application also provides a data management and persistence system for a real-time simulation system, including:

[0189] A data sorting module is used to form independent data frames for different types of sub-item simulation software according to the simulation frame sequence number and the preset data packet header structure;

[0190] The dynamic playback module is used to remove unnecessary data during data playback, adjust the timestamp interval according to the playback speed parameter, recalculate the trajectory point position, and generate a dynamic playback trajectory;

[0191] The update playback module is used to transform the coordinates of the trajectory points through a rotation matrix according to the direction parameters to obtain an adjusted motion path, and dynamically update the playback based on the adjusted motion path.

[0192] Optionally, the data sorting module is specifically used to:

[0193] According to the preset simulation clock frequency, the simulation frame number is obtained, and a unique identifier is generated according to the predefined frame number format;

[0194] According to a preset data packet header structure, encapsulating the unique identifier into the data packet header to form a data packet with timing information;

[0195] For different types of sub-item simulation software, extract key data types and bind the key data types with the timing information in the data packet header;

[0196] The key data with time series information is organized according to the preset independent data set structure to form an independent data frame.

[0197] Optionally, the dynamic playback module includes: a data elimination module and a recalculation module;

[0198] The data elimination module is used to eliminate unnecessary data during data playback based on the judgment criteria of unnecessary data and the time sequence range of the playback stage;

[0199] The recalculation module is used to adjust the time stamp interval according to the playback speed parameter, recalculate the trajectory point position, and generate a dynamic playback trajectory.

[0200] Optionally, the data elimination module is specifically used for:

[0201] Step 1: Determine whether a frame of data meets the criteria for non-essential data. If not, it is marked as permanent data. Otherwise, it is not marked as permanent data.

[0202] Step 2: Determine whether the timing information not marked as permanent data is within the timing range of the current playback stage. If not, mark the timing information not marked as permanent data as a data frame to be removed, otherwise, do not mark it;

[0203] Step 3: According to the data automatic elimination rules, all data frames marked as to be eliminated are removed from the playback data set;

[0204] Step 4: Calculate the reduction of playback load before and after data elimination through the correlation analysis model between data elimination and playback load;

[0205] Step 5: Determine whether the elimination of unnecessary data is completed based on whether the reduction in playback load reaches the expected target and whether the playback process is completed.

[0206] Optionally, the specific implementation steps of determining whether the elimination of unnecessary data is completed based on whether the reduction range of the playback load reaches the expected target and whether the playback process is completed in the data elimination module include:

[0207] When the reduction of playback load does not reach the expected target, determine whether the playback process is completed. If not, dynamically adjust the non-essential data judgment standard. Otherwise, complete the elimination of non-essential data.

[0208] When the playback load reduction reaches the expected target, unnecessary data is eliminated.

[0209] Optionally, the recalculation module is specifically used for:

[0210] Get the original trajectory data, extract the timestamp and location information of the trajectory points, and store them as time series and coordinate series;

[0211] According to the playback speed parameter, the timestamp interval adjustment ratio is calculated to generate a new timestamp interval value;

[0212] Recalculate the timestamp of each track point based on the time series and the new timestamp interval value by using a linear interpolation method, and calculate the coordinates of the new track point by using an interpolation algorithm according to the recalculated timestamp and the position information;

[0213] Combine the recalculated timestamps and coordinate sequences to generate initial playback trajectory data;

[0214] Determine whether the initial playback trajectory data meets the continuity requirements. If there are discontinuous points, use a smoothing algorithm to correct the trajectory point coordinates and store the corrected trajectory point coordinates in a structured format. Otherwise, do not correct the trajectory point coordinates and store them in a structured format.

[0215] According to business needs, the dynamic playback trajectory data in a structured format is matched with the map or scene data to generate a dynamic playback trajectory.

[0216] Optionally, a secondary processing module is further included, which is used to continuously monitor the noise level of the trajectory data during playback. If the noise level exceeds a preset threshold, the smoothing algorithm is triggered to perform secondary processing, otherwise the smoothing algorithm is not triggered to perform secondary processing.

[0217] Optionally, the update playback module includes: a parameter adjustment module and a display module;

[0218] The parameter adjustment module is used to perform coordinate transformation on the trajectory points through a rotation matrix according to the direction parameters to obtain an adjusted motion path;

[0219] The display module is used to dynamically update and replay based on the adjusted motion path;

[0220] If there is a deviation between the optimized trajectory data and the preset parameters, the parameter adjustment module is called to dynamically correct the trajectory data. Through the data encapsulation protocol, the corrected trajectory data is packaged into a data format recognizable by the display module to generate a transmission data packet;

[0221] According to the communication interface requirements, the real-time transmission protocol is used to send data packets to the display module to ensure the real-time and integrity of data transmission;

[0222] After receiving the data packet, the display module parses the data packet content, extracts the track point information and parameters, and generates a dynamic update instruction;

[0223] If the display module detects that the track point information is inconsistent with the current picture, the picture rendering engine is called to redraw the track picture according to the dynamic update instruction; the redrawn track picture is displayed in real time through the picture refresh mechanism of the display module to ensure that the picture is synchronized with the track data;

[0224] According to the running status of the display module, the screen update log is recorded and the trajectory playback data is generated for subsequent analysis.

[0225] Optionally, the parameter adjustment module is specifically used to:

[0226] Based on the direction parameter, the rotation angle and the rotation axis information are extracted, and a three-dimensional rotation matrix is ​​constructed based on the rotation angle and the rotation axis information;

[0227] The coordinate data of the trajectory point is stored in the form of a three-dimensional vector, and the three-dimensional vector is multiplied by the rotation matrix to obtain the coordinate data of the rotated trajectory point;

[0228] Generate an adjusted motion path according to the rotated trajectory point coordinate data.

[0229] Optionally, the display module is specifically used for:

[0230] Based on the adjusted motion path, the timestamp, coordinate information and related parameters of the trajectory points are extracted to generate structured trajectory data;

[0231] The trajectory optimization algorithm is used to smooth the structured trajectory data, eliminate noise points, and obtain optimized trajectory data;

[0232] It is determined whether the optimized trajectory data deviates from the preset parameters. If so, the trajectory data is dynamically corrected and the corrected trajectory data is dynamically updated and replayed. Otherwise, the trajectory data is directly dynamically updated and replayed.

[0233] Example 3

[0234] like Figure 2 As shown, the present invention also provides an electronic device, which may be a computer device, a single-chip device, an intelligent mobile device, etc. The electronic device in this embodiment may include a processor, a memory, a transceiver component, etc. The memory, the processor, and the transceiver component are connected via a bus; the memory may be used to store an execution program, and an exemplary execution program may include instructions; the processor is used to execute the instructions stored in the memory. The memory may also be used to store data, which may be called and / or modified when the instructions are executed.

[0235] The processor may be a central processing unit (CPU), or other general-purpose processors, digital signal processors (DSP), application-specific integrated circuits (ASIC), field-programmable gate arrays (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. It is the computing core and control core of the terminal, and is suitable for implementing one or more instructions, specifically suitable for loading and executing one or more instructions in a storage medium to implement corresponding method flows or corresponding functions, so as to implement the steps of a data management and persistence method of a real-time simulation system in the above-mentioned embodiment.

[0236] Example 4

[0237] Based on the same inventive concept, the present application also provides a readable storage medium, specifically an electronic device readable storage medium (Memory), which is a memory device in an electronic device for storing programs and data. It is understandable that the storage medium here can include both built-in storage media in electronic devices and, of course, extended storage media supported by electronic devices. The storage medium provides a storage space, which stores the operating system of the terminal. In addition, one or more instructions suitable for being loaded and executed by a processor are also stored in the storage space, and these instructions can be one or more execution programs (including program codes). It should be noted that the storage medium here can be a high-speed RAM memory or a non-volatile memory, such as at least one disk memory. The processor loads and executes one or more instructions stored in the storage medium, which can implement the steps of a data management and persistence method of a real-time simulation system in the above embodiment.

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

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

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

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

[0242] The above are merely embodiments of the present application and are not intended to limit the present application. Any modifications, equivalent substitutions, improvements, etc. made within the spirit and principles of the present application are included in the scope of the claims of the present application to be approved.

Claims

1. A data management and persistence method for a real-time simulation system, characterized in that: include: According to the simulation frame sequence number and the preset data packet header structure, independent data frames are formed for different types of sub-item simulation software; During data playback, unnecessary data is removed, and the timestamp interval is adjusted according to the playback speed parameter, and the trajectory point position is recalculated to generate a dynamic playback trajectory; According to the direction parameters, the coordinates of the trajectory points are transformed by a rotation matrix to obtain an adjusted motion path, and dynamic update playback is performed based on the adjusted motion path.

2. The method according to claim 1, characterized in that The forming of independent data frames for different types of sub-item simulation software according to the simulation frame sequence number and the preset data packet header structure includes: According to the preset simulation clock frequency, the simulation frame number is obtained, and a unique identifier is generated according to the predefined frame number format; According to a preset data packet header structure, encapsulating the unique identifier into the data packet header to form a data packet with timing information; For different types of sub-item simulation software, extract key data types and bind the key data types with the timing information in the data packet header; The key data with time series information is organized according to the preset independent data set structure to form an independent data frame.

3. The method according to claim 1, characterized in that During the data playback process, unnecessary data is removed, including: Step 1: Determine whether a frame of data meets the criteria for non-essential data. If not, it is marked as permanent data. Otherwise, it is not marked as permanent data. Step 2: Determine whether the timing information not marked as permanent data is within the timing range of the current playback stage. If not, mark the timing information not marked as permanent data as a data frame to be removed. Otherwise, do not mark it. Step 3: According to the data automatic elimination rules, all data frames marked as to be eliminated are removed from the playback data set; Step 4: Calculate the reduction of playback load before and after data elimination through the correlation analysis model between data elimination and playback load; Step 5: Determine whether the elimination of unnecessary data is completed based on whether the reduction in playback load reaches the expected target and whether the playback process is completed.

4. The method according to claim 3, characterized in that The determining whether the elimination of unnecessary data is completed based on whether the reduction of the playback load reaches the expected target and whether the playback process is completed includes: When the reduction of playback load does not reach the expected target, determine whether the playback process is completed. If not, dynamically adjust the non-essential data judgment standard. Otherwise, complete the elimination of non-essential data. When the playback load reduction reaches the expected target, unnecessary data is eliminated.

5. The method according to claim 1, characterized in that The step of adjusting the time stamp interval according to the playback speed parameter, recalculating the position of the track point, and generating a dynamic playback track includes: Get the original trajectory data, extract the timestamp and location information of the trajectory points, and store them as time series and coordinate series; According to the playback speed parameter, the timestamp interval adjustment ratio is calculated to generate a new timestamp interval value; Recalculate the timestamp of each track point based on the time series and the new timestamp interval value by using a linear interpolation method, and calculate the coordinates of the new track point by using an interpolation algorithm according to the recalculated timestamp and the position information; Combine the recalculated timestamps and coordinate sequences to generate initial playback trajectory data; Determine whether the initial playback trajectory data meets the continuity requirements. If there are discontinuous points, use a smoothing algorithm to correct the trajectory point coordinates and store the corrected trajectory point coordinates in a structured format. Otherwise, do not correct the trajectory point coordinates and store them in a structured format. According to business needs, the dynamic playback trajectory data in a structured format is matched with the map or scene data to generate a dynamic playback trajectory.

6. The method according to claim 1, characterized in that The step of performing coordinate transformation on the trajectory points through a rotation matrix according to the direction parameter to obtain an adjusted motion path includes: Based on the direction parameter, the rotation angle and the rotation axis information are extracted, and a three-dimensional rotation matrix is ​​constructed based on the rotation angle and the rotation axis information; The coordinate data of the trajectory point is stored in the form of a three-dimensional vector, and the three-dimensional vector is multiplied by the rotation matrix to obtain the coordinate data of the rotated trajectory point; Generate an adjusted motion path according to the rotated trajectory point coordinate data.

7. The method according to claim 1, characterized in that The dynamically updating playback based on the adjusted motion path includes: Based on the adjusted motion path, the timestamp, coordinate information and related parameters of the trajectory points are extracted to generate structured trajectory data; The trajectory optimization algorithm is used to smooth the structured trajectory data, eliminate noise points, and obtain optimized trajectory data; It is determined whether the optimized trajectory data deviates from the preset parameters. If so, the trajectory data is dynamically corrected and the corrected trajectory data is dynamically updated and replayed. Otherwise, the trajectory data is directly dynamically updated and replayed.

8. A data management and persistence system for a real-time simulation system, characterized in that: include: A data sorting module is used to form independent data frames for different types of sub-item simulation software according to the simulation frame sequence number and the preset data packet header structure; The dynamic playback module is used to remove unnecessary data during data playback, adjust the timestamp interval according to the playback speed parameter, recalculate the trajectory point position, and generate a dynamic playback trajectory; The update playback module is used to transform the coordinates of the trajectory points through a rotation matrix according to the direction parameters to obtain an adjusted motion path, and dynamically update the playback based on the adjusted motion path.

9. The system according to claim 8, characterized in that The data sorting module is specifically used for: According to the preset simulation clock frequency, the simulation frame number is obtained, and a unique identifier is generated according to the predefined frame number format; According to a preset data packet header structure, encapsulating the unique identifier into the data packet header to form a data packet with timing information; For different types of sub-item simulation software, extract key data types and bind the key data types with the timing information in the data packet header; The key data with time series information is organized according to the preset independent data set structure to form an independent data frame.

10. The system according to claim 8, characterized in that The dynamic playback module includes: a data elimination module and a recalculation module; The data elimination module is used to eliminate unnecessary data during data playback based on the judgment criteria of unnecessary data and the time sequence range of the playback stage; The recalculation module is used to adjust the time stamp interval according to the playback speed parameter, recalculate the trajectory point position, and generate a dynamic playback trajectory.

11. An electronic device, characterized in that: include: at least one processor and memory; The memory and the processor are connected via a bus; The memory is used to store one or more programs; When the one or more programs are executed by the at least one processor, a data management and persistence method for a real-time simulation system as described in any one of claims 1 to 7 is implemented.

12. A readable storage medium, characterized in that: An execution program is stored thereon, and when the execution program is executed, a data management and persistence method for a real-time simulation system as described in any one of claims 1 to 7 is implemented.

Citation Information

Patent Citations

  • Evaluation system and method for automatic driving vehicle

    CN107782564A

  • Automatic acquisition and playback method, device and equipment for simulation data

    CN116662140A

  • Visual simulation backtracking method based on archive playback controller

    CN117850270A

  • Track generation method and device of navigation simulation system, electronic equipment and medium

    CN118171490A

  • Replay playback display control method based on event tracing

    CN119622133A

Cited By

  • Real-time closed-loop navigation signal simulation method, device, equipment and medium

    CN121208877A

  • A real-time closed-loop navigation signal simulation method, device, equipment and medium

    CN121208877B