Aircraft access device and method based on zero copy technology

Through the aircraft access device based on zero-copy technology, efficient and real-time data transmission of modern aircraft communication architecture is achieved, solving the problems of high cost and complexity, improving the flexibility and reliability of the system, and adapting to complex system architecture and large data processing requirements.

CN120704908APending Publication Date: 2025-09-26XIAN CHONGFENG INTELLIGENT TECH CO LTD
View PDF 7 Cites 0 Cited by

Patent Information

Application Number
CN202510647356.2
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-05-20
Publication Date
2025-09-26

AI Technical Summary

Technical Problem

Modern aircraft communication architectures suffer from high costs, long communication delays, and high system integration complexity, which lead to extended design cycles, waste of resources, and reduced product quality, making it difficult to meet the needs of efficient and real-time data transmission.

Method used

An aircraft access device based on zero-copy technology is used to dynamically adapt to multiple types of peripherals through modular interfaces, achieving standardized access to different communication protocols. It also uses shared memory and zero-copy technology for data transmission, and combines decentralized networking modules and subscription-publishing mechanisms to optimize the data interaction process.

Benefits of technology

It improves data transmission efficiency, reduces system resource consumption and integration complexity, enhances real-time performance and reliability, simplifies the system integration process, and improves the overall performance and safety of the aircraft.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120704908A_ABST
    Figure CN120704908A_ABST
Patent Text Reader

Abstract

The invention provides an aircraft access device and method based on a zero-copy technology, and the device comprises a communication adaption module which dynamically adapts to multiple types of peripherals of an aircraft through a modular interface, and the modular interface integrates multiple communication protocols and drive programs, and achieves the data format translation and interaction among the multiple types of peripherals; the shared memory module constructs a shared memory area based on a POSIX protocol, and controls access synchronization through semaphore; and the plurality of application programs in the user mode and the processing module in the kernel mode read and write the shared memory area through a zero copy technology, and release service information for controlling the aircraft through the shared memory area. The decentration networking module dynamically matches different components of the aircraft through service information to form a publisher and a subscriber; the data interaction module drives a publisher to write data into the shared memory based on a subscription-publishing mechanism and notifies a subscriber through a synchronization mechanism, and the subscriber reads the data from the shared memory according to a preset strategy to execute corresponding processing.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of aerospace technology, and in particular to an aircraft access device and access method based on zero-copy technology. Background Art

[0002] The design process for modern aircraft is complex, involving multiple disciplines and fields, including aerodynamics, materials science, structural engineering, and control engineering. With the continuous advancement of technology, aircraft functionality is becoming increasingly diverse, and a variety of advanced systems and equipment are constantly emerging, leading to a sharp increase in the number of modules and components involved in the design process. However, the multiple communication protocols developed by different manufacturers and the accumulation of redundant modules in the market lead to high costs and significant integration difficulties during the integrated development process. This complexity not only increases project management challenges but can also lead to extended design cycles, wasted resources, and reduced product quality. Furthermore, modern aircraft place higher demands on data transmission efficiency in terms of performance, reliability, and safety. Traditional data transmission methods often become bottlenecks due to their inefficiency, further increasing the consumption of time and resources and affecting the overall project progress and results.

[0003] Please refer to Figure 1As shown in the figure, the communication architecture of modern aircraft is a highly integrated distributed system, whose core goal is to achieve efficient and reliable interaction between sensor data, control instructions and mission payloads. The overall architecture of the aircraft has multiple functional modules, such as flight control module, sensor module, actuator, communication link module, etc. The communication architecture of modern aircraft has the following three main disadvantages in the design and implementation process: high cost, large communication delay and high system integration complexity. (1) High cost: The communication system of modern aircraft is usually composed of multiple different components and modules, including sensors, control units and data processing centers. These components often come from different suppliers and require specific communication protocols for interaction. This diverse supply chain and technical requirements have led to a significant increase in the overall system development and maintenance costs. In addition, as the functions of aircraft continue to expand, the required hardware and software resources are also increasing, further pushing up the cost. (2) Large communication delay: In modern aircraft, real-time data transmission is crucial. However, because the communication protocols and network structures used may not be efficient enough, the delay in data transmission is significantly increased. High latency not only affects the real-time monitoring and control capabilities of the aircraft, but may also result in the inability to obtain the required data in time at critical moments, thereby affecting flight safety and combat effectiveness. In addition, traditional wireless communication methods are more likely to cause communication delays in the event of signal interference, network congestion, etc., further affecting the performance of the aircraft. (3) High system integration complexity: The communication architecture of modern aircraft usually needs to be integrated with multiple subsystems, including navigation, control, monitoring, etc. Since different subsystems may adopt different technical standards and communication protocols, the complexity of system integration is greatly increased. During the integration process, not only various technical and compatibility issues need to be resolved, but also a large amount of testing and verification is required to ensure the coordination of various modules. This highly complex system integration not only increases the development cycle, but also increases the risk of failure, which may lead to a reduction in the overall reliability of the system. In summary, the disadvantages of modern aircraft communication architecture in terms of cost, communication latency and system integration complexity have brought certain challenges to the design and operation of aircraft.

