A method and system for calculating the performance of an aircraft taking off based on an asynchronous architecture
Patent Information
- Application Number
- CN202611058386.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2026-07-16
- Publication Date
- 2026-08-18
AI Technical Summary
当多用户高并发发起仿真实验时,服务端线程池中的可用线程被迅速耗尽,导致系统吞吐量骤降、请求排队积压,严重时甚至引发服务雪崩,难以支撑教学训练场景中实时交互与规模化并发的实际需求
本申请提供的基于异步架构的飞机起飞性能计算方法中,通过服务端在接收仿真请求后立即释放容器线程并结合消息队列与独立部署的数学计算引擎进行异步通信,使Web服务层与计算资源完全解耦,有效避免了传统同步阻塞架构下因计算时长不确定而导致的线程池耗尽与服务雪崩问题,显著提升了仿真平台在高并发场景下的吞吐能力与系统稳定性;同时,本发明以抬前轮速度为物理相变节点将地面滑跑段分为两个阶段并分别代入抬前轮前和抬前轮后不同取值的地面滑跑迎角进行分段定积分,在抬前轮节点处动态切换滑跑迎角以准确反映抬前轮动作导致的空气动力学特性突变,并进一步通过空中爬升段的法向力平衡方程反解空中迎角后结合航迹角迭代精确判定安全高度,实现了起飞全过程多阶段动力学特性的连续高精度数值仿真;在此基础上,本申请将各分段离散积分数据在同一时间基准下进行数组拼接并经等间隔插值重构为时间严格对齐的多维数据数组,使前端直接获取规格化的曲线绘制数据源,在保证曲线精度的同时降低了前端解析与渲染的负载,最终实现了并发响应能力与仿真精度的兼顾。
Smart Images

