A flight parameter data analysis method, device, electronic device and storage medium
By mapping the flying parameter data file to computer memory and using multi-threaded data analysis method, the traditional flying parameter data analysis method is solved under high sampling rate and large parameter quantity conditions, and efficient flying parameter data analysis is achieved and application requirements that support multi-user and high concurrency are supported.
Patent Information
- Application Number
- CN202410583568.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-05-11
- Publication Date
- 2025-03-18
- Estimated Expiration
- 2044-05-11
AI Technical Summary
When traditional flying parameter data analysis methods process flying parameter files with high sampling rate and large parameter volume, the parsing efficiency is low, making it difficult to support high concurrency and multi-user flying parameter comprehensive application systems.
The original flying parameter data file is mapped to computer memory through the data reading module, and data is read using a single independent thread. The multi-threaded data analysis module obtains the target frame data of the target data frame based on the target frame position and frame header information to achieve efficient flying parameter data analysis.
It improves the efficiency of flying parameter data analysis, reduces the time of flying parameter data analysis, and supports the application needs of multi-users and high-concurrency flying parameter data.
Smart Images

Figure CN118445077B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of data processing technology, and in particular to a flight parameter data analysis method, device, electronic device and storage medium. Background Art
[0002] In the related art, as new aircraft gradually adopt complex body structures, sophisticated sensors, and integrated and intelligent avionics systems, the number of parameters and sampling rates recorded by the flight recording system have increased exponentially compared to old aircraft. Traditional flight parameter data application systems all directly read the original flight parameter files, call the flight parameter parsing program for processing, and then transmit them to the application for data application. This flight parameter data processing method can still meet the application requirements for flight parameter files with low sampling rates and small parameter amounts and single-user flight parameter application systems, but for the current high sampling rates, large parameter amounts of flight parameter files and high-concurrency flight parameter integrated application systems, its shortcomings such as low parsing efficiency are revealed. In summary, the technical problems existing in the related art need to be improved. Summary of the invention
[0003] The embodiments of the present application aim to solve at least one of the technical problems in the related art to a certain extent. To this end, the main purpose of the embodiments of the present application is to propose a flight parameter data analysis method, device, electronic device and storage medium to improve the efficiency of flight parameter data analysis and reduce the time of flight parameter data analysis.
[0004] To achieve the above purpose, an embodiment of the present application provides a flight parameter data analysis method, the method comprising:
[0005] Acquire the original flight parameter data file through a data reading module, and map the original flight parameter data file to the computer memory; the data reading module is composed of a single independent thread;
[0006] Acquire the first interface control document data through the data reading module; the first interface control document data includes the data frame identifier of the flight parameter data to be parsed;
[0007] Determine the target frame position of the target data frame of the flight parameter data to be parsed in the computer memory according to the data frame identifier of the flight parameter data to be parsed through the data reading module, and obtain the target frame header information of the target data frame;
[0008] Obtaining target frame data corresponding to the target data frame according to the target frame position and the target frame header information through a data analysis module; the data analysis module is composed of a plurality of independent threads;
[0009] Acquire the second interface control document data through the data parsing module;
[0010] The target frame data is parsed by the data parsing module according to the second interface control document data to obtain the target flight parameter value.
[0011] In some embodiments, after the target frame data is parsed by the data parsing module according to the second interface control document data to obtain the target flight parameter value, the method further includes:
[0012] The target flight parameter value is stored in a buffer in a preset column storage manner through the data analysis module;
[0013] The buffer is monitored by a monitoring module, and when the buffer is full, each target flight parameter value in the buffer is written into a timing database.
[0014] In some embodiments, the monitoring of the buffer by a monitoring module and writing each target flight parameter value in the buffer into a time series database when the buffer is full include:
[0015] The buffer is monitored by a monitoring module. When the buffer is fully loaded, each target flight parameter value in the buffer is format converted according to a preset data format to obtain target storage data, and the target storage data is written into a time series database.
[0016] In some embodiments, after writing the target storage data into a time series database, the method further includes:
[0017] The target flight parameter parameter values are sorted according to the time stamps corresponding to the target flight parameter parameter values in the target storage data through the time series database, and the flight parameter data composed of the target flight parameter parameter values are compressed through the time series database.
[0018] In some embodiments, the obtaining of the original flight parameter data file through the data reading module includes:
[0019] Obtain the original flight parameter data file address through the data reading module;
[0020] The data reading module obtains the original flight parameter data file according to the original flight parameter data file address.
[0021] In some embodiments, obtaining the target frame data corresponding to the target data frame according to the target frame position and the target frame header information by the data parsing module includes:
[0022] The data parsing module obtains the target frame data corresponding to the target data frame in a preset lock-free circular queue manner according to the target frame position and the target frame type and target frame length in the target frame header information.
[0023] In some embodiments, the second interface control document data includes a data frame structure corresponding to the original flight parameter data in the original flight parameter data file, and the data parsing module parses the target frame data according to the second interface control document data to obtain the target flight parameter value, including:
[0024] The target frame data is parsed according to the data frame structure by the data parsing module to obtain the target flight parameter value.
[0025] To achieve the above-mentioned purpose, another aspect of the embodiment of the present application provides a flight parameter data analysis device, the device comprising:
[0026] A memory mapping module, used for acquiring an original flight parameter data file through a data reading module, and mapping the original flight parameter data file to a computer memory; the data reading module is composed of a single independent thread;
[0027] A first interface control document data acquisition module is used to acquire first interface control document data through the data reading module; the first interface control document data includes a data frame identifier of the flight parameter data to be parsed;
[0028] A data frame position determination module, used to determine the target frame position of the target data frame of the flight parameter data to be parsed in the computer memory according to the data frame identifier of the flight parameter data to be parsed through the data reading module, and obtain the target frame header information of the target data frame;
[0029] A frame data extraction module, used for obtaining target frame data corresponding to the target data frame according to the target frame position and the target frame header information through a data analysis module; the data analysis module is composed of a plurality of independent threads;
[0030] A second interface control document data acquisition module, used for acquiring the second interface control document data through the data parsing module;
[0031] A data analysis module is used to parse the target frame data according to the second interface control document data through the data analysis module to obtain a target flight parameter value.
[0032] To achieve the above-mentioned purpose, another aspect of an embodiment of the present application provides an electronic device, the electronic device comprising a memory and a processor, the memory storing a computer program, and the processor implementing the above-mentioned method when executing the computer program.
[0033] To achieve the above objective, another aspect of an embodiment of the present application provides a computer-readable storage medium, wherein the computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the method described above is implemented.
[0034] The embodiments of the present application include at least the following beneficial effects: the present application provides a flight parameter data parsing method, device, electronic device and storage medium, the scheme obtains the original flight parameter data file through a data reading module, and maps the original flight parameter data file to the computer memory; the data reading module is composed of a single independent thread; the first interface control document data is obtained through the data reading module; the first interface control document data contains the data frame identifier of the flight parameter data to be parsed; the target frame position of the target data frame of the flight parameter data to be parsed in the computer memory is determined by the data reading module according to the data frame identifier of the flight parameter data to be parsed, and the target frame header information of the target data frame is obtained; the target frame data corresponding to the target data frame is obtained by the data parsing module according to the target frame position and the target frame header information; the data parsing module is composed of several independent threads; the second interface control document data is obtained by the data parsing module; the target frame data is parsed by the data parsing module according to the second interface control document data to obtain the target flight parameter parameter value. The embodiment of the present application maps the original flight parameter data file to the computer memory through a single independent thread data reading module, thereby realizing efficient reading of the original flight parameter data file. In addition, memory mapping allows direct access to file data in the memory, thus avoiding frequent disk I / O operations. By separating the reading thread and the parsing thread and adopting a multi-threaded data parsing method, it is possible to fully utilize the multi-core CPU, effectively improve the concurrency performance, greatly improve the efficiency of flight parameter data parsing, and reduce the flight parameter data parsing time. BRIEF DESCRIPTION OF THE DRAWINGS
[0035] Figure 1 It is a flowchart of the steps of a flight parameter data analysis method provided in an embodiment of the present application;
[0036] Figure 2 This is a structural diagram of storing flight parameter data in a time series database provided by an embodiment of the present application;
[0037] Figure 3 It is a structural schematic diagram of a flight parameter data analysis device provided in an embodiment of the present application;
[0038] Figure 4 It is a schematic diagram of the hardware structure of the electronic device provided in the embodiment of the present application. DETAILED DESCRIPTION
[0039] In order to make the purpose, technical solutions and advantages of the present application clearer, the present application is further described in detail below in conjunction with the accompanying drawings and examples. It should be understood that the specific embodiments described herein are only used to explain the present application and are not intended to limit the present application. When the following description refers to the drawings, unless otherwise indicated, the same numbers in different drawings represent the same or similar elements. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with the embodiments of the present application. They are only examples of devices and methods consistent with some aspects of the embodiments of the present application as detailed in the attached claims.
[0040] It is understood that the terms "first", "second", etc. used in this application can be used to describe various concepts in this article, but unless otherwise specified, these concepts are not limited by these terms. These terms are only used to distinguish one concept from another concept. For example, without departing from the scope of the embodiment of the present application, the first information may also be referred to as the second information, and similarly, the second information may also be referred to as the first information. Depending on the context, the words "if" and "if" as used herein can be interpreted as "at the time of" or "when" or "in response to determination".
[0041] The terms "at least one", "multiple", "each", "any", etc. used in this application, at least one includes one, two or more, multiple includes two or more, each refers to each of the corresponding multiple, and any refers to any one of the multiple.
[0042] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as those commonly understood by those skilled in the art to which this application belongs. The terms used herein are only for the purpose of describing the embodiments of this application and are not intended to limit this application.
[0043] In the related art, as new aircraft gradually adopt complex body structures, sophisticated sensors, and integrated and intelligent avionics systems, the number of parameters and sampling rates recorded by the flight recording system have increased exponentially compared to old aircraft. Traditional flight parameter data application systems all directly read the original flight parameter files, call the flight parameter parsing program for processing, and then transmit them to the application for data application. This flight parameter data processing method can still meet the application requirements for flight parameter files with low sampling rates and small parameter amounts and single-user flight parameter application systems. However, for the current high sampling rates, large parameter amounts of flight parameter files and high concurrency, multi-user flight parameter comprehensive application systems, its low parsing efficiency and lack of support for multi-user systems are the shortcomings that emerge. In summary, the technical problems existing in the related art need to be improved.
[0044] For example, traditional flight parameter data analysis application methods or systems have problems such as low analysis efficiency, lack of support for multi-user, high concurrency and other application scenarios. The main reasons are as follows:
[0045] (1) Traditional aircraft flight data sampling rate is low, the number of parameters is small, and the single-threaded, sequential reading and parsing method is used. Its parsing efficiency has little impact on subsequent flight data application programs. However, for the new generation of aircraft, the flight data sampling rate has increased by more than ten times, and the number of parameters has increased by several times or even dozens of times. As a result, the size of the original flight data file has increased by dozens, hundreds or even thousands of times compared to traditional aircraft. In this case, the use of traditional flight data parsing methods will result in a long data parsing time, which is increasingly unable to meet the flight data application needs.
[0046] (2) Traditional flight data analysis programs are generally developed using multi-paradigm programming languages such as C# and Java, which can reduce program development costs. However, the level of optimization of their processing performance is insufficient, and it is difficult to achieve cross-platform use of analysis programs, which is difficult to meet the needs of efficient analysis of flight data with high adoption rates and large amounts of parameters for new-generation aircraft, as well as the cross-platform application requirements of applications.
[0047] (3) Traditional flight data analysis programs are strongly coupled with flight data applications. One flight data analysis program serves one flight data application. For comprehensive and intelligent data application platforms such as the ground health management system, autonomous support information system, and flight data analysis and mining platform developed for the new generation of aircraft, which have multi-user and high-concurrency data application requirements, traditional flight data analysis programs are difficult to meet the requirements.
[0048] In view of this, a flight parameter data parsing method, device, electronic device and storage medium are provided in the embodiments of the present application. The scheme obtains the original flight parameter data file through a data reading module and maps the original flight parameter data file to the computer memory; the data reading module is composed of a single independent thread; the first interface control document data is obtained through the data reading module; the first interface control document data contains a data frame identifier of the flight parameter data to be parsed; the target frame position of the target data frame of the flight parameter data to be parsed in the computer memory is determined according to the data frame identifier of the flight parameter data to be parsed through the data reading module, and the target frame header information of the target data frame is obtained; the target frame data corresponding to the target data frame is obtained according to the target frame position and the target frame header information through the data parsing module; the data parsing module is composed of several independent threads; the second interface control document data is obtained through the data parsing module; the target frame data is parsed according to the second interface control document data through the data parsing module to obtain the target flight parameter parameter value. The embodiment of the present application maps the original flight parameter data file to the computer memory through a single independent thread data reading module, thereby realizing efficient reading of the original flight parameter data file. In addition, memory mapping allows direct access to file data in the memory, thus avoiding frequent disk I / O operations. By separating the reading thread and the parsing thread and adopting a multi-threaded data parsing method, it is possible to fully utilize the multi-core CPU, effectively improve the concurrency performance, greatly improve the efficiency of flight parameter data parsing, and reduce the flight parameter data parsing time.
[0049] A flight parameter data parsing method provided in an embodiment of the present application relates to the field of data processing technology. A flight parameter data parsing method provided in an embodiment of the present application can be applied to a terminal, can be applied to a server, or can be software running in a terminal or a server. 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 car terminal, etc., but is not limited to this; the server side can be configured as an independent physical server, or a server cluster or distributed system composed of multiple physical servers, and can also be configured to provide cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communications, middleware services, domain name services, security services, CDN (Content De li very Network content distribution network) and big data and artificial intelligence platforms and other basic cloud computing services. The cloud server, the server can also be a node server in a blockchain network; the software can be an application that implements a flight parameter data parsing method, etc., but is not limited to the above forms.
[0050] The present application can be used in many general or special computer system environments or configurations. For example: personal computers, server computers, handheld or portable devices, tablet devices, multiprocessor systems, microprocessor-based systems, set-top boxes, programmable consumer electronic devices, network PCs (personal computers), minicomputers, mainframe computers, distributed computing environments including any of the above systems or devices, 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. The present application can also be practiced in distributed computing environments, in which tasks are performed by remote processing devices connected through a communication network. In a distributed computing environment, program modules can be located in local and remote computer storage media including storage devices.
[0051] See also Figure 1 , Figure 1 is an optional step flow chart of a flight parameter data analysis method provided in an embodiment of the present application, Figure 1 The method may include but is not limited to steps S101 to S105.
[0052] Step S101, obtaining an original flight parameter data file through a data reading module, and mapping the original flight parameter data file to a computer memory; the data reading module is composed of a single independent thread;
[0053] For the data reading module, which is implemented by an independent thread, see Figure 2 , Figure 2 Schematic diagram of a structure of storing flight parameter data in a time series database provided by an embodiment of the present application; Figure 2 As shown, for the data reading module, it corresponds to Figure 2 The data reading (thread 1) part.
[0054] In some embodiments, obtaining the original flight parameter data file through the data reading module may include: obtaining the address of the original flight parameter data file through the data reading module; and obtaining the original flight parameter data file according to the address of the original flight parameter data file through the data reading module.
[0055] The original flight parameter data file address can be used to automatically read the original flight parameter data file according to the address information. The process of the data reading module reading the original flight parameter data file is essentially to obtain the original flight parameter data file address through the data reading module, find the original flight parameter data file according to the original flight parameter data file address, and map it into the computer memory.
[0056] In addition, if Figure 2 As shown, in the embodiment of the present application, the overall architecture of the flight parameter data analysis program includes three main processes: input, processing and output, such as Figure 2 As shown, before the data reading module is executed, a data input module is also set up. The data input module is used to input the original flight parameter data file address and IC (Interface Control Document interface control document) data. The data reading module can read the original flight parameter data file by obtaining the original flight parameter data file address input by the data input module.
[0057] Wherein, ICD data refers to the data information of the interface control document, which is the important parameter information for parsing the flight parameter data, which can be read through the database of the application system, or read in the form of a data file, and the embodiment of the present application does not limit this. Wherein, the ICD data of a data frame includes the frame type of the data, the frame length, the timestamp, the offset of the start bit of the data, the flight parameter parameter name, the parameter position offset, the data type, the parameter parsing algorithm (i.e., how to parse the original binary data of the encrypted flight parameter parameter into decimal data), etc. It can be understood that the ICD data describes the data frame structure of the original flight parameter data file, mainly including the frame identification of the data frame, the frame header structure (the data bits and positions occupied by the frame length, the timestamp, the frame type, etc.), the flight parameter data structure (the flight parameter parameter name, the data bits and positions occupied, the data type, the parsing algorithm, etc.) and the frame tail structure (the data bits and positions occupied by the frame tail). That is, the basic structure in the data frame is: frame identification (corresponding to the IC table code), frame header data (corresponding to the frame header structure in the IC), flight parameter parameters (corresponding to the flight parameter data structure in the IC) and frame tail information (corresponding to the frame tail structure in the IC). Among them, one data frame can store hundreds of flight parameter data.
[0058] In an embodiment of the present application, the original flight parameter data file is obtained through a data reading module composed of a single independent thread, and the original flight parameter data file is mapped to the computer memory. By adopting the efficient random reading technology of memory mapping, efficient reading of the original flight parameter data file is achieved. Memory mapping allows file data to be accessed directly in the memory, avoiding frequent disk I / O (I nput / Output input / output) operations and improving access speed.
[0059] Step S102, obtaining first interface control document data through the data reading module; the first interface control document data includes a data frame identifier of the flight parameter data to be parsed;
[0060] Among them, the first interface control document data is obtained by the data reading module performing the ICD data loading operation. In the data reading module, the data obtained by performing the ICD data loading mainly includes the data frame identification of the flight parameter data to be parsed, the position of key parameters such as the frame type, frame length, time stamp in the data frame and the data information of the occupied data bits, etc.
[0061] In an embodiment of the present application, the first interface control document data is obtained through a data reading module, and the data frame identifier and other information of the flight parameter data to be parsed contained in the first interface control document data can provide a data basis for the subsequent acquisition of the target frame position of the target data frame in the computer memory.
[0062] Step S103, determining the target frame position of the target data frame of the flight parameter data to be parsed in the computer memory according to the data frame identifier of the flight parameter data to be parsed through the data reading module, and obtaining the target frame header information of the target data frame;
[0063] The target frame position described here is the starting position of the target data frame in the computer memory. It can be understood that the starting position of the data frame can be located according to the frame identifier.
[0064] like Figure 2 As shown, in the embodiment of the present application, the overall architecture of the flight parameter data analysis program includes three main processes: input, processing and output. The processing process is further divided into four sub-processes: data reading, data analysis, monitoring and storage. Among them, data processing is the core processing program of the embodiment of the present application. It is developed in the C++ basic development language and can be compiled and adapted to various operating systems and application software platforms. The data processing process adopts multi-threaded parallel computing technology.
[0065] Before the data reading module executes the data reading process, it is necessary to initialize the flight parameter data processing program in the flight parameter data analysis program, that is, after receiving the call instruction, initialize the flight parameter data processing program. The initialization content mainly includes: (1) Allocate memory: allocate memory space for the flight parameter data analysis and storage processing program (flight parameter data processing program); (2) Allocate CPU (Central Processing Unit) computing resources: allocate CPU threads and initialize them; (3) Establish a parsed data buffer; (4) Create a lock-free circular queue for the original data frame; (5) Create a lock-free circular queue for the parsed data buffer.
[0066] Among them, when initializing the flight parameter data processing program, the lock-free circular queue of the original data frame is the communication medium between the data reading thread and the data parsing thread. Each element in the queue is the information of an original data frame, that is, the lock-free circular queue can be used to store the original data frame information read from the original flight parameter data file, so that the data parsing thread can continuously read data from the queue for processing without waiting. The lock-free circular queue of the parsed data buffer (lock-free circular buffer queue) is the communication medium between the data parsing thread and the storage thread. The data parsing thread stores the parsed data in the queue, and the storage thread takes the data from the queue and stores it in the time series database. Each element in the queue is a data block (buffer), containing n parsed data (n is a parameter adaptively adjusted according to the hardware configuration), that is, the lock-free circular buffer queue can be used to store the flight parameter values after data parsing processing, so that the data can overwrite the old data when the buffer is full, ensuring real-time processing of data and recycling of queues.
[0067] For the triggering of the call instruction, different triggering modes can be supported according to different application requirements. For example, in the flight parameter rapid interpretation system, it is a manual trigger; in multiple application scenarios such as the ground PHM (Prognost i cs and Health Management) system, the embodiment of the present application is designed with monitoring the new files in the memory - automatic triggering.
[0068] Among them, the flight parameter data to be analyzed is the flight parameter data that needs to be analyzed in the original flight parameter data file.
[0069] The data frame identifier can be used to match the ICD information corresponding to the data frame to achieve the association between the parsed data and the parameter name. Specifically, the data frame identifier can identify data frames of different bus types and can be used to locate the frame position. Among them, the target data frame is the data frame corresponding to the flight parameter data to be parsed. The target data frame can be located by the data frame identifier, that is, the data frame position can be located according to the flight parameter data frame identifier to be parsed and recorded.
[0070] like Figure 2 As shown, in the data reading module, there are three parts, including reading the original flight parameter data file, frame position positioning and frame header information parsing. Among them, reading the original flight parameter data file is the process of finding the original flight parameter data file according to the original flight parameter data file address and mapping it into the computer memory; frame position positioning is the process of locating the data frame position and recording it according to the flight parameter data frame identifier to be parsed; frame header information parsing is the process of reading the data frame header information and parsing and recording the frame length, frame type, time stamp and other information of the data frame.
[0071] From the above content, it can be known that the ICD data describes the data frame structure of the original flight parameter data file, mainly including the frame identifier of the data frame, the frame header structure (data bits and positions occupied by frame length, time stamp, frame type, etc.), the flight parameter data structure (flight parameter name, data bits and positions occupied, data type, parsing algorithm, etc.) and the frame tail structure (data bits and positions occupied by the frame tail). Among them, the data reading module also includes the ICD data loading part, at this time, the data information including the position and data bits occupied by key parameters such as frame type, frame length, time stamp, etc. in the data frame can be loaded, and then the frame header information of the flight parameter data frame to be parsed is parsed based on the loaded ICD data information.
[0072] It can be understood that after the data reading module reads in the original flight parameter data file, it first matches the flight parameter data according to the data frame identifier of the flight parameter to be parsed, locates the position of the data frame in the entire data file, and then parses the frame header information according to the ICD data, reads the frame type, frame length and frame timestamp (time stamp) and other information in the frame header information, and records the frame identifier, frame type, frame data starting position and frame timestamp, etc.
[0073] It should be noted that the process of obtaining the target frame header information of the target data frame in the embodiment of the present application is the process of parsing the frame header information of the flight parameter data frame to be parsed based on the loaded ICD data information.
[0074] Among them, the frame type is used to identify the type of data frame. The data frames of the same bus can be divided into multiple frame types, which are used to allocate parsing threads and match the corresponding flight parameter parsing ICD; the frame length is the number of bytes occupied by the data frame, which is used to determine the extraction of the entire data frame to the parsing thread, and can also be used to calculate the position of the next frame; the frame timestamp is also called the time stamp, which is the time stamp when the airborne system constructs a data frame and is used as the time stamp of the flight parameter data; the frame data is the flight parameter data stored in the data frame, that is, the data between the frame header and the frame tail. Through the ICD, the position of each flight parameter can be located, and the original data can be parsed into decimal engineering data; the frame tail is the end flag information of the data frame.
[0075] In the embodiment of the present application, the flight parameter data processing program is developed through the C++ basic development language, which can be compiled and adapted to various operating systems and application software platforms. Specifically, it can be compiled and adapted to various operating systems and application software platforms through the C++ basic development language. The reasons are: on the one hand, the ability of C++ itself, compared with the traditional C# language development: (1) Different compilation methods: C++ is a compiled language, and the code needs to be compiled into machine code before running, which makes C++ execute faster; while C# is an interpreted language, and the code is interpreted and executed by CLR (Common Language Runt ime common language runtime) at runtime. (2) C++ is closer to the underlying hardware, allowing finer-grained control and optimization; while C#'s type system and runtime environment will introduce some additional overhead. (3) Platform dependence: C++ can better adapt to different platforms and hardware architectures because it is closer to the bottom layer and can be more easily optimized and adjusted; while C# is more dependent on CLR and .NET framework, and its performance is affected by the runtime environment. On the other hand, when designing the program architecture, the effects of C++ language are as follows: (1) By selecting a more low-level data structure and algorithm, data processing efficiency can be improved. (2) By using multi-threaded parallel computing technology, the performance of multi-core processors can be fully utilized. (3) Efficient memory management avoids unnecessary memory allocation and release, and uses memory pool and cache technology to improve memory usage efficiency. (4) It can achieve deep optimization of I / O efficiency.
[0076] In a specific implementation, the target frame position of the target data frame of the flight parameter data to be parsed in the computer memory is determined by the data reading module according to the data frame identifier of the flight parameter data to be parsed, thereby avoiding traversal of the entire flight parameter data, thereby greatly reducing the parsing time and improving the processing efficiency. The frame header information of the flight parameter data frame of the flight parameter data to be parsed is parsed based on the loaded ICD data information, which can ensure that the parsing of the frame header information is correct and reduce the probability of errors in the parsing process.
[0077] Step S104, obtaining target frame data corresponding to the target data frame according to the target frame position and the target frame header information through a data analysis module; the data analysis module is composed of a plurality of independent threads;
[0078] The data analysis module is composed of several independent threads. Each data analysis thread calculates in parallel. The processing process of each thread is the same. The number of independent threads is determined by the frame type of the flight parameter data to be analyzed. Figure 2 As shown, for the data reading module, it corresponds to Figure 2 The data analysis (threads 2 to N) part.
[0079] For the target frame data, it is all the data of the data frame of the flight parameter data to be parsed, that is, the whole frame data. All the data of the data frame includes the frame identifier, frame header (frame length, timestamp, frame type, etc.), frame data (stored flight parameter values), frame tail (frame end identification information), where the frame data is the flight parameter data stored in the data frame, that is, the data between the frame header and the frame tail. Through the ICD data, the position of each flight parameter can be located, and the original data can be parsed into decimal engineering data.
[0080] Among them, the relationship between flight parameter data, flight parameter parameters and flight parameter parameter values can be concretely understood in the form of "surface, line and point", that is, flight parameter data (surface) is a summary expression, referring to a time series data set composed of several flight parameter parameter names, flight parameter parameter values and time scales; flight parameter parameter (line) refers to a time series data set composed of a flight parameter parameter name, flight parameter parameter value and time scale; flight parameter parameter value (point) refers to the specific value of a flight parameter name under a specific time scale.
[0081] In some embodiments, step S104 may include: obtaining target frame data corresponding to the target data frame by a data parsing module according to the target frame position and the target frame type and target frame length in the target frame header information, using a preset lock-free circular queue method.
[0082] The target frame type and the target frame length can be obtained by reading the frame type and the frame length in the frame header information in the process of parsing the frame header information according to the ICD data in step S102.
[0083] As for the preset lock-free circular queue method, it is a lock-free circular queue (Lock-free Circular Queue) technology, which is a concurrent data structure used to efficiently process data in a multi-threaded environment. It can achieve safe synchronization between threads without the need for lock operations, thereby avoiding performance problems caused by lock contention.
[0084] In the specific implementation, a lock-free circular queue of the original data frame is configured to store the original data frame information read from the original flight parameter data file, so that the data parsing thread can continuously read data from the queue for processing without waiting.
[0085] Among them, the starting position of the data frame can be located according to the frame identifier, the thread to which the data frame is assigned can be tracked according to the frame type, and the end position of the data frame can be determined according to the frame length. In this way, the specific position of a type of data frame in the entire original flight parameter data file can be located, so that the target frame data can be obtained according to the specific position.
[0086] In an embodiment of the present application, a data parsing module composed of several independent threads obtains the target frame data corresponding to the target data frame according to the target frame position and the target frame type and target frame length in the target frame header information, thereby avoiding the performance bottleneck caused by traditional locks and making communication between multiple threads more efficient.
[0087] Step S105, obtaining the second interface control document data through the data parsing module;
[0088] Optionally, the interface control document data includes a data frame structure corresponding to the original flight parameter data in the original flight parameter data file, and the data frame structure mainly includes the frame identifier of the data frame, the frame header structure (data bits and positions occupied by frame length, time stamp, frame type, etc.), the flight parameter data structure (flight parameter name, data bits and positions occupied, data type, parsing algorithm, etc.) and the frame tail structure (data bits and positions occupied by the frame tail).
[0089] In the data analysis thread, by identifying the aircraft model information in the original flight parameter data file, the flight parameter data analysis program corresponding to the aircraft model is automatically matched to load the corresponding ICD data information. The second interface controls the document data obtained by the data analysis module performing the ICD data loading operation. In the data analysis module, the content of the ICD data loading here is mainly the flight parameter data structure information in the original flight parameter data frame structure, mainly parameter name, parameter position, data type, analysis algorithm and other information. It should be noted that the flight parameter data analysis program / system provided in the embodiment of the present application can adapt to the flight parameter data analysis and storage of multiple aircraft models. Therefore, when configuring the ICD data (database or file), the aircraft model field corresponding to the ICD data is configured.
[0090] In an embodiment of the present application, after extracting the frame data information of the data frame into the data parsing thread, subsequent frame data parsing can be performed based on the information loaded by the ICD data.
[0091] Step S105, parsing the target frame data according to the second interface control document data through the data parsing module to obtain target flight parameter values.
[0092] The target flight parameter value is the flight parameter value after the target frame data is parsed. The flight parameter value format can be composed of a time stamp (such as: 2023-12-12 14:12:12), a parameter name (such as: 1# engine speed) and a flight parameter value (such as: 96). The ICD data stores the data structure of the original flight parameter data file, that is, the parameter name comes from the ICD data, and the original flight parameter data file contains at least a time stamp and a flight parameter value.
[0093] In some embodiments, step S105 may include: parsing the target frame data according to the data frame structure through a data parsing module to obtain a target flight parameter value.
[0094] In the specific implementation, the data parsing module parses the target frame data according to the flight parameter data structure information in the data frame structure to obtain the target flight parameter value. The multi-threaded data parsing module can quickly parse the frame data and extract the required flight parameters, reducing the tediousness and time consumption of manual data processing.
[0095] In an embodiment of the present application, an original flight parameter data file is obtained through a data reading module, and the original flight parameter data file is mapped to a computer memory; the data reading module is composed of a single independent thread; the first interface control document data is obtained through the data reading module; the first interface control document data contains a data frame identifier of the flight parameter data to be parsed; the target frame position of the target data frame of the flight parameter data to be parsed in the computer memory is determined according to the data frame identifier of the flight parameter data to be parsed through the data reading module, and the target frame header information of the target data frame is obtained; the target frame data corresponding to the target data frame is obtained according to the target frame position and the target frame header information through the data parsing module; the data parsing module is composed of several independent threads; the second interface control document data is obtained through the data parsing module; the target frame data is parsed according to the second interface control document data through the data parsing module to obtain the target flight parameter value. The embodiment of the present application maps the original flight parameter data file to the computer memory through a data reading module of a single independent thread, thereby realizing efficient reading of the original flight parameter data file. In addition, the memory mapping allows direct access to the file data in the memory, thus avoiding frequent disk I / O operations. By separating the reading thread and the parsing thread and adopting a multi-threaded data parsing method, the multi-core CPU can be fully utilized, the concurrent performance can be effectively improved, the efficiency of flight parameter data parsing can be greatly improved, and the parsing time of flight parameter data can be reduced. In addition, by adopting a lock-free circular queue technology, the performance bottleneck caused by the traditional lock is avoided, making the communication between multiple threads more efficient.
[0096] In other embodiments, after step S105, it may also include: storing the target flight parameter values in a buffer according to a preset column storage method through a data analysis module; monitoring the buffer through a monitoring module, and writing each target flight parameter value in the buffer into a time series database when the buffer is full.
[0097] In some specific embodiments, the buffer is monitored by a monitoring module, and when the buffer is full, each target flight parameter value in the buffer is written into a timing database, which may include: monitoring the buffer by a monitoring module, and when the buffer is full, format conversion of each target flight parameter value in the buffer according to a preset data format to obtain target storage data, and writing the target storage data into a timing database.
[0098] The preset column storage method is a method of organizing the flight parameter data according to time series to form a time series.
[0099] Among them, the monitoring and writing parts are also implemented by multiple independent threads, such as Figure 2 As shown, the monitoring and writing parts are implemented by several independent threads ( Figure 2 The number of threads in the monitoring and writing part is consistent with the number of threads in the data analysis process, and each data monitoring and writing thread is calculated in parallel.
[0100] For buffer monitoring, it monitors the filling status of each buffer in the buffer lock-free circular queue. When the buffer is full, the next process (format conversion) starts;
[0101] For the preset data format, various time series databases have different requirements for data storage formats, and it is necessary to determine whether to convert the data format based on actual conditions.
[0102] Among them, the data obtained by format conversion of the flight parameter value. It should be noted that since various time series databases have different requirements for data storage formats, it is necessary to determine whether to perform data format conversion based on actual conditions. If the flight parameter value that does not require format conversion and can be directly written into the time series database can also be called target storage data.
[0103] It should be noted that after the data in the buffer is copied and written into the time series database, the buffer is released.
[0104] In the specific implementation, the data frame is first located according to the frame identifier through the data reading module, and then the frame header information is parsed according to the loaded ICD data to determine the frame type, frame length, time stamp and other information. Then, the data parsing module uses the lock-free circular queue technology according to the frame type to extract the frame data information to the corresponding flight parameter data parsing thread (data parsing module). In the flight parameter data parsing thread, the original flight parameter data frame is parsed according to the flight parameter data structure in the ICD corresponding to the frame type, and several flight parameter parameter values with time stamps obtained after parsing are stored in the lock-free circular queue. When the lock-free circular queue monitoring thread corresponding to the frame type monitors that the buffer queue is full, the format conversion is confirmed, and finally the data is written to the timing database.
[0105] Among them, the process of flight parameter parsing can also be understood as: according to the ICD data information, the binary original flight parameter data file is parsed into decimal engineering value data.
[0106] In some embodiments, after the target storage data is written into the time series database, it can also include: sorting each target flight parameter parameter value according to the time stamp corresponding to each target flight parameter parameter value in the target storage data through the time series database, and compressing the flight parameter data composed of each target flight parameter parameter value through the time series database.
[0107] In the specific implementation, after the parsed flight parameter data is stored in the time series database, the online processing function of the time series database is used to complete the process of data sorting, data compression and data persistent storage. For data sorting, it is to sort the written flight parameter data in time series according to the time scale of the flight parameter; for data compression, it is to compress the written flight parameter data to reduce the storage space, wherein the data compression process does not affect the subsequent data application; for data persistent storage, it is to persist the data in the memory into the hard disk to prevent data loss, and this process does not affect the subsequent data application.
[0108] For the data application part, it provides data services for the data application module through a standardized interface program, which mainly includes: (1) Interface standardization: Provide an interface standardization document, and the data application module designs and develops an external data interface according to the document, and provides the required flight parameter parameters, sampling rate, time scale interval and other parameter requirements; Specifically, when the application needs to extract the flight parameter data within the required time range from the time series database, it needs to obtain it according to the unified data interface specification through the API (Application Programming Interface) provided by the flight parameter data parsing program / system provided in the embodiment of the present application. This can ensure the high efficiency of data I / O, and the application developer does not need to understand the database structure or develop data extraction code, which is an important way to realize platform data services. (2) Database interface program: Provide a callable interface program, which can extract the required data from the time series database according to the parameter requirements of the data application module. (3) Output data: Output the extracted flight parameter parameters to the data application module through the data interface.
[0109] In the embodiment of the present application, the following advantages are achieved:
[0110] (1) The efficient random read technology using memory mapping can realize efficient reading of original flight parameter data files: by mapping the file into memory, efficient random read is achieved; memory mapping allows file data to be accessed directly in memory, avoiding frequent disk I / O operations.
[0111] (2) Multi-threaded parsing technology and lock-free circular queue technology are used to achieve efficient parsing of flight parameter data: the reading thread and the parsing thread are separated, and a multi-threaded data parsing method is used to make full use of the multi-core CPU to improve concurrency performance; by adopting lock-free circular queue technology, the performance bottleneck caused by traditional locks is avoided, making the communication between multiple threads more efficient.
[0112] (3) Using multi-threaded database writing technology: For large-scale flight parameter data, multi-threaded database writing technology can greatly improve the throughput and writing efficiency of data written to the database.
[0113] (4) Column storage method: The flight parameter data is sorted according to the time series to form a time series and stored in the time series database. For applications such as flight parameter interpretation, enhanced diagnosis, health evaluation, trend analysis, fault prediction, and flight parameter deep mining, this storage method can greatly improve the efficiency of data query and online analysis. In addition, the column storage method has a high compression rate for flight parameter data, which can greatly reduce data storage space.
[0114] (5) Using C++ language to develop flight data analysis and storage program: It can deeply optimize the flight data analysis method and greatly improve the data analysis efficiency. The application developed based on C++ has strong cross-application software and cross-operating system platform support capabilities.
[0115] In summary, the flight parameter parsing and warehousing program architecture designed in the embodiment of the present application can improve instruction parallelism and system processing performance by dividing program instructions into multiple stages and adopting parallel execution technology, and can meet the large-capacity flight parameter data parsing and multi-user, high-concurrency flight parameter data application requirements. Different from the traditional flight parameter data parsing method, the embodiment of the present application is developed based on the "C++" language, and adopts key technologies such as memory-mapped efficient random reading technology, multi-threaded parsing technology, and lock-free circular queue technology to achieve efficient parsing of flight parameter data. In addition, the embodiment of the present application also uses a time series database to store flight parameter data, and adopts multi-threaded writing technology and column storage technology to achieve efficient warehousing of flight parameter data. In addition, due to the use of a time series database to store flight parameter data, it is possible to support multiple users and multiple application processes to read flight parameter data at the same time, and support online analysis of flight parameter data.
[0116] In order to explain the principle of the technical solution of the present invention in detail, the overall process of the present invention is described below in combination with some specific embodiments. It is easy to understand that the following is an explanation of the technical principle of the present invention and cannot be regarded as a limitation of the present invention.
[0117] The method and system for analyzing and storing flight data in a time series database (flight data analysis program / system) provided in the embodiments of the present application can be used as an independent application module to adapt to flight data integrated management platforms, flight data analysis and mining platforms, aircraft ground health management systems, aviation equipment autonomous support information systems and other flight data application software systems. Figure 2 As shown, in the embodiment of the present application, the overall architecture of the flight parameter data analysis program includes three main processes: input, processing and output, wherein the processing process is further divided into sub-processes such as data reading, data analysis, monitoring and storage. The specific process is described as follows:
[0118] 1. Data Input
[0119] The input data of the embodiment of the present application includes the original flight parameter data file address and ICD data. Among them, the original flight parameter data file address is used to automatically read the original flight parameter data file according to the original flight parameter data file address information; ICD data refers to the data information of the interface control document, which is the important parameter information for parsing the flight parameter data, and can be read through the database of the application system or in the form of a data file. ICD data describes the data frame structure of the original flight parameter data file, mainly including the frame identifier of the data frame, the frame header structure (data bits and positions occupied by frame length, time stamp, frame type, etc.), the flight parameter data structure (flight parameter parameter name, data bits and positions occupied, data type, parsing algorithm, etc.) and the frame tail structure (data bits and positions occupied by the frame tail).
[0120] 2. Data Processing
[0121] Data processing is the core processing program of the embodiment of this application. It is developed through the C++ basic development language and can be compiled and adapted to various operating systems and application software platforms. This process includes four sub-processes: initialization, data reading, data analysis, monitoring and storage. The data processing process adopts multi-threaded parallel computing technology, which is specifically described as follows:
[0122] (1) Initialization: After receiving the call instruction, the flight parameter data processing program is initialized, which mainly includes:
[0123] 1) Allocate memory: allocate memory space for the flight parameter data processing program;
[0124] 2) Allocate CPU computing resources: allocate CPU threads and initialize them;
[0125] 3) Establish a parsing data buffer;
[0126] 4) Create a lock-free circular queue of original data frames;
[0127] 5) Create a lock-free circular queue for the parsed data buffer.
[0128] (2) Data reading: This is implemented by an independent thread (thread 1). The specific process includes:
[0129] 1) Read the flight parameter file: find the original flight parameter data file according to the original flight parameter data file address and map it into the computer memory;
[0130] 2) Frame position positioning: locate the data frame position according to the flight parameter data frame identifier to be analyzed and record it;
[0131] 3) First ICD data loading: loading ICD data information, including the position of key parameters such as frame type, frame length, time stamp, etc. in the data frame and the data bits occupied;
[0132] 4) Frame header information analysis: read the data frame header information and parse and record the frame length, frame identifier, time stamp and other information.
[0133] (3) Data analysis: This is implemented by several independent threads (threads 2 to N). The number of threads is determined according to the frame type of the flight parameter data to be analyzed. Each data analysis thread calculates in parallel, and each thread processes data according to the following process:
[0134] 1) Frame data extraction: extract frame data information into the thread according to the frame position, frame type and frame length in the frame header information;
[0135] 2) Second IC data loading: Load IC data information, including parameter name, parameter position, data type, parsing algorithm and other information.
[0136] 3) Flight parameter analysis: Analyze the values of various flight parameters according to ICD data information;
[0137] 4) Store in buffer: Store the parsed parameter values in buffer in column storage mode.
[0138] (4) Monitoring and writing to the database: This is implemented by several independent threads (threads N+1 to 2N-1). The number of threads is consistent with the number of threads in the data analysis process. Each data monitoring and storage thread calculates in parallel, and each thread processes data according to the following process:
[0139] 1) Buffer monitoring: monitor the filling status of each buffer in the buffer lock-free circular queue. When the buffer is full, start the next process (format conversion);
[0140] 2) Format conversion: Various time series databases have different requirements for data storage formats. You can determine whether to perform data format conversion based on actual conditions.
[0141] 3) Write to the time series database: copy the data in the buffer and write it into the time series database;
[0142] 4) Release the buffer: After the data is written, release the buffer.
[0143] 3. Data storage: After the flight parameter data is stored in the time series database, the online processing function of the time series database is used to complete the following data processing flow:
[0144] (1) Data sorting: sort the written flight parameter data in chronological order according to the time scale of the flight parameter;
[0145] (2) Data compression: compress the flight parameter data that has been written to reduce storage space. The data compression process does not affect subsequent data applications.
[0146] (3) Data persistence storage: Data in memory is persistently stored in the hard disk to prevent data loss. This process does not affect subsequent data applications.
[0147] 4. Data application: Provide data services for data application modules through standardized interface programs, mainly including:
[0148] (1) Interface standardization: Provide interface standardization documents. The data application module designs and develops external data interfaces according to the documents and provides the required flight parameters, sampling rate, time scale interval and other parameter requirements.
[0149] (2) Database interface program: Provides a callable interface program that can extract required data from the time series database according to the parameter requirements of the data application module;
[0150] (3) Output data: The extracted flight parameters are output to the data application module through the data interface.
[0151] It should be pointed out that this embodiment only provides a brief schematic description of the general process of a flight parameter data analysis method. The detailed description of each step can refer to the relevant content in the aforementioned embodiment and will not be repeated here. It can be understood that the present invention is not limited to this.
[0152] The embodiment of the present application obtains the original flight parameter data file through a data reading module, and maps the original flight parameter data file to the computer memory; the data reading module is composed of a single independent thread; the first interface control document data is obtained through the data reading module; the first interface control document data contains the data frame identifier of the flight parameter data to be parsed; the data reading module determines the target frame position of the target data frame of the flight parameter data to be parsed in the computer memory according to the data frame identifier of the flight parameter data to be parsed, and obtains the target frame header information of the target data frame; the data parsing module obtains the target frame data corresponding to the target data frame according to the target frame position and the target frame header information; the data parsing module is composed of several independent threads; the second interface control document data is obtained through the data parsing module; the target frame data is parsed according to the second interface control document data through the data parsing module to obtain the target flight parameter parameter value. The embodiment of the present application maps the original flight parameter data file to the computer memory through a single independent thread data reading module, thereby realizing efficient reading of the original flight parameter data file. In addition, memory mapping allows direct access to file data in the memory, thus avoiding frequent disk I / O operations. By separating the reading thread and the parsing thread and adopting a multi-threaded data parsing method, it is possible to fully utilize the multi-core CPU, effectively improve the concurrency performance, greatly improve the efficiency of flight parameter data parsing, and reduce the flight parameter data parsing time.
[0153] Compared with traditional flight parameter data analysis methods or systems, the method for flight parameter data analysis provided in the embodiment of the present application can greatly improve the efficiency of flight parameter data analysis, support the analysis of flight parameter data of multiple aircraft models, and lay the foundation for large-capacity flight parameter data analysis of future new aircraft and unified analysis of flight parameter data of multiple aircraft models; in addition, the method of storing the parsed flight parameter data into a time series database in the embodiment of the present application can realize efficient and batch storage of flight parameter data, and provide standardized data application interface services, which can provide data services for integrated, platform-based, multi-user, and high-concurrency flight parameter data application software. Among them, integration is reflected in the ability to provide data services for various types of flight parameter data applications at the same time, such as flight parameter rapid interpretation, enhanced fault diagnosis, trend analysis, fault prediction, flight parameter in-depth mining, aircraft life monitoring and other applications; platformization: the traditional flight parameter analysis module is strongly coupled with the application, while the embodiment of the present application stores the parsed flight parameter data into a time series database and provides a standardized data interface, thereby providing data services for a variety of application modules and supporting the expansion of application services; multi-user, high concurrency: since the flight parameter data is stored in a time series database, it can support multiple users to use the flight parameter data in parallel. Specifically, since the time series database has the characteristics of high I / 0 efficiency for flight parameter data (a type of time series data), it supports high concurrency application requirements.
[0154] See also Figure 3The embodiment of the present application further provides a flight parameter data analysis device 300, which can implement the above-mentioned flight parameter data analysis method, and the device includes:
[0155] A memory mapping module 301 is used to obtain an original flight parameter data file through a data reading module and map the original flight parameter data file to a computer memory; the data reading module is composed of a single independent thread;
[0156] The first interface control document data acquisition module 302 is used to acquire the first interface control document data through the data reading module; the first interface control document data includes the data frame identifier of the flight parameter data to be parsed;
[0157] A data frame position determination module 303 is used to determine the target frame position of the target data frame of the flight parameter data to be parsed in the computer memory according to the data frame identifier of the flight parameter data to be parsed through the data reading module, and obtain the target frame header information of the target data frame;
[0158] The frame data extraction module 304 is used to obtain the target frame data corresponding to the target data frame according to the target frame position and the target frame header information through the data analysis module; the data analysis module is composed of several independent threads;
[0159] A second interface control document data acquisition module 305, used to acquire the second interface control document data through the data parsing module;
[0160] The data analysis module 306 is used to analyze the target frame data according to the second interface control document data through the data analysis module to obtain the target flight parameter value.
[0161] 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.
[0162] The embodiment of the present application also provides an electronic device, the electronic device includes a memory and a processor, the memory stores a computer program, and the processor implements the above-mentioned flight parameter data analysis method when executing the computer program. The electronic device can be any intelligent terminal including a tablet computer, a car computer, etc.
[0163] 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.
[0164] See also Figure 4 , Figure 4 The hardware structure of an electronic device of another embodiment is illustrated, and the electronic device includes:
[0165] The processor 401 may be implemented by a general-purpose CPU (Central Processing Unit), a microprocessor, an application-specific integrated circuit (ASIC), or one or more integrated circuits, and is used to execute relevant programs to implement the technical solutions provided in the embodiments of the present application.
[0166] The memory 402 can be implemented in the form of a read-only memory (ROM), a static storage device, a dynamic storage device, or a random access memory (RAM). The memory 402 can store an operating system and other application programs. When the technical solution provided in the embodiment of this specification is implemented by software or firmware, the relevant program code is stored in the memory 402, and the processor 401 calls and executes the flight parameter data parsing method of the embodiment of this application;
[0167] Input / output interface 403, used to implement information input and output;
[0168] Communication interface 404, used to realize communication interaction between the device and other devices, which can be realized through wired mode (such as USB, network cable, etc.) or wireless mode (such as mobile network, WI FI, Bluetooth, etc.);
[0169] Bus 405 , which transmits information between various components of the device (e.g., processor 401 , memory 402 , input / output interface 403 , and communication interface 404 );
[0170] The processor 401 , the memory 402 , the input / output interface 403 and the communication interface 404 are connected to each other in communication within the device via the bus 405 .
[0171] An embodiment of the present application also provides a computer-readable storage medium, which stores a computer program, and when the computer program is executed by a processor, the above-mentioned flight parameter data analysis method is implemented.
[0172] 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.
[0173] 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.
[0174] The flight parameter data parsing method, flight parameter data parsing device, electronic device and storage medium provided by the embodiments of the present application obtain the original flight parameter data file through a data reading module and map the original flight parameter data file to the computer memory; the data reading module is composed of a single independent thread; the first interface control document data is obtained through the data reading module; the first interface control document data contains the data frame identifier of the flight parameter data to be parsed; the target frame position of the target data frame of the flight parameter data to be parsed in the computer memory is determined according to the data frame identifier of the flight parameter data to be parsed through the data reading module, and the target frame header information of the target data frame is obtained; the target frame data corresponding to the target data frame is obtained according to the target frame position and the target frame header information through the data parsing module; the data parsing module is composed of several independent threads; the second interface control document data is obtained through the data parsing module; the target frame data is parsed according to the second interface control document data through the data parsing module to obtain the target flight parameter parameter value. The embodiment of the present application maps the original flight parameter data file to the computer memory through a single independent thread data reading module, thereby realizing efficient reading of the original flight parameter data file. In addition, memory mapping allows direct access to file data in the memory, thus avoiding frequent disk I / O operations. By separating the reading thread and the parsing thread and adopting a multi-threaded data parsing method, it is possible to fully utilize the multi-core CPU, effectively improve the concurrency performance, greatly improve the efficiency of flight parameter data parsing, and reduce the flight parameter data parsing time.
[0175] The embodiments described in the embodiments of the present application are intended to more clearly illustrate the technical solutions of the embodiments of the present application and do not constitute a limitation on the technical solutions provided in the embodiments of the present application. Those skilled in the art will appreciate that with the evolution of technology and the emergence of new application scenarios, the technical solutions provided in the embodiments of the present application are also applicable to similar technical problems.
[0176] Those skilled in the art will appreciate that the technical solutions shown in the figures do not constitute a limitation on the embodiments of the present application, and may include more or fewer steps than shown in the figures, or a combination of certain steps, or different steps.
[0177] The device embodiments described above are merely illustrative, and the units described as separate components may or may not be physically separated, that is, they may be located in one place or distributed on multiple network units. Some or all of the modules may be selected according to actual needs to achieve the purpose of the solution of this embodiment.
[0178] Those skilled in the art will appreciate that all or some of the steps in the methods disclosed above, and the functional modules / units in the systems and devices may be implemented as software, firmware, hardware, or a suitable combination thereof.
[0179] The terms "first", "second", "third", "fourth", etc. (if any) in the specification of the present application and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence. It should be understood that the data used in this way can be interchangeable where appropriate, so that the embodiments of the present application described herein can be implemented in an order other than those illustrated or described herein. In addition, the terms "including" and "having" and any of their variations are intended to cover non-exclusive inclusions, for example, a process, method, system, product or device comprising a series of steps or units is not necessarily limited to those steps or units clearly listed, but may include other steps or units that are not clearly listed or inherent to these processes, methods, products or devices.
[0180] It should be understood that in the present application, "at least one (item)" means one or more, and "plurality" means two or more. "And / or" is used to describe the association relationship of associated objects, indicating that three relationships may exist. For example, "A and / or B" can mean: only A exists, only B exists, and A and B exist at the same time, where A and B can be singular or plural. The character " / " generally indicates that the objects associated before and after are in an "or" relationship. "At least one of the following" or similar expressions refers to any combination of these items, including any combination of single or plural items. For example, at least one of a, b or c can mean: a, b, c, "a and b", "a and c", "b and c", or "a and b and c", where a, b, c can be single or multiple.
[0181] In the several embodiments provided in the present application, it should be understood that the disclosed devices and methods can be implemented in other ways. For example, the device embodiments described above are only schematic. For example, the division of the above units is only a logical function division. There may be other division methods in actual implementation, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or units, which can be electrical, mechanical or other forms.
[0182] The units described above as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.
[0183] In addition, each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit. The above-mentioned integrated unit may be implemented in the form of hardware or in the form of software functional units.
[0184] If the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present application is essentially or the part that contributes to the prior art or all or part of the technical solution can be embodied in the form of a software product, and the computer software product is stored in a storage medium, including multiple instructions to enable a computer device (which can be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods of various embodiments of the present application. The aforementioned storage medium includes: U disk, mobile hard disk, read-only memory (Read-Only Memory, referred to as ROM), random access memory (Random Access Memory, referred to as RAM), disk or optical disk and other media that can store programs.
[0185] The preferred embodiments of the present invention are described above with reference to the accompanying drawings, but the scope of the rights of the present invention is not limited thereto. Any modification, equivalent substitution and improvement made by a person skilled in the art without departing from the scope and essence of the present invention should be within the scope of the rights of the present invention.
Claims
1. A flight parameter data analysis method, characterized in that: The method comprises: Acquire the original flight parameter data file through a data reading module, and map the original flight parameter data file to the computer memory; the data reading module is composed of a single independent thread; Acquire the first interface control document data through the data reading module; the first interface control document data includes the data frame identifier of the flight parameter data to be parsed; Determine the target frame position of the target data frame of the flight parameter data to be parsed in the computer memory according to the data frame identifier of the flight parameter data to be parsed through the data reading module, and obtain the target frame header information of the target data frame; Obtaining target frame data corresponding to the target data frame according to the target frame position and the target frame header information through a data analysis module; the data analysis module is composed of a plurality of independent threads; Acquire the second interface control document data through the data parsing module; The target frame data is parsed by the data parsing module according to the second interface control document data to obtain a target flight parameter value; Wherein, obtaining the target frame data corresponding to the target data frame according to the target frame position and the target frame header information through the data parsing module includes: The data parsing module obtains the target frame data corresponding to the target data frame in a preset lock-free circular queue manner according to the target frame position and the target frame type and target frame length in the target frame header information.
2. The method according to claim 1, characterized in that After the target frame data is parsed by the data parsing module according to the second interface control document data to obtain the target flight parameter value, the method further includes: The target flight parameter value is stored in a buffer in a preset column storage manner through the data analysis module; The buffer is monitored by a monitoring module, and when the buffer is full, each target flight parameter value in the buffer is written into a timing database.
3. The method according to claim 2, characterized in that The monitoring module monitors the buffer and writes each target flight parameter value in the buffer into a time series database when the buffer is full, including: The buffer is monitored by a monitoring module. When the buffer is fully loaded, each target flight parameter value in the buffer is format converted according to a preset data format to obtain target storage data, and the target storage data is written into a time series database.
4. The method according to claim 3, characterized in that After writing the target storage data into a time series database, the method further includes: The target flight parameter parameter values are sorted according to the time stamps corresponding to the target flight parameter parameter values in the target storage data through the time series database, and the flight parameter data composed of the target flight parameter parameter values are compressed through the time series database.
5. The method according to claim 1, characterized in that The method of obtaining the original flight parameter data file through the data reading module includes: Obtain the original flight parameter data file address through the data reading module; The data reading module obtains the original flight parameter data file according to the original flight parameter data file address.
6. The method according to claim 1, characterized in that The second interface control document data includes a data frame structure corresponding to the original flight parameter data in the original flight parameter data file, and the target frame data is parsed by the data parsing module according to the second interface control document data to obtain the target flight parameter value, including: The target frame data is parsed according to the data frame structure by the data parsing module to obtain the target flight parameter value.
7. A flight parameter data analysis device, characterized in that: The device comprises: A memory mapping module, used for acquiring an original flight parameter data file through a data reading module, and mapping the original flight parameter data file to a computer memory; the data reading module is composed of a single independent thread; A first interface control document data acquisition module is used to acquire first interface control document data through the data reading module; the first interface control document data includes a data frame identifier of the flight parameter data to be parsed; A data frame position determination module, used to determine the target frame position of the target data frame of the flight parameter data to be parsed in the computer memory according to the data frame identifier of the flight parameter data to be parsed through the data reading module, and obtain the target frame header information of the target data frame; A frame data extraction module, used for obtaining target frame data corresponding to the target data frame according to the target frame position and the target frame header information through a data analysis module; the data analysis module is composed of a plurality of independent threads; A second interface control document data acquisition module, used for acquiring the second interface control document data through the data parsing module; A data parsing module, configured to parse the target frame data according to the second interface control document data through the data parsing module to obtain a target flight parameter value; Wherein, the frame data extraction module is specifically used for: The data parsing module obtains the target frame data corresponding to the target data frame in a preset lock-free circular queue manner according to the target frame position and the target frame type and target frame length in the target frame header information.
8. An electronic device, characterized in that: The electronic device comprises a memory and a processor, the memory stores a computer program, and the processor implements the method according to any one of claims 1 to 6 when executing the computer program.
9. 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 6 is implemented.
Citation Information
Patent Citations
Multi-machine collaborative working equipment high-speed data stream receiving method and system
CN108768760A
Web-based local DICOM file rendering method and device
CN115116585A
Method for analyzing maneuverability based on aviation equipment flight parameter data
CN115221210A