[0004] Therefore, there is an urgent need for an efficient, real-time and standardized access method. Summary of the Invention

[0005] The purpose of this application is to provide an aircraft access device and access method based on zero-copy technology to improve data transmission efficiency, reduce system resource consumption and system integration complexity, enhance real-time performance and reliability, and adapt to the complex system architecture and large-scale data processing requirements of modern aircraft. Through software-defined methods, each module in the aircraft is software-defined, and a unified and efficient communication adaptation layer is implemented, which can achieve standardized access for different communication protocols, and the zero-copy technology ensures the real-time performance of its communication.

[0006] The aircraft access device based on zero-copy technology provided in the present application specifically includes: a communication adaptation module, which dynamically adapts to various types of peripherals of the aircraft through a modular interface, and the modular interface integrates multiple communication protocols and drivers to realize data format translation and interaction between various types of peripherals; a shared memory module, which constructs a shared memory area based on the POSIX protocol and controls access synchronization through semaphores; and multiple user-state applications and kernel-state processing modules read and write the shared memory area through zero-copy technology, and publish service information for controlling the aircraft through the shared memory area; a decentralized networking module, which dynamically matches different components of the aircraft to form publishers and subscribers through the service information; a data interaction module, which drives the publisher to write data to the shared memory based on the subscription-publishing mechanism and notifies the subscriber through the synchronization mechanism, and the subscriber reads the data from the shared memory according to the preset strategy and performs corresponding processing.

[0007] In the above-mentioned aircraft access device, optionally, the communication adapter module implements protocol conversion, data transmission and error handling through middleware; the communication protocols include CAN, PCIe and 1553B.

[0008] In the above-mentioned aircraft access device, optionally, the device further includes a shared memory management module, which is used to divide the memory area into multiple memory pools, each memory pool contains multiple memory blocks of fixed size, and records the usage status of all memory blocks in the corresponding memory pool through a memory block list pre-stored in each of the memory pools.

[0009] In the above-mentioned aircraft access device, optionally, the shared memory module includes a memory adjustment unit, a defragmentation unit and a priority scheduling unit; the memory adjustment unit dynamically adjusts the memory pool capacity through a sliding window strategy according to the historical task load; the defragmentation unit triggers defragmentation when the memory fragmentation rate exceeds a threshold or the aircraft enters a low power consumption mode; the priority scheduling unit assigns different priorities to the memory pool and allocates memory pools of corresponding priorities according to the priorities of different tasks.

[0010] In the above-mentioned aircraft access device, optionally, the shared memory management module includes a registration unit; the registration unit is used to construct corresponding multiple node information according to different components in the aircraft, and map the corresponding physical address space to the virtual memory space of the process according to the node information; according to the mapping result of the virtual memory space and the preset adjustment parameters, the memory block is divided into multiple data domains, and the offset corresponding to the data domain is recorded in the data free queue preset in the memory block.

[0011] In the above-mentioned aircraft access device, optionally, the data interaction module includes a data writing unit and a data reading unit; the data writing unit is used to obtain an offset through the data free queue according to a write request initiated by the instruction publisher, and lock the corresponding memory block through a mutex lock according to the offset; and, release the mutex lock after the writing is completed, record the offset to the data usage queue preset in the memory block, and notify the corresponding subscriber through a semaphore; the data reading unit is used to obtain an offset through the data usage queue according to a read request initiated by the subscriber, obtain the write data in the corresponding memory block according to the offset, and read the write data according to a preset consumption function.

[0012] In the above-mentioned aircraft access device, optionally, the data interaction module supports 1:n broadcast networking and n:m flexible networking modes, wherein the selection of the networking mode is associated with the real-time mission scenario of the aircraft.

[0013] The present application also provides an aircraft access method suitable for the aircraft access device, the method comprising: integrating multiple communication protocols and drivers through a modular interface to generate a standardized communication link that supports data translation and interaction of multiple types of peripherals; based on the standardized communication link, creating a shared memory area through the POSIX protocol, and controlling access synchronization through semaphores; user-mode applications and kernel-mode processing modules read and write the shared memory area through zero-copy technology, and publish service information for controlling the aircraft through the shared memory area; dynamically matching different components of the aircraft to form publishers and subscribers through the service information; driving the publisher to write data to the shared memory based on the subscription-publish mechanism and notifying the subscriber through the synchronization mechanism, and the subscriber reads the data from the shared memory according to the preset strategy and performs corresponding processing.

[0014] The present application also 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.

[0015] The present application also provides a computer program product, comprising a computer program / instruction, which implements the steps of the method when executed by a processor.