Figure CN122595923A_ABST
Abstract
Description
Technical Field
[0001] This invention belongs to the field of flight mechanics simulation technology, and more specifically relates to a method and system for calculating aircraft takeoff performance based on an asynchronous architecture. Background Technology
[0002] With the development of aerospace technology and the improvement of computing power, virtual simulation technology plays an increasingly important role in the teaching, research, and pilot training of flight mechanics and aerodynamics. By constructing a virtual environment and combining it with mathematical modeling and physical simulation, the behavior and properties of real flight systems can be accurately simulated, providing data references for decision-making and significantly reducing the risks and costs of real flight experiments. Aircraft takeoff is a highly complex and high-risk stage in flight, involving the transformation of the aircraft from ground motion to three-dimensional motion in the air. This process includes complex aerodynamic changes, engine thrust variations, and alternating ground frictional characteristics, placing stringent demands on the accuracy and computational efficiency of simulation models. However, when deploying such highly complex computational tasks on web-based simulation platforms, existing technologies suffer from the following two significant drawbacks.
[0003] On the one hand, existing web-based flight simulation platforms generally employ a synchronous blocking call architecture when calling professional mathematical computation engines to solve complex differential equations. Under this architecture, the web server-side container thread needs to be suspended for a long time while waiting for the computation engine to return results. Furthermore, the computation time for numerical integration during takeoff is highly uncertain due to the involvement of multi-stage nonlinear equation iterations. When multiple users initiate simulation experiments concurrently, the available threads in the server-side thread pool are quickly exhausted, leading to a sharp drop in system throughput, request queuing backlogs, and in severe cases, even service avalanche, making it difficult to support the actual needs of real-time interaction and large-scale concurrency in teaching and training scenarios.
[0004] On the other hand, existing takeoff performance simulation models have relatively coarse-grained dynamic modeling. Most schemes use globally unified differential equations for approximate integration, failing to implement segmented and refined modeling based on the phase divisions of the actual takeoff physical process. Moreover, traditional modeling methods neglect the dynamic switching of equation parameters at key phase transition nodes such as nose wheel lift-off speed, ground takeoff speed, and safety speed. This causes the simulation output's time-velocity, time-distance, and other characteristic curves to deviate from the actual takeoff physical process, making it difficult to meet the simulation accuracy requirements of high-order flight experiments.
[0005] In summary, how to achieve high-precision dynamic simulation of precise switching of phase transition nodes in the multi-stage takeoff process while ensuring the high concurrency response capability of the Web service layer is a technical problem that urgently needs to be solved in this field. Summary of the Invention
[0006] To address the above problems, the present invention aims to provide a method and system for calculating aircraft takeoff performance based on an asynchronous architecture. By deploying an asynchronous architecture with a front-end interactive device, a server, and a mathematical calculation engine, and using a message queue to achieve instant release of server threads and asynchronous decoupling of calculation tasks, the aerodynamic parameters and ground friction parameters in the equations are dynamically switched according to the physical phase transition nodes during the solution process, thereby achieving accurate solution of multi-stage dynamic models and seamless rendering of simulation curves in high-concurrency scenarios.
[0007] To achieve the above objectives, the present invention employs the following technical solution: In a first aspect, embodiments of this application provide a method for calculating aircraft takeoff performance based on an asynchronous architecture. The asynchronous architecture deploys a front-end interactive device, a server, and a mathematical calculation engine. The front-end interactive device communicates with the server via a network, and the server and the mathematical calculation engine communicate asynchronously via a message queue. The method includes the following steps: S1: Obtain the initial simulation parameters and physical boundary conditions of the aircraft takeoff performance through the front-end interactive device, and send a simulation request to the server; S2: After receiving the simulation request, the server creates and suspends the asynchronous result processing object to release the current container thread, generates a unique task identifier, and encapsulates the simulation initial parameters and physical boundary conditions and pushes them to the mathematical calculation engine through the message queue. S3: After the mathematical calculation engine retrieves a task from the message queue, it selects the corresponding multi-segment dynamic model according to the simulation type to solve the differential equation numerically. During the solution process, the aerodynamic parameters and ground friction parameters in the equation are dynamically switched according to the set physical phase transition nodes. S4: After the mathematical calculation engine completes the solution, it reconstructs the discrete integral data of each segment into a multidimensional data array with equal spacing, and returns the calculation result with a unique task identifier to the server through the message queue. S5: After the server listens for the result, it writes the multidimensional data array into the corresponding asynchronous result processing object according to the unique task identifier, wakes up the server thread, and returns the multidimensional data array to the front-end interactive device so that the front-end interactive device can render the takeoff performance data curve.
[0008] In an optional implementation, step S1 includes: The system provides a parameter input interface via a front-end interactive device to obtain the simulation boundary parameters of the aircraft takeoff performance input by the user; these simulation boundary parameters include: aircraft mass. Average takeoff engine thrust Atmospheric density Wing reference area coefficient of friction Front wheel liftoff speed and safety height ; The simulation boundary parameters are assembled into a simulation request containing parameter key-value pairs through a front-end interactive device; The simulation request is encapsulated into an HTTP request message by the front-end interactive device and sent to the server over the network.
[0009] In an optional implementation, step S2 includes: After receiving the simulation request, the server extracts the simulation boundary parameters from the HTTP request message; The server instantiates a DeferredResult object and suspends it, while immediately releasing the current container thread to receive more concurrent external requests. A unique task identifier is created by calling the UUID generation interface on the server side, and the unique task identifier is stored in the memory cache and a mapping relationship is established with the DeferredResult object; The server encapsulates the simulation boundary parameters and the unique task identifier into a JSON-formatted task message. The server pushes the task message to the designated queue through the producer channel of the RabbitMQ message queue, and the mathematical calculation engine, as the consumer of the queue, waits to obtain the task message.
[0010] In an optional implementation, step S3 includes: After the mathematical calculation engine obtains the task message from the message queue, it parses the task message and extracts the simulation boundary parameters from it; When the simulation type is takeoff performance simulation, the takeoff process is divided into the ground taxiing phase and the air climb phase; During the ground gliding section, at the speed of lifting the front wheels At the physical phase transition node, the speed of lifting the front wheels. Let the aircraft's velocity at the instant the nose wheel leaves the ground be the starting velocity. Divide the takeoff run into a first takeoff phase and a second takeoff phase, and establish the tangential differential equation:
[0011] in, For aircraft quality, For flight speed, This represents the average thrust of the takeoff engine. The angle of attack for the ground-based ski-running phase. Atmospheric density, For wing reference area, and These are the drag coefficient and lift coefficient, respectively, as they vary with the angle of attack. The coefficient of friction, It is the acceleration due to gravity; Transforming the tangential differential equation yields the following time and distance differential equations:
[0012]
[0013] In the first sliding phase, with The lower limit of integration, based on the speed of lifting the front wheels. As the maximum score, substitute the angle of attack before the front wheels lift off. By performing definite integrals on the time and distance differential equations respectively, the time of the first gliding phase can be obtained. and distance ; During the second phase of the run, with the front wheel lift speed The lower limit of integration, the front wheel liftoff speed As the maximum score, substitute the angle of attack after the front wheels lift off. By performing definite integrals on the time and distance differential equations respectively, the time of the second gliding phase can be obtained. and distance ; The speed range of the first gliding phase is determined through a mathematical calculation engine. Speed range in the second skid phase The total time for the ground gliding segment is obtained by summing the integral results. Total distance ,in , ; During the aerial ascent phase, the following normal force balance equation is established based on the equilibrium condition that the normal velocity is 0:
[0014] in, For the track angle, This is the lift coefficient value when the angle of attack is zero. The slope of the lifting line is given in this equation. This indicates the angle of attack during the aerial climb phase, which is distinct from the angle of attack during the ground taxiing phase. The angle of attack in the air can be obtained by solving the equation of normal force balance. Then, substituting into the thrust and drag equations, we can determine the liftoff velocity. Integrate to takeoff safe speed; from The track angle is gradually increased starting from a preset step size. Perform iterative calculations until the flight altitude is reached. Exceeding safe height The iteration terminates at the specified time, and the duration of the aerial climb at the time of termination is recorded. and the distance of the aerial climb ; The total time of the ground gliding segment Total distance and the time of the aerial climb ,distance Together with the velocity-time discrete sequence, velocity-distance discrete sequence, and velocity-height discrete sequence generated during each piecewise integration process, they are used as piecewise integration result data.
[0015] In an optional implementation, step S4 includes: Obtain segmented integration results data, which includes the speed-time series of the first gliding phase. Velocity-distance sequence Speed-time series of the second skid phase Velocity-distance sequence And the velocity-time series of the ascent phase. Velocity-distance sequence Velocity-height sequence ; The discrete time data corresponding to the first taxiing phase, the second taxiing phase, and the aerial climb phase are concatenated and merged into arrays to form a complete flight process time series. ;in , , , These are the sets of discrete time points for the first taxiing phase, the second taxiing phase, and the aerial climb phase, respectively. Flight process time series Using this as a baseline, the corresponding discrete data of distance, velocity, and altitude are aligned and stitched together under the same time reference to obtain a time-distance series. Time-velocity sequence and time-altitude series ; Starting with 0, using the flight process time series Maximum time value The termination value is determined by a preset uniform time step. To generate equally spaced target time series with increasing step size. ,in The target sampling interval for time interpolation; A linear interpolation method is used for the time-distance sequence. Time-velocity sequence and time-altitude series In the equally spaced target time series respectively Interpolation calculations are performed to generate a multidimensional aligned data array with a uniform time step, the multidimensional aligned data array including a time vector. Distance vector velocity vector and height vector Data with the same length and at the same index position in each vector are aligned in time. The multidimensional aligned data array and the unique task identifier are encapsulated together into a JSON format result message; The result message is pushed to the specified queue through the producer channel of the RabbitMQ message queue.
[0016] In an optional implementation, step S5 includes: The server continuously listens to the result queue through the RabbitMQ message queue consumer listener; When the consumer listener obtains the result message from the result queue, it parses the result message and extracts the unique task identifier and the multidimensional aligned data array. Based on the unique task identifier, retrieve the mapping relationship between the unique task identifier and the DeferredResult object in the memory cache, and locate the DeferredResult object corresponding to the unique task identifier; The extracted multidimensional aligned data array is used as the asynchronous calculation result. The setResult method of the DeferredResult object is called to write the multidimensional aligned data array into the object, triggering the completion event of the DeferredResult object. The DeferredResult object requests a new worker thread from the container and encapsulates the multidimensional aligned data array into a JSON-formatted HTTP response message; The HTTP response message is returned to the front-end interactive device via the network; After receiving the HTTP response message, the front-end interactive device parses and extracts the multidimensional aligned data array, in order to Using the horizontal axis as the basis, respectively Plot a time-velocity curve on the vertical axis, with Plot a time-distance curve on the vertical axis, with Plot the time-altitude curve on the vertical axis, and render and display the three curves in the same coordinate system or a linked coordinate system to visualize the takeoff performance simulation results.
[0017] In one optional implementation, the server is built on a Spring Cloud microservice architecture, the asynchronous result processing object is a DeferredResult object, the message queue is a RabbitMQ message queue, and the mathematical calculation engine is deployed independently of the server and acts as a consumer of the RabbitMQ message queue to asynchronously execute integral calculation tasks, thereby decoupling high-concurrency Web requests from underlying time-consuming mathematical calculations.
[0018] Secondly, embodiments of this application also provide an aircraft takeoff performance calculation system based on an asynchronous architecture, comprising: The front-end interaction module, deployed on the front-end interaction device, is used to obtain the initial simulation parameters and physical boundary conditions of the aircraft takeoff performance and send simulation requests to the server. The asynchronous scheduling module, deployed on the server, is used to create and suspend the asynchronous result processing object to release the current container thread after receiving the simulation request, generate a unique task identifier, and encapsulate the simulation initial parameters and physical boundary conditions and push them to the mathematical calculation engine through the message queue. The multi-segment dynamics solution module, deployed in the mathematical computing engine, is used to select the corresponding multi-segment dynamics model for numerical integration of differential equations according to the simulation type after the mathematical computing engine obtains a task from the message queue. During the solution process, the aerodynamic parameters and ground friction parameters in the equations are dynamically switched according to the set physical phase transition nodes. The data reconstruction callback module is deployed in the mathematical calculation engine. After the mathematical calculation engine completes the solution, it reconstructs the discrete integral data of each segment into a multidimensional data array with equal spacing, and returns the calculation result with a unique task identifier to the server through the message queue. The asynchronous callback rendering module, deployed on the server side, is used to listen for results, write the multidimensional data array into the corresponding asynchronous result processing object according to the unique task identifier, wake up the server thread, and return the multidimensional data array to the front-end interactive device for rendering the takeoff performance data curve.
[0019] Thirdly, embodiments of this application also provide an electronic device, including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the program to implement the steps of the aircraft takeoff performance calculation method based on asynchronous architecture as described in any of the above.
[0020] Fourthly, embodiments of this application also provide a storage medium storing a computer program thereon, which, when executed by a processor, implements the steps of the aircraft takeoff performance calculation method based on asynchronous architecture as described in any of the above claims.
[0021] As can be seen from the above technical solutions, the present invention has the following advantages: The asynchronous architecture-based aircraft takeoff performance calculation method provided in this application, by immediately releasing container threads upon receiving simulation requests and combining message queues with an independently deployed mathematical calculation engine for asynchronous communication, completely decouples the Web service layer from computing resources. This effectively avoids the thread pool exhaustion and service avalanche problems caused by uncertain calculation durations in traditional synchronous blocking architectures, significantly improving the throughput and system stability of the simulation platform in high-concurrency scenarios. Simultaneously, this invention divides the ground taxiing segment into two stages using the front wheel lift-off speed as the physical phase transition node, and performs piecewise definite integrals by substituting different ground taxiing angles of attack before and after the front wheel lift-off. The dynamic switching of the takeoff angle of attack at the wheel node accurately reflects the aerodynamic changes caused by the lifting of the front wheel. Furthermore, by inversely solving the angle of attack in the air through the normal force balance equation during the climb phase and combining it with the trajectory angle iteration, the safe altitude is accurately determined, realizing continuous high-precision numerical simulation of the dynamic characteristics of multiple stages throughout the takeoff process. On this basis, this application concatenates the discrete integral data of each segment under the same time base and reconstructs it into a time-strictly aligned multidimensional data array through equal-interval interpolation. This allows the front end to directly obtain a standardized curve drawing data source, reducing the load on front-end parsing and rendering while ensuring curve accuracy, ultimately achieving a balance between concurrent response capability and simulation accuracy.
[0022] This application employs an asynchronous computing architecture combining DeferredResult and RabbitMQ, completely decoupling front-end interactive requests from back-end time-consuming differential equation solving. By timely releasing Web container threads, system throughput is significantly improved, resolving resource blocking and service paralysis issues when a large number of students are simultaneously conducting online simulation experiments.
[0023] This application abandons the traditional global single integration strategy and innovatively proposes a multi-segment variable boundary dynamics calculation model based on physical phase transition nodes. In different subdivisions of the taxiing or airborne phases, the algorithm can accurately and dynamically switch core aerodynamic and friction parameters such as angle of attack and friction coefficient, ensuring that the generated simulation curves strictly conform to the actual flight dynamics characteristics.
[0024] This application utilizes a mathematical algorithm engine to reconstruct discrete integral data through equally spaced table lookups before returning results, generating a standardized JSON-formatted multidimensional array. This data structure significantly reduces the parsing pressure on the front-end for rendering performance curves, ensuring consistency and smoothness in cross-platform display. Attached Figure Description
[0025] To more clearly illustrate the technical solution of the present invention, the accompanying drawings used in the description will be briefly introduced below. Obviously, the accompanying drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0026] Figure 1 A flowchart illustrating the aircraft takeoff performance calculation method based on asynchronous architecture provided in this application.
[0027] Figure 2 The physical process diagram of the aircraft takeoff segment provided in this application.
[0028] Figure 3 A schematic diagram of the structure of the aircraft takeoff performance calculation system based on asynchronous architecture provided in this application.
[0029] Figure 4 A schematic diagram of the structure of the electronic device provided in this application. Detailed Implementation
[0030] The various embodiments of this disclosure will be described more fully in the following detailed description of the specific steps of the method for calculating aircraft takeoff performance based on an asynchronous architecture. This disclosure may have various embodiments, and adjustments and changes may be made therein. However, it should be understood that there is no intention to limit the various embodiments of this disclosure to the specific embodiments disclosed herein, but rather this disclosure should be understood to cover all adjustments, equivalents, and / or alternatives falling within the spirit and scope of the various embodiments of this disclosure.
[0031] In the following, the terms “comprising” or “may include”, which may be used in various embodiments of this disclosure, indicate the presence of the disclosed functions, operations, or elements, and do not limit the addition of one or more functions, operations, or elements. Furthermore, as used in various embodiments of this disclosure, the terms “comprising,” “having,” and their cognates are intended only to indicate a particular feature, number, step, operation, element, component, or combination of the foregoing, and should not be construed as primarily excluding the presence of one or more other features, numbers, steps, operations, elements, components, or combinations of the foregoing, or the possibility of adding one or more combinations of the foregoing.
[0032] The technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.
[0033] Please see Figure 1 The diagram illustrates a flowchart of an asynchronous architecture-based method for calculating aircraft takeoff performance in a specific embodiment. This asynchronous architecture deploys a front-end interactive device, a server, and a mathematical calculation engine. It employs a Spring Cloud + Vue microservice architecture. The front-end interactive device uses a terminal computer equipped with a high-performance graphics processor, running a browser-based interactive interface built on the Vue framework. This interface provides parameter input forms, simulation request sending, and visualization rendering of calculation results. Front-end requests are uniformly accessed and dynamically routed through a Spring Cloud Gateway. The server uses a server cluster built on the Spring Cloud microservice architecture, deploying an API gateway, a service registry, and core business microservice instances. The mathematical calculation engine uses an independently deployed Matlab computing node, physically separated from the server. This node can be deployed on an independent server or cloud server instance within the same local area network, without thread or memory sharing coupling with the server. The front-end interactive device establishes a TCP / IP network communication connection with the server through a network switch, using HTTP / HTTPS protocols for request and response message transmission. The server and the mathematical computing engine communicate asynchronously via RabbitMQ message queues. The RabbitMQ message queue broker is deployed independently as an intermediate node between the server and the computing engine. The server, as a message producer, pushes computing tasks to the queue, and the mathematical computing engine, as a message consumer, retrieves tasks from the queue and executes them.
[0034] In a typical application scenario, the flight instructor's terminal computer serves as the front-end interactive device, receiving takeoff performance calculation requests from multiple students simultaneously. Each front-end interactive device concurrently sends the requests to the server via the network. The server, based on the Spring Cloud microservice architecture's gateway layer, performs unified access and dynamic routing distribution of the requests, forwarding each request to the corresponding experimental business microservice instance, which then performs subsequent asynchronous scheduling processing.
[0035] like Figure 1 As shown, the method specifically includes the following steps: S1: Obtain the initial simulation parameters and physical boundary conditions of the aircraft takeoff performance through the front-end interactive device, and send a simulation request to the server.
[0036] In a specific implementation, after the front-end interactive device is started, an aircraft takeoff performance calculation parameter input page is loaded into the browser interface. This page provides a parameter configuration form containing multiple input controls, each corresponding to a simulation boundary parameter. The front-end interactive device obtains the aircraft takeoff performance simulation boundary parameters input by the user through this parameter input interface. The obtained simulation boundary parameters include at least: aircraft mass. Average takeoff engine thrust Atmospheric density Wing reference area coefficient of friction Front wheel liftoff speed and safety height .
[0037] In a specific implementation example, the simulation boundary parameters input by the user are: aircraft mass kilograms, average takeoff engine thrust Newton, atmospheric density kg / m³, wing reference area square meters, coefficient of friction Front wheel liftoff speed meters per second, safe height Meters. After obtaining the above parameters, the front-end interactive device assembles all parameter items into a simulation request data body containing all simulation boundary parameters, in the form of key-value pairs of parameter names and parameter values.
[0038] At this point, the front-end interactive device uses the assembled simulation request data body as the payload of an HTTP request message, encapsulating it into a POST request message according to the HTTP protocol specification. The request header includes a Content-Type:application / json field to indicate that the payload data format is JSON. The front-end interactive device sends this HTTP request message to the server via the established network connection. After receiving the HTTP request message through its API gateway layer, the server first performs a validity check on the message, including verifying the validity of the request header format, the request method, and the integrity of the payload data. If the check passes, the server parses and extracts all key-value pairs of the simulation boundary parameters from the HTTP request message, restoring them to a parameter list format, which serves as the input data source for task message encapsulation in subsequent steps.
[0039] S2: After receiving the simulation request, the server creates and suspends an asynchronous result processing object to release the current container thread, generates a unique task identifier, and encapsulates the simulation initial parameters and physical boundary conditions before pushing them to the mathematical calculation engine through the message queue.
[0040] In a specific implementation, after receiving the HTTP request message sent by the frontend, the server-side experimental business microservice instance first parses and extracts the simulation boundary parameters from the HTTP request message. Then, the server instantiates a DeferredResult object. This DeferredResult object is a core component of the asynchronous request processing mechanism provided by the Spring MVC framework. Internally, it maintains a completion status flag and a result value storage container, with an initial state of "incomplete" and a result value of empty. After instantiating the DeferredResult object, the server suspends it, that is, binds the current HTTP request to the DeferredResult object through the Spring MVC framework and immediately releases the current container thread. The released container thread returns to the thread pool built into the Spring container, which can be reused for subsequent external requests, thereby enabling the server to receive more concurrent external requests. Simultaneously with releasing the thread, the server calls the standard JavaUUID generation interface to generate a globally unique identifier based on a timestamp and a random number as a unique task identifier. This identifier is used to uniquely identify this simulation task throughout the entire computation process. The server stores the unique task identifier in the memory cache and establishes a one-to-one mapping relationship with the DeferredResult object, so that the corresponding DeferredResult object can be located according to the identifier in subsequent steps.
[0041] At this point, the server assembles all extracted simulation boundary parameters and the unique task identifier into a data object, and then uses a JSON serialization tool to convert this data object into a JSON-formatted string, which serves as the message body of the task message. The server pushes the encapsulated task message to a pre-configured queue in the RabbitMQ message broker through the producer channel of the RabbitMQ message queue. This queue is persistent, ensuring that task messages are not lost if the message broker unexpectedly restarts. The mathematical calculation engine, acting as the consumer of this queue, establishes a connection with the message broker through the RabbitMQ client library and continuously listens to the queue, waiting to receive new task messages. In this architecture, the unique task identifier serves as the associated identifier for result feedback in subsequent steps. After pushing the task message, the server completes the initial processing of this request, and the current thread no longer blocks waiting for calculation results, thus completely decoupling high-concurrency web requests from the underlying time-consuming mathematical calculations.
[0042] S3: After the mathematical calculation engine retrieves a task from the message queue, it selects the corresponding multi-segment dynamic model based on the simulation type to perform numerical integration of the differential equations. During the solution process, the aerodynamic parameters and ground friction parameters in the equations are dynamically switched according to the set physical phase transition nodes.
[0043] In a specific implementation, the mathematical computation engine continuously listens to the message queue through its RabbitMQ consumer thread. When the consumer thread retrieves a task message from the queue, it deserializes and parses the message body, extracting a unique task identifier and all simulation boundary parameters, including aircraft mass. Average takeoff engine thrust Atmospheric density Wing reference area coefficient of friction Front wheel liftoff speed and safety height The mathematical calculation engine determines the simulation type of the current task based on the simulation type identifier contained in the task message. When the simulation type is takeoff performance simulation, a dedicated segmented solution process for the takeoff process is initiated.
[0044] The mathematical calculation engine divides the takeoff process into a ground taxiing phase and an aerial climb phase. For example... Figure 2 As shown, the takeoff process is finely divided into three phases based on differences in physical boundary conditions: the first taxiing phase, the second taxiing phase, and the climb phase. The first taxiing phase corresponds to the acceleration taxiing process from a standstill to the nose wheel liftoff speed; the second taxiing phase corresponds to the nose wheel liftoff taxiing process from the nose wheel liftoff speed to the nose wheel takeoff speed; and the climb phase corresponds to the transition and climb process after takeoff to a safe altitude. In the ground taxiing phase, the nose wheel liftoff speed... This is a physical phase transition node, where the front wheel lift speed... The aircraft's airspeed at the instant the nose wheel leaves the ground needs to be determined in advance based on the aircraft model parameters. As an example, the nose wheel lift-off speed... The value is set to 75 m / s. Using this speed as a node, the ground-based gliding segment is divided into a first gliding phase and a second gliding phase. The mathematical calculation engine first establishes the tangential differential equation for the ground-based gliding segment:
[0045] The left side of the equation represents the product of the aircraft's mass and acceleration, i.e., the inertial force term during the ground taxiing phase; the first term on the right side is the component of engine thrust along the flight direction, the second term is aerodynamic drag, and the third term is ground friction, which is obtained by multiplying the support force by the coefficient of friction. The support force equals gravity minus aerodynamic lift. By mathematically transforming this tangential differential equation, we can obtain the velocity... The time-dependent and distance-dependent infinitesimal equations are for the integral variable:
[0046]
[0047] The first taxiing phase corresponds to the acceleration taxiing process from a standstill to the point of nose wheel lift-off speed. The lower limit of integration, based on the speed of lifting the front wheels. As the maximum score, substitute the angle of attack before the front wheels lift off. Numerical definite integrals are then performed on the aforementioned time and distance infinitesimal equations, respectively. The Runge-Kutta method with adaptive step size can be used for integration, and the integration accuracy is set to [value missing]. After completing the scoring, the time for the first gliding phase is obtained. and distance The second takeoff phase corresponds to the nose wheel liftoff process, where the aircraft continues to accelerate from the nose wheel liftoff speed to the nose wheel takeoff speed. The lower limit of integration, the front wheel liftoff speed As the maximum score, substitute the angle of attack after the front wheels lift off. By performing definite integrals on the time and distance differential equations respectively, the time of the second gliding phase can be obtained. and distance During this process, the angle of attack of the skid before the front wheels lift off. and the angle of attack after lifting the front wheels For different possible values. As an example, The angle of attack for the ground skid when the main landing gear touches the ground before the front wheels is lifted is taken as [value]. ; The angle of attack is the angle of attack of the aircraft in a nose-wheel-up attitude during the takeoff run from the moment the nose wheel lifts off the ground until it takes off. The value is... Different angles of attack were used in the two stages and substituted into the tangential differential equation to accurately characterize the abrupt changes in lift and drag coefficients caused by the front wheel lift.
[0048] At this point, the mathematical calculation engine will determine the speed range for the first gliding phase. Speed range in the second skid phase The total time for the ground gliding segment is obtained by summing the integral results. Total distance After solving the ground taxiing phase, the mathematical calculation engine moved on to solving the aerial climb phase.
[0049] During the climb phase, the aircraft has already left the ground and entered the air; at this point, the flight path angle needs to be considered. The impact of this. Based on the equilibrium condition that the normal velocity is 0, i.e., the net force along the normal direction is zero during the aircraft's climb, the mathematical calculation engine establishes the following normal force balance equation:
[0050] in, The flight path angle is the angle between the direction of the flight speed and the horizontal plane. This is the lift coefficient value when the angle of attack is zero. Let be the slope of the lift line. The left side of the equation represents aerodynamic lift, and the right side represents the component of gravity in the normal direction. In this equation... This represents the angle of attack during the climb phase, distinct from the angle of attack during the ground taxiing phase. The mathematical calculation engine uses numerical methods to solve for the angle of attack during the climb using this normal force balance equation. The inverse solution Substituting into the thrust and drag equations, starting from the takeoff speed... Begin integrating to takeoff safe speed. (Regarding the track angle...) The determination of the mathematical calculation engine from The track angle is gradually increased starting from a preset step size. Perform iterative calculations. For example, the preset step size is... Each step increases Repeat the integration process described above to calculate the flight altitude at that track angle. The value is taken up to the flight altitude. Exceeding safe height The iteration is terminated at the specified time, and the duration of the aerial climb at the time of termination is recorded. and the distance of the aerial climb .
[0051] After the mathematical calculation engine completes all calculations for the ground taxiing and aerial climb phases, it will calculate the total time for the ground taxiing phase. Total distance and the time of ascent ,distance Together with the velocity-time discrete sequence, velocity-distance discrete sequence, and velocity-altitude discrete sequence generated during each segmented integration process. S4: After the mathematical calculation engine completes the solution, it reconstructs the discrete integral data of each segment into a multidimensional data array with equal spacing, and returns the calculation result with a unique task identifier to the server through the message queue.
[0052] In a specific implementation, after completing the piecewise integration solution, the mathematical calculation engine obtains all the piecewise integration result data generated in step S3. This piecewise integration result data includes at least: the velocity-time series of the first gliding phase. Velocity-distance sequence Speed-time series of the second skid phase Velocity-distance sequence And the velocity-time series of the ascent phase. Velocity-distance sequence Velocity-height sequence The subscripts 1, 2, and 3 correspond to the first taxiing phase, the second taxiing phase, and the aerial climb phase, respectively. This represents the set of discrete points showing the change of velocity over time during the first skidding phase. This represents the set of discrete points showing the change in velocity with distance during the first taxiing phase. It's important to note that different velocity step sizes are used for discrete sampling during the integration process in each segment, resulting in varying numbers of discrete points and uneven time step sizes across segments. For example, the first taxiing phase might contain 200 discrete points, the second taxiing phase 150, and the aerial climb phase 300. The time intervals between each phase depend on the velocity step size and rate of change during integration and are not uniform.
[0053] At this point, the mathematical calculation engine reconstructs the aforementioned discrete data. First, it concatenates and merges the discrete time data corresponding to the first taxiing phase, the second taxiing phase, and the aerial climb phase to form a complete flight process time series. The merging process operates as follows: Let the set of discrete time points for the first run-through phase be... The set of discrete time points for the second sliding phase is as follows: (The time offset of the second ski-run phase relative to the starting point needs to be added) The set of discrete time points for the aerial climb phase is: (The time offset of the aerial climb phase relative to the starting point needs to be added) From this, we obtain .
[0054] Then, the mathematical calculation engine uses the merged time series... Using this as a baseline, the discrete data of distance, velocity, and altitude are aligned and stitched together under the same time reference to obtain a time-distance series. Time-velocity sequence and time-altitude series The altitude sequence during the aerial climb phase consists of a speed-altitude sequence. Based on time series Interpolation was obtained. At this point, the distance, speed, and altitude data for the entire flight process were aligned on the same time reference.
[0055] Subsequently, the mathematical calculation engine uses 0 as the starting value and the merged time series... Maximum time value The termination value is determined by a preset uniform time step. To generate equally spaced target time series with increasing step size. ,in The target sampling interval for time interpolation. As an example, A value of 0.1 seconds can generate a target sequence containing approximately several hundred equally spaced time points. The mathematical calculation engine uses a linear interpolation method for the time-distance sequence. Time-velocity sequence and time-altitude series In the equally spaced target time series respectively Interpolation calculations are performed on the data. Linear interpolation methods interpolate between adjacent discrete points in the original time series according to a linear relationship to obtain the corresponding values at the target time point, thereby generating a multidimensional aligned data array with a uniform time step. This multidimensional aligned data array contains a time vector. Distance vector velocity vector and height vector Data in vectors of the same length and at the same index position are strictly aligned in time. For example, in The The time corresponding to each element , and The Each element represents the flight distance, flight speed, and flight altitude at that moment, and the three together constitute a complete description of the flight status.
[0056] Finally, the mathematical computation engine encapsulates the generated multidimensional aligned data array and the unique task identifier into a JSON-formatted result message, which contains the following fields: , , , , The mathematical calculation engine pushes the result messages to a designated queue through the producer channel of the RabbitMQ message queue. This queue is the same queue that the server is listening to for return results.
[0057] S5: After the server listens for the result, it writes the multidimensional data array into the corresponding asynchronous result processing object according to the unique task identifier, wakes up the server thread, and returns the multidimensional data array to the front-end interactive device so that the front-end interactive device can render the takeoff performance data curve.
[0058] In this specific implementation, the server continuously monitors the result queue through its RabbitMQ consumer listener. This listener is initialized and runs in a separate thread when the server starts, working in parallel with the server's main business thread to ensure real-time capture of result messages returned from the mathematical calculation engine. Once the consumer listener retrieves a result message from the result queue, it immediately performs JSON deserialization parsing on the message body, extracting a unique task identifier and a multi-dimensional aligned data array. , , , .
[0059] At this point, the server retrieves the mapping relationship between the unique task identifier and the DeferredResult object stored in step S2 from its memory cache based on the extracted unique task identifier. This mapping relationship is stored in the server's local cache as key-value pairs, where the key is the string value of the unique task identifier and the value is a reference to the corresponding DeferredResult object. Through this retrieval operation, the server locates the DeferredResult object uniquely corresponding to the unique task identifier. Since this DeferredResult object has been in a waiting state since its creation and suspension in step S2, its completion status flag is false, and the result value storage container is empty. The server then extracts the multidimensional aligned data array. , , , As an asynchronous computation result, the setResult method of the DeferredResult object is called to write the multidimensional aligned data array into the result value storage container of the DeferredResult object, and at the same time, the completion status flag is set to true, triggering the completion event of the DeferredResult object.
[0060] When the completion event of the DeferredResult object is triggered, the Spring MVC framework detects that the DeferredResult object has entered the completed state and immediately requests a new worker thread from the container. This worker thread is obtained from the container's thread pool and is used to continue processing the HTTP request from the previously released request thread. The worker thread extracts the result value from the DeferredResult object and stores it in a multidimensional aligned data array within the container. It then uses this as the payload of the HTTP response message, serializes and encapsulates it according to JSON format, and constructs a complete HTTP response message containing the response status code and response body. The server returns this HTTP response message to the front-end interactive device that initiated this simulation request through the established network connection.
[0061] After receiving the HTTP response message, the front-end interactive device first verifies the response status code to confirm successful request processing, then parses the response message payload and extracts the multidimensional aligned data array. , , , The front-end interactive device performs a rendering operation on the takeoff performance data curve based on the above data: [The following text appears to be a separate, unrelated sentence fragment:] ...with... Using the horizontal axis as the basis, respectively Plot a time-velocity curve on the vertical axis, with Plot a time-distance curve on the vertical axis, with Plot a time-height curve on the vertical axis. Because the 3D array is strictly aligned over time, the three curves can be overlaid in the same coordinate system with different colors, allowing users to intuitively compare the coordinated changes in speed, distance, and height over time. Alternatively, they can be displayed separately in three independent, linked coordinate systems, enabling users to focus on analyzing the variation patterns of individual physical quantities. After the front-end interactive device completes the curve plotting, the rendering result is displayed in the chart area of the browser page for users to analyze data and make informed decisions.
[0062] In this embodiment, the server immediately releases the container thread upon receiving the simulation request. Combined with the DeferredResult suspension mechanism and RabbitMQ message queue, fully asynchronous communication between the server and the independently deployed mathematical calculation engine is achieved. This prevents the Web container thread from being blocked for extended periods while waiting for Matlab numerical integration to complete, effectively avoiding thread pool exhaustion and service avalanche problems in multi-user high-concurrency scenarios under traditional synchronous blocking architectures. This significantly improves the simulation platform's concurrent processing capability and system stability. Simultaneously, this invention uses the front wheel lift speed as the physical phase transition node to finely divide the ground taxiing segment into two stages. Different ground taxiing angles of attack before and after the front wheel lift are then substituted into the segments for definite integrals, accurately characterizing the abrupt changes in lift and drag coefficients caused by the front wheel lift action. Furthermore, this is further demonstrated through aerial... By inversely solving the normal force balance equation during the climb phase and combining it with the flight path angle to accurately determine the safe altitude, continuous high-precision numerical simulation of the dynamic characteristics of multiple stages throughout the takeoff process is achieved. This makes the output time-velocity, time-distance, and time-altitude characteristic curves more closely approximate the actual takeoff physical process. Based on this, the present invention concatenates the discrete integral data with unequal step sizes of each segment under the same time reference and reconstructs it into a time-strictly aligned multidimensional data array through equally spaced linear interpolation. This allows the front-end interactive device to directly obtain a standardized curve drawing data source, reducing the load on front-end parsing and rendering while ensuring curve accuracy. Thus, in high-concurrency web application scenarios, it balances the system's response performance with the simulation accuracy of takeoff performance calculations, effectively solving the long-standing technical problem in the field of flight mechanics virtual simulation that makes it difficult to achieve both computational efficiency and model accuracy.
[0063] like Figure 3 As shown, the following are embodiments of the aircraft takeoff performance calculation system based on asynchronous architecture provided in this disclosure. This system and the aircraft takeoff performance calculation method based on asynchronous architecture in the above embodiments belong to the same inventive concept. For details not described in detail in the embodiments of the aircraft takeoff performance calculation system based on asynchronous architecture, please refer to the embodiments of the aircraft takeoff performance calculation method based on asynchronous architecture described above.
[0064] An aircraft takeoff performance calculation system based on an asynchronous architecture includes: The front-end interaction module, deployed on the front-end interaction device, is used to obtain the initial simulation parameters and physical boundary conditions of the aircraft takeoff performance and send simulation requests to the server.
[0065] The asynchronous scheduling module, deployed on the server, is used to create and suspend an asynchronous result processing object to release the current container thread after receiving the simulation request, generate a unique task identifier, and encapsulate the simulation initial parameters and physical boundary conditions and push them to the mathematical calculation engine through the message queue.
[0066] The multi-segment dynamics solution module, deployed in the mathematical computing engine, is used to select the corresponding multi-segment dynamics model for numerical integration of differential equations based on the simulation type after the mathematical computing engine obtains a task from the message queue. During the solution process, the aerodynamic parameters and ground friction parameters in the equations are dynamically switched according to the set physical phase transition nodes.
[0067] The data reconstruction callback module, deployed in the mathematical calculation engine, is used to reconstruct the discrete integral data of each segment into a multidimensional data array with equal spacing after the mathematical calculation engine completes the solution, and return the calculation result with a unique task identifier to the server through the message queue.
[0068] The asynchronous callback rendering module, deployed on the server side, is used to listen for results, write the multidimensional data array into the corresponding asynchronous result processing object according to the unique task identifier, wake up the server thread, and return the multidimensional data array to the front-end interactive device for rendering the takeoff performance data curve.
[0069] The aircraft takeoff performance calculation system based on an asynchronous architecture provided in this embodiment releases container threads immediately after the server receives a request and communicates asynchronously with a message queue and an independently deployed mathematical calculation engine. This completely decouples the Web service layer from computing resources, effectively avoiding thread pool exhaustion and service avalanche caused by uncertain calculation duration in traditional synchronous blocking architectures, and significantly improving system throughput and stability in high-concurrency scenarios. Simultaneously, the system divides the ground taxiing segment into two stages using the front wheel lift-off speed as the physical phase transition node, and performs segmented definite integrals by substituting different values of the ground taxiing angle of attack. The dynamic switching of the takeoff angle of attack at the node accurately reflects the aerodynamic changes. By inversely solving the angle of attack in the air through the normal force balance equation during the climb phase and combining it with the track angle iteration, the safe altitude is accurately determined, realizing continuous high-precision simulation of the dynamic characteristics of multiple stages throughout the takeoff process. Furthermore, by stitching together the discrete integral data with unequal step sizes of each segment under the same time reference and reconstructing it into a time-strictly aligned multidimensional data array through equal-interval interpolation, the front end can directly obtain a standardized curve drawing data source, which reduces the rendering load while ensuring accuracy, thus balancing high concurrency response capability and takeoff performance simulation accuracy.
[0070] Figure 4 A schematic diagram of the hardware structure of an electronic device for implementing various embodiments of the present invention.
[0071] The aircraft takeoff performance calculation method based on asynchronous architecture provided in this application can be applied to electronic devices. Those skilled in the art will understand that the electronic device structure involved in the embodiments of this invention does not constitute a limitation on the electronic device. An electronic device may include more or fewer components than illustrated, or combine certain components, or have different component arrangements. In the embodiments of this invention, the electronic device includes, but is not limited to, laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device may also represent various forms of mobile devices, such as personal digital processors, cellular phones, smartphones, wearable devices, and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely examples and are not intended to limit the implementation of the embodiments of this application described and / or claimed herein.
[0072] Electronic devices may include processors, external memory interfaces, internal memory, universal serial bus (USB) interfaces, charging management modules, power management modules, batteries, wireless communication modules, audio modules, speakers, microphones, sensor modules, buttons, cameras, displays, and SIM card interfaces, etc.
[0073] A processor may include one or more processing units, such as: a central processing unit (CPU), an application processor (AP), a modem processor, a graphics processing unit (GPU), an image signal processor (ISP), a controller, memory, a video codec, a digital signal processor (DSP), a baseband processor, and / or a neural network processing unit (NPU). Different processing units may be independent devices or integrated into one or more processors.
[0074] The processor can serve as the nerve center and command center of an electronic device. The controller can generate operation control signals based on the instruction opcode and timing signals to control the fetching and execution of instructions.
[0075] The processor may also include memory for storing instructions and data. In some embodiments, the memory in the processor is a cache memory. This memory can store instructions or data that the processor has just used or that are used repeatedly. If the processor needs to use the instruction or data again, it can retrieve it directly from this memory. This avoids repeated accesses, reduces processor latency, and thus improves system efficiency.
[0076] An external storage interface (ESI) can be used to connect external memory cards, such as microSD cards, to expand the storage capacity of electronic devices. The external memory card communicates with the processor through the ESI to perform data storage functions, such as saving music and video files on the external memory card.
[0077] Internal memory can be used to store computer executable program code, which includes instructions. The processor executes various functional applications and data processing of electronic devices by running the instructions stored in internal memory. Internal memory can include a program storage area and a data storage area. Internal memory can include high-speed random access memory, and can also include non-volatile memory, such as at least one disk storage device, flash memory device, universal flash storage (UFS), etc.
[0078] Wireless communication functionality in electronic devices can be achieved through antennas, wireless communication modules, modem processors, and baseband processors.
[0079] Wireless communication modules can provide solutions for wireless communication applications in electronic devices, including wireless local area networks (WLANs) (such as wireless fidelity (Wi-Fi) networks), Bluetooth (BT), global navigation satellite system (GNSS), frequency modulation (FM), near field communication (NFC), and infrared (IR) technologies.
[0080] Electronic devices can implement audio functions through audio modules, speakers, receivers, microphones, headphone jacks, and application processors.
[0081] Electronic devices can achieve shooting functions through ISPs, cameras, video codecs, GPUs, displays, and application processors.
[0082] Electronic devices can achieve display functions through GPUs, displays, and application processors.
[0083] A GPU is a microprocessor for image processing, connected to the display screen and application processor. GPUs are used to perform mathematical and geometric calculations for graphics rendering. A processor may include one or more GPUs, which execute program instructions to generate or modify display information.
[0084] A display screen is used to display images, videos, etc. A display screen includes a display panel.
[0085] The aforementioned electronic device realizes the asynchronous architecture-based aircraft takeoff performance calculation method of this application. After receiving the request from the server, the container thread is immediately released, and a message queue is used to achieve fully asynchronous communication with the independently deployed mathematical calculation engine. This prevents the Web container thread from being blocked for a long time while waiting for numerical integration, avoiding the problems of thread pool exhaustion and service avalanche in multi-user high-concurrency scenarios. The ground taxiing segment is divided into two stages with the front wheel lift speed as the physical phase transition node, and different values of the ground taxiing angle of attack are substituted into the segmented definite integrals to accurately characterize the sudden changes in lift and drag coefficients caused by the front wheel lift action. After solving the air angle of attack by inversely solving the normal force balance equation of the air climb segment, the safe altitude is accurately determined by combining the trajectory angle iteratively, realizing continuous high-precision simulation of the dynamic characteristics of the multi-stage process of takeoff. At the same time, the discrete integral data with unequal step lengths of each segment are reconstructed into a time-strictly aligned multi-dimensional data array through equal-interval interpolation, so that the front end can directly obtain a standardized curve drawing data source, achieving the beneficial effect of balancing the stability of high-concurrency systems, simulation accuracy, and front-end rendering efficiency.
[0086] The storage medium provided in this application stores a program product capable of implementing an aircraft takeoff performance calculation method based on an asynchronous architecture.
[0087] In some possible implementations, the asynchronous architecture-based aircraft takeoff performance calculation method of this disclosure can be implemented as a program product comprising program code that, when run on a terminal device, causes the terminal device to perform the steps described in the "Exemplary Methods" section of this specification according to various exemplary embodiments of this disclosure.
[0088] The storage medium disclosed herein may be any combination of one or more readable media. A readable medium may be a readable signal medium or a readable storage medium. A readable storage medium may be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination thereof. More specific examples (a non-exhaustive list) of readable storage media include: an electrical connection having one or more wires, a portable disk, a hard disk, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage device, magnetic storage device, or any suitable combination thereof.
[0089] The above description of the disclosed embodiments enables those skilled in the art to make or use the invention. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the general principles defined herein may be implemented in other embodiments without departing from the spirit or scope of the invention. Therefore, the invention is not to be limited to the embodiments shown herein, but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.
Claims
1. A method for calculating aircraft takeoff performance based on an asynchronous architecture, characterized in that, The asynchronous architecture deploys a front-end interactive device, a server, and a mathematical calculation engine. The front-end interactive device communicates with the server via a network, and the server and the mathematical calculation engine communicate asynchronously via a message queue. The method includes the following steps: S1: Obtain the initial simulation parameters and physical boundary conditions of the aircraft takeoff performance through the front-end interactive device, and send a simulation request to the server; S2: After receiving the simulation request, the server creates and suspends the asynchronous result processing object to release the current container thread, generates a unique task identifier, and encapsulates the simulation initial parameters and physical boundary conditions and pushes them to the mathematical calculation engine through the message queue. S3: After the mathematical calculation engine retrieves a task from the message queue, it selects the corresponding multi-segment dynamic model according to the simulation type to solve the differential equation numerically. During the solution process, the aerodynamic parameters and ground friction parameters in the equation are dynamically switched according to the set physical phase transition nodes. S4: After the mathematical calculation engine completes the solution, it reconstructs the discrete integral data of each segment into a multidimensional data array with equal spacing, and returns the calculation result with a unique task identifier to the server through the message queue. S5: After the server listens for the result, it writes the multidimensional data array into the corresponding asynchronous result processing object according to the unique task identifier, wakes up the server thread, and returns the multidimensional data array to the front-end interactive device so that the front-end interactive device can render the takeoff performance data curve.
2. The method for calculating aircraft takeoff performance based on asynchronous architecture according to claim 1, characterized in that, Step S1 includes: The system provides a parameter input interface via a front-end interactive device to obtain the simulation boundary parameters of the aircraft takeoff performance input by the user; these simulation boundary parameters include: aircraft mass. Average takeoff engine thrust Atmospheric density Wing reference area coefficient of friction Front wheel liftoff speed and safety height ; The simulation boundary parameters are assembled into a simulation request containing parameter key-value pairs through a front-end interactive device; The simulation request is encapsulated into an HTTP request message by the front-end interactive device and sent to the server over the network.
3. The method for calculating aircraft takeoff performance based on asynchronous architecture according to claim 2, characterized in that, Step S2 includes: After receiving the simulation request, the server extracts the simulation boundary parameters from the HTTP request message; The server instantiates a DeferredResult object and suspends it, while immediately releasing the current container thread to receive more concurrent external requests. A unique task identifier is created by calling the UUID generation interface on the server side, and the unique task identifier is stored in the memory cache and a mapping relationship is established with the DeferredResult object; The server encapsulates the simulation boundary parameters and the unique task identifier into a JSON-formatted task message. The server pushes the task message to the designated queue through the producer channel of the RabbitMQ message queue, and the mathematical calculation engine, as the consumer of the queue, waits to obtain the task message.
4. The method for calculating aircraft takeoff performance based on asynchronous architecture according to claim 3, characterized in that, Step S3 includes: After the mathematical calculation engine obtains the task message from the message queue, it parses the task message and extracts the simulation boundary parameters from it; When the simulation type is takeoff performance simulation, the takeoff process is divided into the ground taxiing phase and the air climb phase; During the ground gliding section, at the speed of lifting the front wheels At the physical phase transition node, the speed of lifting the front wheels. Let the aircraft's velocity at the instant the nose wheel leaves the ground be the starting velocity. Divide the takeoff run into a first takeoff phase and a second takeoff phase, and establish the tangential differential equation: in, For aircraft quality, For flight speed, This represents the average thrust of the takeoff engine. The angle of attack for the ground-based ski-running phase. Atmospheric density, For wing reference area, and These are the drag coefficient and lift coefficient, respectively, as they vary with the angle of attack. The coefficient of friction, It is the acceleration due to gravity; Transforming the tangential differential equation yields the following time and distance differential equations: In the first sliding phase, with The lower limit of integration, based on the speed of lifting the front wheels. As the maximum score, substitute the angle of attack before the front wheels lift off. By performing definite integrals on the time and distance differential equations respectively, the time of the first gliding phase can be obtained. and distance ; During the second phase of the run, with the front wheel lift speed The lower limit of integration, the front wheel liftoff speed As the maximum score, substitute the angle of attack after the front wheels lift off. By performing definite integrals on the time and distance differential equations respectively, the time of the second gliding phase can be obtained. and distance ; The speed range of the first gliding phase is determined through a mathematical calculation engine. Speed range in the second skid phase The total time for the ground gliding segment is obtained by summing the integral results. Total distance ,in , ; During the aerial ascent phase, the following normal force balance equation is established based on the equilibrium condition that the normal velocity is 0: in, For the track angle, This is the lift coefficient value when the angle of attack is zero. The slope of the lifting line is given in this equation. This indicates the angle of attack during the aerial climb phase, which is distinct from the angle of attack during the ground taxiing phase. The angle of attack in the air can be obtained by solving the equation of normal force balance. Then, substituting into the thrust and drag equations, we can determine the liftoff velocity. Integrate to takeoff safe speed; from The track angle is gradually increased starting from a preset step size. Perform iterative calculations until the flight altitude is reached. Exceeding safe height The iteration terminates at the specified time, and the duration of the aerial climb at the time of termination is recorded. and the distance of the aerial climb ; The total time of the ground gliding segment Total distance and the time of the aerial climb ,distance Together with the velocity-time discrete sequence, velocity-distance discrete sequence, and velocity-height discrete sequence generated during each piecewise integration process, they are used as piecewise integration result data.
5. The method for calculating aircraft takeoff performance based on asynchronous architecture according to claim 4, characterized in that, Step S4 includes: Obtain segmented integration results data, which includes the speed-time series of the first gliding phase. Velocity-distance sequence Speed-time series of the second skid phase Velocity-distance sequence And the velocity-time series of the ascent phase. Velocity-distance sequence Velocity-height sequence ; The discrete time data corresponding to the first taxiing phase, the second taxiing phase, and the aerial climb phase are concatenated and merged into arrays to form a complete flight process time series. ;in , , , These are the sets of discrete time points for the first taxiing phase, the second taxiing phase, and the aerial climb phase, respectively. Flight process time series Using this as a baseline, the corresponding discrete data of distance, velocity, and altitude are aligned and stitched together under the same time reference to obtain a time-distance series. Time-velocity sequence and time-altitude series ; Starting with 0, using the flight process time series Maximum time value The termination value is determined by a preset uniform time step. To generate equally spaced target time series with increasing step size. ,in The target sampling interval for time interpolation; A linear interpolation method is used for the time-distance sequence. Time-velocity sequence and time-altitude series In the equally spaced target time series respectively Interpolation calculations are performed to generate a multidimensional aligned data array with a uniform time step, the multidimensional aligned data array including a time vector. Distance vector velocity vector and height vector Data with the same length and at the same index position in each vector are aligned in time. The multidimensional aligned data array and the unique task identifier are encapsulated together into a JSON format result message; The result message is pushed to the specified queue through the producer channel of the RabbitMQ message queue.
6. The method for calculating aircraft takeoff performance based on asynchronous architecture according to claim 5, characterized in that, Step S5 includes: The server continuously listens to the result queue through the RabbitMQ message queue consumer listener; When the consumer listener obtains the result message from the result queue, it parses the result message and extracts the unique task identifier and the multidimensional aligned data array. Based on the unique task identifier, retrieve the mapping relationship between the unique task identifier and the DeferredResult object in the memory cache, and locate the DeferredResult object corresponding to the unique task identifier; The extracted multidimensional aligned data array is used as the asynchronous calculation result. The setResult method of the DeferredResult object is called to write the multidimensional aligned data array into the object, triggering the completion event of the DeferredResult object. The DeferredResult object requests a new worker thread from the container and encapsulates the multidimensional aligned data array into a JSON-formatted HTTP response message; The HTTP response message is returned to the front-end interactive device via the network; After receiving the HTTP response message, the front-end interactive device parses and extracts the multidimensional aligned data array, in order to Using the horizontal axis as the basis, respectively Plot a time-velocity curve on the vertical axis, with Plot a time-distance curve on the vertical axis, with Plot the time-altitude curve on the vertical axis, and render and display the three curves in the same coordinate system or a linked coordinate system to visualize the takeoff performance simulation results.
7. The method for calculating aircraft takeoff performance based on asynchronous architecture according to claim 1, characterized in that, The server is built on the Spring Cloud microservice architecture, the asynchronous result processing object is a DeferredResult object, the message queue is a RabbitMQ message queue, and the mathematical calculation engine is deployed independently of the server and acts as a consumer of the RabbitMQ message queue to asynchronously execute integral calculation tasks, so as to decouple high-concurrency web requests from underlying time-consuming mathematical calculations.
8. An aircraft takeoff performance calculation system based on an asynchronous architecture, characterized in that, The system employs the aircraft takeoff performance calculation method based on asynchronous architecture as described in any one of claims 1 to 7; The system includes: The front-end interaction module, deployed on the front-end interaction device, is used to obtain the initial simulation parameters and physical boundary conditions of the aircraft takeoff performance and send simulation requests to the server. The asynchronous scheduling module, deployed on the server, is used to create and suspend the asynchronous result processing object to release the current container thread after receiving the simulation request, generate a unique task identifier, and encapsulate the simulation initial parameters and physical boundary conditions and push them to the mathematical calculation engine through the message queue. The multi-segment dynamics solution module, deployed in the mathematical computing engine, is used to select the corresponding multi-segment dynamics model for numerical integration of differential equations according to the simulation type after the mathematical computing engine obtains a task from the message queue. During the solution process, the aerodynamic parameters and ground friction parameters in the equations are dynamically switched according to the set physical phase transition nodes. The data reconstruction callback module is deployed in the mathematical calculation engine. After the mathematical calculation engine completes the solution, it reconstructs the discrete integral data of each segment into a multidimensional data array with equal spacing, and returns the calculation result with a unique task identifier to the server through the message queue. The asynchronous callback rendering module, deployed on the server side, is used to listen for results, write the multidimensional data array into the corresponding asynchronous result processing object according to the unique task identifier, wake up the server thread, and return the multidimensional data array to the front-end interactive device for rendering the takeoff performance data curve.
9. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that, When the processor executes the program, it implements the steps of the aircraft takeoff performance calculation method based on asynchronous architecture as described in any one of claims 1 to 7.
10. A storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by the processor, it implements the steps of the aircraft takeoff performance calculation method based on an asynchronous architecture as described in any one of claims 1 to 7.