[0016] The beneficial technical effect of this application is that it utilizes zero-copy technology and software-defined methods to optimize the data transmission process and reduce redundant data transmission between different systems, thereby greatly improving the efficiency of data processing. This not only simplifies the design process and reduces the difficulty of integration, but also promotes seamless collaboration among multidisciplinary teams and enhances the interoperability between modules. This efficient access method will enable companies to respond to market demands more quickly, improve innovation capabilities and design efficiency, and help companies maintain their leading position in the fierce market competition. In addition, it will also promote the development and technological progress of the entire aerospace industry, help achieve safer and more efficient aircraft design and manufacturing, and ultimately provide more reliable protection for aviation safety and user experience. BRIEF DESCRIPTION OF THE DRAWINGS

[0017] The drawings described herein are used to provide a further understanding of the present application, constitute a part of the present application, and do not constitute a limitation of the present application. In the drawings:

[0018] Figure 1 A schematic diagram of the overall structure of modern aircraft communication provided by an embodiment of the present application;

[0019] Figure 2 A schematic diagram of the structure of an aircraft access device based on zero-copy technology provided in one embodiment of the present application;

[0020] Figure 3 A schematic diagram of the architecture of the communication adaptation layer provided in one embodiment of the present application;

[0021] Figure 4 A schematic diagram of the overall communication framework of the zero-copy technology provided in one embodiment of the present application;

[0022] Figure 5 A schematic diagram of the shared memory management module architecture provided in one embodiment of the present application;

[0023] Figure 6 A schematic diagram of shared memory mapping provided in an embodiment of the present application;

[0024] Figure 7 A schematic diagram of the message publishing process provided in one embodiment of the present application;

[0025] Figure 8 A schematic diagram of a shared receiving process provided in an embodiment of the present application;

[0026] Figure 9 A schematic diagram of an independent receiving process provided in an embodiment of the present application;

[0027] Figure 10 A schematic diagram of a 1:n networking mode provided in an embodiment of the present application;

[0028] Figure 11 This is a schematic diagram of an n:m networking mode provided in an embodiment of the present application. DETAILED DESCRIPTION

[0029] The following will describe in detail the implementation methods of this application in conjunction with the accompanying drawings and examples, so that the application can fully understand how technical means are used to solve technical problems and achieve technical effects, and implement them accordingly. It should be noted that as long as there is no conflict, the various embodiments and the various features in each embodiment of this application can be combined with each other, and the resulting technical solutions are all within the scope of protection of this application.

[0030] Additionally, the steps shown in the flowcharts of the accompanying drawings may be executed in a computer system such as a set of computer-executable instructions, and although a logical order is shown in the flowcharts, in some cases the steps shown or described may be performed in an order different from that shown.

[0031] Please refer to Figure 2 As shown, the aircraft access device based on zero-copy technology provided by the present application specifically includes: a communication adaptation module, which dynamically adapts various types of peripherals of the aircraft through a modular interface, and the modular interface integrates multiple communication protocols and drivers to realize data format translation and interaction between multiple types of peripherals; a shared memory module, which constructs a shared memory area based on the POSIX protocol and controls access synchronization through semaphores; and multiple user-state applications and kernel-state processing modules (processing components, such as chips and boards, etc.) read and write the shared memory area through zero-copy technology, and publish service information for controlling the aircraft through the shared memory area; a decentralized networking module, which dynamically matches different components of the aircraft to form publishers and subscribers through the service information; a data interaction module, which drives the publisher to write data to the shared memory based on the subscription-publishing mechanism and notifies the subscriber through the synchronization mechanism, and the subscriber reads the data from the shared memory according to the preset strategy and performs corresponding processing.

[0032] In this embodiment, the overall architecture of the aircraft access device is centered around an information processing center. The communication adaptation layer implements dynamic driver adaptation and resource optimization management for hardware such as sensors and collectors. Finally, the operating system executes specific functions through scheduling services. This modular design provides the system with high flexibility and scalability. The software-defined aircraft architecture decouples software and hardware by restructuring the existing relationship between software and hardware, facilitating iterative upgrades. Compared to traditional aircraft communication architectures, its advantages include: Cost reduction: By effectively decoupling aircraft software and hardware, the connections and interactions between modules are significantly simplified. This design approach allows for centralized management of multiple electronic component units, reducing the number of complex components required for each module. Furthermore, unified management by the information processing center optimizes the system architecture, reduces redundancy, and improves resource utilization. This not only significantly reduces wiring harness costs but also reduces complexity in production and maintenance, ultimately providing strong support for the overall cost-effectiveness of the aircraft. Ease of integration: Utilizing zero-copy middleware technology, modules developed by different manufacturers or research institutes can be quickly integrated by simply meeting specific data type interfaces. This greatly simplifies the system integration process, as developers no longer need to repeatedly modify code for compatibility with different communication protocols, effectively reducing development time and costs. This flexible integration method not only improves the interoperability between different systems, but also promotes cooperation and innovation among all parties, thereby accelerating the promotion and application of new aircraft technologies. Reduced communication latency: Zero-copy middleware uses shared memory technology to directly access data between different modules, significantly reducing the time required for data transmission. This efficient data transmission method ensures the real-time performance of the aircraft when performing missions, can respond instantly to various dynamic changes and emergencies, and improves the overall performance and reliability of the system. By reducing communication latency, the aircraft's control system can process and analyze data from sensors more quickly, thereby improving control accuracy and safety, and providing important guarantees for the successful implementation of flight missions.

[0033] In one embodiment of the present application, the communication adapter module implements protocol conversion, data transmission and error handling through middleware; the communication protocols include CAN, PCIe and 1553B. Figure 3As shown in the figure, in actual work, the communication adaptation layer adopts a service-oriented design concept to modularize all peripherals. The system can dynamically configure various peripheral drivers according to needs, including but not limited to CAN, PCIe, 1553B and other communication protocols. Through this flexible configuration mechanism, the system can achieve efficient access and management of all peripherals, thereby ensuring interoperability and smooth data exchange between different devices. In addition, this dynamic configuration capability also enables the system to quickly adapt and respond when faced with different application scenarios, reducing the complexity of development and maintenance, and improving the flexibility and scalability of the overall system. Specifically, the configuration process of the communication adaptation layer is as follows:

[0034] (1) Modular design: When designing the communication adaptation layer, the functions of different peripherals must first be modularized. Each peripheral module should have independent functions and interfaces. This modular design allows each peripheral to be independently developed, tested, and maintained. Aircraft peripherals can be divided into independent modules based on their functional types (such as sensors, actuators, communication links, etc.). Each module defines clear interface specifications (such as input / output data types and control command formats). For example, the GPS sensor, gyroscope, and barometric pressure sensor are divided into "navigation sensor modules" and provide a unified position and attitude data interface. The hardware abstraction layer design pattern is used to define standardized hardware operation interfaces for each peripheral module to shield the underlying hardware differences.

[0035] (2) Driver development and integration: The communication adaptation layer integrates various communication protocols (such as CAN, PCIe, 1553B, etc.) and integrates the corresponding drivers. These drivers are responsible for converting the operations of the peripherals into instructions and data formats that the system can understand. At the same time, the drivers need to consider the characteristics of different protocols to ensure reliable communication. Dedicated drivers can be written for different communication protocols (CAN, PCIe, 1553B) to implement the control logic of the protocol physical layer and data link layer; through the pre-installed driver manager, it supports dynamic loading of drivers (such as through .so or .dll files) and automatically matches the driver according to the peripheral type at runtime; it can also embed protocol-specific logic in the driver (such as CAN's arbitration mechanism and 1553B's dual redundant bus management) to ensure reliable communication.

[0036] (3) Introduction of middleware or abstraction layer: Introduce middleware or abstraction layer to handle data transmission and protocol conversion between different peripherals. This layer is responsible for managing the life cycle of peripherals, including initialization, data transmission, error handling, etc., so as to achieve unified management of peripherals. In actual work, communication middleware can be built to provide a unified data transmission interface and shield the differences in underlying protocols. The middleware integrates the peripheral manager, which is responsible for peripheral initialization, status monitoring and fault recovery. The middleware has a built-in error detection mechanism (such as timeout retransmission and CRC check failure alarm) and records key events through the log service.

[0037] (4) Implementation of interoperability and data exchange: Through standardized data formats and protocol conversion mechanisms, we ensure smooth data exchange and interoperability between different peripherals. In addition, by integrating zero-copy middleware into the communication adaptation layer, we can achieve real-time performance and data consistency of the system. In actual work, we can define a unified data exchange protocol, specify the data field type, byte order, and checksum rules; the middleware has a built-in protocol converter to convert the original data of the peripherals into a standard format and reversely convert the control instructions; a shared memory zero-copy module is embedded in the communication adaptation layer, and direct data interaction between user mode and kernel mode is achieved through memory mapping.

[0038] Through the above configuration, the communication adaptation layer provided by this application has the following core advantages through a modular structure: 1. Modular and flexible architecture: adopting an independent functional module design, each peripheral driver can be configured / updated separately; supporting dynamic loading / unloading of drivers, the system can adapt to new devices without restarting; users can combine modules on demand to avoid global system changes. 2. Full protocol compatibility: built-in standardized interfaces support mainstream industrial protocols such as CAN / PCIe / 1553B; intelligent protocol conversion mechanism ensures seamless communication across devices; automatically identifies the protocol type of newly accessed devices and completes the adaptation. 3. Efficient development and maintenance system: standardized interface specifications reduce development complexity, module isolation design allows parallel development and testing, driver updates can be carried out independently, maintenance costs are reduced, and it is compatible with future new protocol extensions to protect existing investments.

[0039] In one embodiment of the present application, zero copy technology is mainly used in the communication process of the aircraft, please refer to Figure 4 As shown in the figure, shared memory is used to implement zero copy of data in this process, so that the application and the kernel can share the same memory area, avoiding data copying between user state and kernel state; the application can directly write data to the shared memory, and then the kernel can directly read data from the shared memory for transmission, or vice versa; the specific implementation process is as follows:

[0040] (1) Create a shared memory area: Select a shared memory area: Determine the size and name of the shared memory. Create shared memory: Use the API provided by the standard POSIX protocol to create a shared memory area.

[0041] (2) Mapping shared memory: User mode and kernel mode use the API provided by the standard POSIX protocol to map shared memory to their own address space.

[0042] (3) Data Production and Consumption: Data production: The producer process writes data directly to a specific area in shared memory without copying the data elsewhere. Data consumption: The consumer process reads data from shared memory. Again, data is read directly from shared memory rather than copied over the network or other mechanisms.

[0043] (4) Synchronization mechanism: To ensure synchronous access to data, semaphores provided by the standard POSIX protocol are used to control access to shared memory to avoid data contention and inconsistency.

[0044] (5) Unmapping and Cleaning: Unmapping: When the process has finished using the shared memory, unmap it using the interface API corresponding to the standard POSIX protocol. Deleting shared memory: Finally, delete the shared memory identifier.

[0045] This application solves the problem of one-way communication by adopting zero-copy communication technology. It can complete data duplexing by subscribing to topics, and can meet the multi-node communication mode and adapt to different application scenarios. For modern avionics equipment with high data volume, it can ensure that the communication delay will not increase when the data volume increases. The zero-copy communication middleware in the present invention adopts an innovative decentralized design, which significantly improves the flexibility and efficiency of the system. Unlike traditional zero-copy middleware, this system eliminates the dependence on daemons and allows each node to manage and provide services independently. This design not only reduces the complexity of the system, but also effectively reduces latency and resource consumption, allowing nodes to exchange data and communicate more efficiently. At the same time, the decentralized architecture enhances the robustness of the system, improves the overall scalability, and can better adapt to dynamically changing network environments and user needs.

[0046] In one embodiment of the present application, the device further includes a shared memory management module, which is configured to divide a memory area into multiple memory pools, each memory pool containing multiple fixed-size memory blocks, and record the usage status of all memory blocks in the corresponding memory pool through a pre-stored memory block list in each memory pool. The shared memory module includes a memory adjustment unit, a defragmentation unit, and a priority scheduling unit; the memory adjustment unit dynamically adjusts the memory pool capacity based on historical task loads using a sliding window strategy; the defragmentation unit triggers defragmentation when the memory fragmentation rate exceeds a threshold or the aircraft enters a low-power mode; and the priority scheduling unit assigns different priorities to the memory pools and allocates memory pools of corresponding priorities based on the priorities of different tasks. Furthermore, the shared memory management module includes a registration unit; the registration unit is configured to construct corresponding multiple node information based on different components in the aircraft, map the corresponding physical address space to the virtual memory space of the process based on the node information, partition the memory block into multiple data fields based on the mapping results of the virtual memory space and preset adjustment parameters, and record the offsets corresponding to the data fields in a preset data free queue in the memory block.

[0047] Please refer to Figure 5 As shown in the figure, in actual operation, the shared memory management module first roughly divides the entire shared memory into multiple memory pools MemPool, and each memory pool is further divided into several memory chunks of the same size Chunk. The number and size of memory chunks in each memory pool can be configured by the user, or the default configuration can be used. This flexibility allows the system to be optimized according to actual needs. In this module, the unit of shared memory allocation and recycling is the memory chunk, and in each memory pool there is a memory chunk list ChunkList that specifically stores memory chunk index information. This list is used to track the status of each memory chunk (e.g., available, allocated, or released). To improve the efficiency of memory management, a management scheduling algorithm can also be introduced. This algorithm can dynamically manage the memory chunk list, record the usage of each memory chunk, and support fast search and allocation of available memory chunks.

[0048] Specifically, the sliding window strategy adopts the above management scheduling algorithm to perform dynamic management in the following manner:

[0049] 1. Based on the time series prediction model, analyze historical task load data and generate memory demand forecasts for future periods;

[0050] 2. Dynamically expand or shrink the memory pool capacity based on the predicted value, and reserve an elastic buffer in the memory pool to cope with sudden task loads.

[0051] Defragmentation can use a hybrid recycling mechanism. During real-time tasks, only scattered fragments of non-critical memory blocks are recycled. During low-load periods, fragments of the entire memory area are reorganized and free blocks are merged. This is triggered by at least one of the following conditions: detecting that the memory fragmentation rate exceeds a preset threshold; the aircraft entering low-power mode or an idle task cycle; or predicting the next low-load window based on the periodicity of task execution.

[0052] It is worth noting that the above embodiment is only one possible implementation method provided by this application. Relevant technicians in this field can choose other identical or similar methods to replace the technical details according to actual needs, and this application does not impose further restrictions here. The above embodiment not only takes into account the simple availability of memory blocks, but also analyzes historical usage data based on the resource consumption characteristics of each task, and automatically selects more suitable memory blocks to achieve load balancing and optimization of memory usage. At the same time, intelligent memory recycling can be achieved, and memory blocks that are no longer used can be released in time to reduce the generation of memory fragmentation, thereby effectively improving the overall memory management performance and response speed of the system. In addition, in order to ensure the stability and reliability of the system, another priority scheduling mechanism can give priority to meeting the memory requirements of critical tasks to ensure that the system can still operate normally under high load conditions.

[0053] In one embodiment of the present application, the data interaction module supports 1:n broadcast networking and n:m flexible networking modes, wherein the selection of the networking mode is associated with the real-time mission scenario of the aircraft.

[0054] Specifically, in the real-time control software of the aircraft, different components in the aircraft can be defined as different nodes. The networking modes between multiple nodes are divided into two types, namely 1:n communication mode and n:m communication mode. Different networking forms can be selected to cope with different business scenarios.

[0055] Among them, the 1:n communication mode is as follows Figure 10 As shown, in this model, a single sender can send data to multiple receivers simultaneously. This model is ideal for scenarios requiring information broadcast, such as real-time data push, monitoring systems, or publish-subscribe messaging systems. In the 1:n model, a sender only needs to send data once, and all subscribed receivers receive the same information instantly, improving data transmission efficiency and consistency. Typically, establishing this networking model requires creating multiple subscriber instances and a single publisher instance, all of which subscribe to the same topic.

[0056] n:m communication mode such as Figure 11As shown in the figure, unlike the 1:n model, the n:m model allows flexible communication between multiple senders and multiple receivers. This model is suitable for scenarios requiring multi-party collaboration, such as distributed computing, collaborative work platforms, or multi-party real-time communication systems. In the n:m model, any sender can send data to any receiver, forming a complex network structure that enhances the system's performance and scalability. Establishing this networking model requires creating multiple publisher and subscriber instances and subscribing them to different topics.

[0057] In another embodiment of the present application, the relationship between publishers and subscribers is determined through a service discovery model; wherein, publishers and subscribers are matched through the connection between their internal send ports SenderPorts and receive ports ReceiverPorts. The connection between the send port and the receive port is established on the service description. All SenderPorts and ReceiverPorts need to provide a service description when they are created. The system will match them with each other according to the service description when the port is created and automatically connect different ports.

[0058] The service description consists of the following: Aservice id-service ID, which identifies the type of service, Aserviceinstance id-service instance ID, which identifies the specific service instance, and An event id-event ID, which identifies the output of the current service. The order in which the ports appear is not an important factor. Existing receiving ports will automatically connect to the sending ports created later as long as their service descriptions match. In addition, the information of existing SenderPorts is dependent on the network ports InterfacePorts, which allows some entities (such as gateways) to use these Port ports and hook into the data flow of the local system and create a bridge with the external system. In this process, there is a general service GeneralService, which is subscribed to in each instance. The general service is used for multiple instances to quickly establish subscriptions and publications to topics, and all currently existing services can be managed and monitored through the system's built-in visualization tools.

[0059] In one embodiment of the present application, the data interaction module includes a data writing unit and a data reading unit; the data writing unit is used to obtain an offset through the data free queue according to a write request initiated by the instruction publisher, and lock the corresponding memory block through a mutex lock according to the offset; and, after the writing is completed, release the mutex lock, record the offset to a data usage queue preset in the memory block, and notify the corresponding subscriber through a semaphore; the data reading unit is used to obtain an offset through the data usage queue according to a read request initiated by the subscriber, obtain the write data in the corresponding memory block according to the offset, and read the write data according to a preset consumption function.

[0060] Please refer to Figure 6 As shown in the figure, shared memory communication is mainly implemented by the circular queue in the memory block of the memory pool. Each component of the aircraft is regarded as a node. When the first node is registered, the physical address space will be mapped to the virtual memory space of the process. After successfully mapping to the virtual space of the process, the soft bus will divide the memory block into multiple data domains according to the MAX_DEPTH (maximum depth) set in the configuration, and record its Offset (offset) in the FREE_LIST (data free queue) in the memory block list.

[0061] Writing data mechanism:

[0062] When a publisher writes data, it dequeues the corresponding data item from the FREE_LIST (data free queue) and locks it with a mutex process lock to prevent data conflicts or inconsistencies caused by operations with other processes. This process ensures that data consistency and integrity are maintained when multiple processes may attempt to access or modify the same data simultaneously.

[0063] Once the Publisher obtains the Offset offset, it can calculate the base address of the memory block based on the Offset offset and write data into it.

[0064] After the data is written, the Publisher will release the Mutex lock in time, so that other processes can continue to access the data in the FREE_LIST, and then put its offset into the USING_LIST to wait for consumption by consumers ( Figure 7 ). After writing the data, the Publisher notifies the Subscriber through the Semaphore signal to start the read operation.

[0065] This not only improves the system's concurrent processing capabilities, but also ensures efficient data flow, improving overall performance and responsiveness. In this way, the system can maintain efficient operation in a multi-user environment and ensure the accuracy and reliability of data processing.

[0066] Read data mechanism:

[0067] Subscriber dequeues the data in USING_LIST and calculates the address of the memory block based on the offset. When USING_LIST is empty, two different strategies are implemented based on the user QoS configuration:

[0068] Query mode: When USING_LIST is empty, Subscriber directly returns a read error or an empty query.

[0069] Blocking mode: When USING_LIST is empty, the system blocks according to the lifecycle set by the user. If no data is read before the lifecycle is reached, a read error will be returned, or the query will be empty.

[0070] When USING_LIST is not empty, the Subscriber obtains the data from the address of the memory block and consumes it. Depending on the consumption API function selected by the user, there are two different reading modes:

[0071] Shared receive read: When there are multiple subscribers, the data will not be cleared and released after one subscriber consumes the data. The data in the memory block will be cleared and added to the FREE_LIST when all subscribers have completed their consumption. Figure 8 ).

[0072] Independent reception take: When there are multiple subscribers, when the subscriber who uses the take function to read the data successfully consumes it, the data is immediately released and destroyed and queued in FREE_LIST. Subsequent subscribers cannot read the current data ( Figure 9 ).

[0073] The present application also provides an aircraft access method suitable for the aircraft access device, the method comprising: integrating multiple communication protocols and drivers through a modular interface to generate a standardized communication link that supports data translation and interaction of multiple types of peripherals; based on the standardized communication link, creating a shared memory area through the POSIX protocol, and controlling access synchronization through semaphores; user-mode applications and kernel-mode processing modules read and write the shared memory area through zero-copy technology, and publish service information for controlling the aircraft through the shared memory area; dynamically matching different components of the aircraft to form publishers and subscribers through the service information; driving the publisher to write data to the shared memory based on the subscription-publish mechanism and notifying the subscriber through the synchronization mechanism, and the subscriber reads the data from the shared memory according to the preset strategy and performs corresponding processing.

[0074] Since the implementation logic of each step of the above-mentioned aircraft access method has been described one by one in the aforementioned device embodiment, it will not be described in detail here.

[0075] The zero-copy communication middleware in this application utilizes an innovative decentralized design, significantly improving the system's flexibility and efficiency. Unlike traditional zero-copy middleware, this system eliminates reliance on daemons, allowing each node to manage and provide services autonomously. This design not only reduces system complexity but also effectively reduces latency and resource consumption, enabling more efficient data exchange and communication between nodes. Furthermore, the decentralized architecture enhances the system's robustness and overall scalability, enabling better adaptation to dynamically changing network environments and user needs. Implementation of a universal communication adaptation layer: This application modularizes all peripherals through a universal communication adaptation layer, significantly enhancing the system's flexibility and compatibility. This design enables the system to dynamically configure various peripheral drivers based on specific needs, including but not limited to various communication protocols such as CAN, PCIe, and 1553B, thereby achieving seamless integration and efficient communication for multiple peripherals. This modular adaptation layer allows users to easily add, update, or replace peripherals, and the system automatically identifies and adapts to different protocols, simplifying development and maintenance.

[0076] Zero-copy communication allows data to be transferred directly between sender and receiver through shared memory, eliminating the need for multiple copies between user space and kernel space. This significantly reduces data transmission latency and facilitates rapid response in real-time control systems. By avoiding unnecessary data copies, the system can process more data packets simultaneously, thereby improving overall data transmission throughput. Zero-copy communication reduces the CPU workload associated with data copying, freeing up computing resources for application logic and data processing. Through shared memory, multiple processes can access the same data simultaneously without requiring individual copies of the data for each process. This memory utilization approach saves memory space and reduces the complexity of memory management. By effectively decoupling the aircraft's hardware and software, the system architecture can be significantly optimized. This decoupling strategy reduces the reliance on electronic components between modules, enabling independent development and upgrades of each module. This process also involves centralizing the management of multiple functional modules to an information processing center, which not only improves management efficiency but also allows for more flexible resource allocation. Furthermore, centralized management effectively reduces the number of wiring harnesses required, avoiding the additional costs associated with complex wiring. Zero-copy middleware technology enables seamless integration of modules produced by different manufacturers or research institutes. By setting standardized data type interfaces, developers only need to focus on data format compatibility, rather than worrying about differences in communication protocols between modules, greatly simplifying the integration process. Aircraft control systems often need to complete tasks within specific time windows. Zero-copy communication, by reducing latency and improving efficiency, can better meet stringent real-time requirements and ensure stable operation of aircraft in complex environments.

[0077] The present application also provides an electronic device, comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor implements the above-mentioned method when executing the computer program.

[0078] The present application also provides a computer-readable storage medium, which stores a computer program for executing the above method.

[0079] The present application also provides a computer program product, comprising a computer program / instruction, which implements the steps of the above method when executed by a processor.

[0080] It will be understood by those skilled in the art that embodiments of the present invention may be provided as methods, systems, or computer program products. Thus, the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment, or an embodiment combining software and hardware. Furthermore, the present invention may take the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to magnetic disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.

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

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

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

[0084] The specific embodiments described above further illustrate the objectives, technical solutions and beneficial effects of the present invention in detail. It should be understood that the above description is only a specific embodiment of the present invention and is not intended to limit the scope of protection of the present invention. Any modifications, equivalent substitutions, improvements, etc. made within the spirit and principles of the present invention should be included in the scope of protection of the present invention.

Claims

1. An aircraft access device based on zero-copy technology, characterized in that: The device comprises: A communication adapter module dynamically adapts to the aircraft's various peripherals through a modular interface that integrates multiple communication protocols and drivers to enable data format translation and interaction between these peripherals. A shared memory module constructs a shared memory area based on the POSIX protocol and controls access synchronization through semaphores; multiple user-mode applications and kernel-mode processing modules read and write to the shared memory area using zero-copy technology, and publishes service information for controlling the aircraft through the shared memory area; A decentralized networking module dynamically matches publishers and subscribers to different components of an aircraft through the service information; The data interaction module drives the publisher to write data to the shared memory based on the subscription-publish mechanism and notifies the subscriber through the synchronization mechanism. The subscriber reads the data from the shared memory and performs corresponding processing according to the preset strategy.

2. The aircraft access device according to claim 1, characterized in that: The communication adapter module realizes protocol conversion, data transmission and error handling through middleware; the communication protocols include CAN, PCIe and 1553B.

3. The aircraft access device according to claim 1, characterized in that: The device also includes a shared memory management module, which is used to divide the memory area into multiple memory pools, each memory pool contains multiple memory blocks of fixed size, and records the usage status of all memory blocks in the corresponding memory pool through a memory block list pre-stored in each memory pool.

4. The aircraft access device according to claim 3, characterized in that: The shared memory module includes a memory adjustment unit, a fragmentation unit and a priority scheduling unit; Memory adjustment unit, which dynamically adjusts the memory pool capacity through a sliding window strategy based on historical task load; A defragmentation unit that triggers defragmentation when the memory fragmentation rate exceeds a threshold or the aircraft enters low-power mode; The priority scheduling unit assigns different priorities to the memory pools and allocates memory pools of corresponding priorities according to the priorities of different tasks.

5. The aircraft access device according to claim 3, characterized in that: The shared memory management module includes a registration unit; The registration unit is used to construct corresponding multiple node information according to different components in the aircraft, and map the corresponding physical address space to the virtual memory space of the process according to the node information; The memory block is divided into a plurality of data domains according to the mapping result of the virtual memory space and the preset adjustment parameters, and the offsets corresponding to the data domains are recorded in a data idle queue preset in the memory block.

6. The aircraft access device according to claim 5, characterized in that: The data interaction module includes a data writing unit and a data reading unit; The data writing unit is configured to obtain an offset through the data free queue according to a write request initiated by the instruction publisher, and lock the corresponding memory block through a mutex lock according to the offset; and release the mutex lock after the writing is completed, record the offset to a data usage queue preset in the memory block, and notify the corresponding subscriber through a semaphore; The data reading unit is used to obtain an offset through the data usage queue according to a read request initiated by a subscriber, obtain write data in a corresponding memory block according to the offset, and read the write data according to a preset consumption function.

7. The aircraft access device according to claim 1, characterized in that: The data interaction module supports 1:n broadcast networking and n:m flexible networking modes, wherein the selection of the networking mode is associated with the real-time mission scenario of the aircraft.

8. An aircraft access method applicable to the aircraft access device according to any one of claims 1 to 7, characterized in that: The method comprises: Integrate multiple communication protocols and drivers through modular interfaces to generate standardized communication links that support data translation and interaction with multiple types of peripherals; Based on the standardized communication link, a shared memory area is created through the POSIX protocol, and access synchronization is controlled through semaphores; The user-state application and the kernel-state processing module read and write the shared memory area through the zero-copy technology, and publish the service information of controlling the aircraft through the shared memory area; Dynamically matching different components of the aircraft to form publishers and subscribers through the service information; Based on the subscription-publish mechanism, the publisher writes data to the shared memory and notifies the subscriber through the synchronization mechanism. The subscriber reads the data from the shared memory and performs corresponding processing according to the preset strategy.

9. A computer-readable storage medium, characterized in that The computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the method according to claim 8 is implemented.

10. A computer program product comprising a computer program / instructions, characterized in that When the computer program / instructions are executed by a processor, the steps of the method according to claim 8 are implemented.

Citation Information

Patent Citations

  • Method for reducing data copy among multiple processes under linux

    CN103838859A

  • Data transmission method and device, equipment and storage medium

    CN114281484A

  • Memory allocation method and device, electronic equipment and storage medium

    CN116107762A

  • Self-adaptive hybrid communication method and device of robot, medium and equipment

    CN116954952A

  • Data transmission method and system

    CN117370047A