Standard widget communication and service sharing system based on distributed service architecture

Through the distributed service architecture inter-widget communication and service sharing system, the problems of data transmission and service sharing between widgets are solved, efficient data interaction and simplified development process are achieved, and the performance of the civil aircraft cockpit display system is improved.

CN120407223APending Publication Date: 2025-08-01CHINESE AERONAUTICAL RADIO ELECTRONICS RES INST
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510338784.7
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-03-21
Publication Date
2025-08-01

AI Technical Summary

Technical Problem

In the prior art, widgets under the ARINC661 specification have low data interaction efficiency and service sharing problems among widgets in the civil aircraft cockpit display system, especially in the same refresh cycle, and the widget development is very complex.

Method used

A standard inter-widget communication and service sharing system based on a distributed service architecture is adopted, including resource management and allocator, communicator and other modules. It realizes efficient data transmission and service sharing between widgets through priority management and event chain model, reducing development difficulty.

Benefits of technology

It improves the overall interactive performance and real-time drawing of A661server, improves data interaction efficiency, and simplifies the development process of widgets.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120407223A_ABST
    Figure CN120407223A_ABST
Patent Text Reader

Abstract

The invention discloses a standard widget communication and service sharing system based on a distributed service architecture, which comprises a server side and a client side, and is characterized in that the server side comprises a resource management and distribution device and a communicator; wherein the resource management and distributor adopts a centralized resource distribution calculation scheme, resource occupation state query between widgets is avoided, and the resource distribution efficiency is improved; the communicator realizes bidirectional transmission of data and excitation signals in a widget tree in the same period based on an event chain model, and the data interaction efficiency is improved. According to the method, the overall interaction performance and the drawing real-time performance of the A661server are greatly improved, and the code reusability and the widget development difficulty are reduced.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention belongs to the field of integrated civil aircraft avionics systems, relates to a civil aircraft cockpit display system based on ARINC661, and particularly relates to a communication and service sharing system between standard widgets based on a distributed service architecture. Background Art

[0002] The A661server is a graphics server implemented based on the ARINC661 specification and is an important component in the cockpit display system of modern civil aircraft. In the composition of modern avionics systems (abbreviated as avionics systems), the main work content of the A661server is to load the definition file (DF), receive the dynamic data of the user application (UA) and the excitation signals of the peripherals, and through the comprehensive analysis and calculation of this type of information, complete the real-time drawing of the UA screen and process the interaction requests of the flight crew. As the window for displaying each UA screen, the A661server has requirements for rapid interaction response and real-time and reliable screen update.

[0003] The ARINC661 specification stipulates that the A661server is responsible for drawing the UA screen, which is composed of various types of widgets (components). Widgets have the following working characteristics: 1) Widgets need to obtain interaction resources to respond to the interaction of the flight crew, and the interaction resources have complex priority and mutual exclusion constraints. 2) Widgets form a complex tree structure. During the same refresh cycle, it is difficult for communication data, excitation signals, etc. to be transmitted from the leaf widgets to the root widgets, resulting in low data interaction efficiency. 3) Widgets need to use the functions provided by other widgets, that is, a reliable service sharing technology between widgets is required. An efficient interaction resource application mechanism, a data communication algorithm between widgets, and a service sharing technology are the keys to improving the overall performance of the A661server. Summary of the Invention

[0004] The invention purpose of the present invention is to provide a communication and service sharing system between standard widgets based on a distributed service architecture, which is used to solve the allocation result of widget interaction resource applications that meet priority and mutual exclusion constraints, realize the rapid two-way express of communication data and excitation signals in the widget tree structure during the same refresh cycle, realize service sharing between widgets, reduce the widget development difficulty and code reuse rate, and further improve the overall performance of the A661server.

[0005] The invention purpose of the present invention is realized through the following technical solutions:

[0006] A communication and service sharing system between standard widgets based on a distributed service architecture, including a server side and a client side. The server side includes a resource management and allocator, and a communicator;

[0007] The resource management and allocator includes a priority manager, a buffer, a resource decision maker, and a configuration file loader;

[0008] The configuration file loader loads and parses the priority and mutual exclusion configuration files, and stores the priority data of each interactive resource obtained by parsing into the priority controller, and stores the mutual exclusion relationships between each interactive resource into the resource decision maker;

[0009] The buffer stores the interactive resource service requests initiated by the widgets on each client side;

[0010] The priority controller, according to the interactive resource priority data stored in itself, completes the priority calibration of each interactive resource service request on the buffer between categories and within categories, so that the priority of the interactive resources between categories meets the relative size relationship specified by the priority data, and at the same time, the priority of each interactive resource within a category increases sequentially according to the application order;

[0011] After the priority controller completes the priority calibration, the resource decision maker will scan the mutual exclusion relationships of all interactive resource service requests on the buffer according to the mutual exclusion relationships between each interactive resource stored in itself. First, it processes the inter-category mutual exclusion and rejects all resource applications that are inter-category mutually exclusive and have a lower priority; then, it processes the intra-category mutual exclusion and only retains one resource application that is intra-category mutually exclusive and has the highest intra-category priority;

[0012] The communicator includes an event chain buffer, an event chain scheduler, and an event chain executor;

[0013] The event chain buffer stores all communication or service requests sent by the widgets on each client side as the first event on the event chain;

[0014] The event chain scheduler selects an event from the event chain buffer and hands it over to the event chain executor for execution;

[0015] The event chain execution module will parse the event and send it to the target client for processing, then save one or more events generated by the target client into a queue, and then the event chain execution module will take the first event from the queue and send it to the target client for processing and save possible subsequent events into the queue. This cycle continues until the queue is empty and the event chain is processed.

[0016] Further, the communicator also includes a security monitoring module, which monitors the length and format of the event chain in real time and clears the incorrect event chain. At the same time, the security monitoring module has a fusing mechanism. If a widget generates an incorrect event chain more than three times, the widget will be fused.

[0017] Further, the server side also includes a protocol parser. The protocol parser parses the applications of each client. If it is an interactive resource service request with the server, it is stored in the buffer on the resource management and allocator. If it is a communication or service request with other clients, it is stored in the event chain buffer on the communicator.

[0018] The beneficial effects of the present invention are as follows:

[0019] Based on the distributed service architecture, the present invention realizes data communication and service sharing among widgets. Among them, the resource management and allocator adopts a centralized resource allocation calculation scheme, avoiding the query of resource occupation status among widgets and improving the efficiency of resource allocation. The communicator is based on the event chain model, realizing the bidirectional transmission of data and excitation signals in the widget tree in the same cycle and enhancing the data interaction efficiency. In summary, the overall interaction performance and rendering real-time performance of A661server are greatly improved. This technology provides a mechanism for service sharing, reducing the code reusability and the development difficulty of widgets. Description of the Drawings

[0020] Figure 1 It is a schematic structural diagram of a system for communication and service sharing among standard widgets based on a distributed service architecture.

[0021] Figure 2 It is a schematic structural diagram of the resource management and allocator.

[0022] Figure 3 It is a schematic structural diagram of the communicator.

[0023] Figure 4 It is a schematic working process diagram of a system for communication and service sharing among standard widgets based on a distributed service architecture. Detailed Embodiments

[0024] The present invention will be further described in detail below with reference to the drawings and embodiments.

[0025] Such as Figure 1As shown in the figure, a communication and service sharing system between standard widgets based on a distributed service architecture includes a server side and a client side. The server side and the client side transmit data according to a communication and service protocol. The server side integrates a resource management and allocator, a protocol parser, a communicator, and an interface. Each client side (i.e., widgets, cursors, etc.) publishes services externally, accesses services of other client sides, and accesses services of the server side.

[0026] The server side integrates a resource management and allocator, a protocol parser, a communicator, and an interface. The core functional modules are the resource management and allocator and the communicator.

[0027] The resource management and allocator is responsible for the management and allocation of all resources within the entire window. The resources within the window are divided into six types: focus resources, highlight resources, pending resources, editing resources, scrolling resources, and popup resources. The external constraints for resource allocation are mutual exclusion control and priority control. Mutual exclusion control means that within the same cycle and the same window, only one mutually exclusive resource can be allocated; priority control means that when mutually exclusive resources are applied for simultaneously, the application with the higher priority will be allocated the resource. As Figure 2 shown in the figure, the resource management and allocator includes a priority manager, a buffer, a resource decision maker, and a configuration file loader.

[0028] The configuration file loader loads and parses the priority and mutual exclusion configuration file, which defines the mutual exclusion and relative priorities between various interactive resources. The priority data of each interactive resource obtained by parsing is stored in the priority controller, and the mutual exclusion relationship between each interactive resource is stored in the resource decision maker.

[0029] The buffer stores the interactive resource service requests initiated by widgets on each client side.

[0030] The priority controller, based on the interactive resource priority data stored in itself, calibrates the priorities of each interactive resource service request on the buffer both between categories and within categories, so that the priorities of interactive resources between categories satisfy the relative size relationship specified by the priority data, and at the same time, the priorities of each interactive resource within a category increase sequentially according to the application order.

[0031] After the priority controller completes the priority calibration, the resource decision maker will scan the mutual exclusion relationships of all interactive resource service requests on the buffer according to the mutual exclusion relationships between each interactive resource stored in itself. First, it processes the mutual exclusion between categories and rejects all resource applications that are mutually exclusive between categories and have a lower priority. Then, it processes the mutual exclusion within a category and only retains one resource application that is mutually exclusive within a category and has the highest priority within the category.

[0032] The communicator enables data communication and service sharing among widgets. A possible actual process of data communication and service sharing among widgets is as follows: Under the excitation of an external interaction event, widget_1 undergoes state transformation A, which in turn causes widget_2 and widget_3 to generate state changes B and C respectively. During this process, it can be considered that the excitation signal flows into widget_1, triggering widget_1 to generate an excitation and passing it to widget_2 and widget_3. This process can be abstracted using the "event chain" model. An event chain is an ordered sequence composed of a series of related events. Except for the beginning and the end, each item in the event chain has a unique predecessor and at least one successor. The essence of the communicator is the management and monitoring of the event chain. As Figure 3 shown, the communicator consists of four parts: an event chain cache, an event chain scheduler, an event chain executor, and a security monitoring module.

[0033] The event chain cache stores all communication or service requests sent by widgets on the client side as the first event on the event chain.

[0034] The event chain scheduler selects an event from the event chain cache and hands it over to the event chain executor for execution.

[0035] During the operation of the event chain executor, the security monitoring module is responsible for detecting and removing incorrect event chains to ensure the reliable operation of the communicator.

[0036] During the execution of the widget, the first event of different event chains formed is stored in the event chain cache. The event chain scheduling module adopts the First-In-First-Served (FIFS) scheduling policy and sequentially retrieves the first event of each event chain from the event chain cache and hands it over to the event chain execution module. The event chain execution module will parse the first event, send it to the target client, and the target client will respond to it and generate one (or more) possible events. This event is saved by the event chain execution module into a queue. Then the event chain execution module will take the first event from this queue and send it to the target client for processing and save the possible subsequent events into the queue. This loop continues until the queue is empty, at which point the processing of this event chain ends. Then the event chain execution module processes the next event in the event chain cache until all event chains are processed. During this process, the relevant events generated by widgets at different levels are uniformly stored in a certain event chain in the event chain buffer, without distinguishing the levels of the source widgets, so that data can be transferred bidirectionally within the same cycle. During this process, the security monitoring module monitors the length and format of the event chain in real time and clears incorrect event chains (such as those with excessive length, incorrect destination widgets, incorrect formats, etc.). At the same time, the security monitoring module has a fusing mechanism. If a widget generates an incorrect event chain more than three times, then this widget will be fused, that is, it will no longer receive events of this widget, preventing it from affecting the entire system and ensuring security and robustness.

[0037] The communication and service protocol defines the standard interfaces for communication between clients (widgets, cursors) and between clients and the server, which is used to realize data exchange, service invocation between clients, and application for common resources. The protocol structure includes a request code, a request target id, and a data block of request parameters. The request code represents what kind of service (communication, resource application, or service invocation) the widget requests. The request target id specifies the target widget for communication or service invocation. The data block of request parameters contains the necessary information for data communication or service invocation. The protocol parser parses the applications of each client. If it is an interactive resource service request with the server, it is stored in the buffer on the resource management and allocator. If it is a communication or service request with other clients, it is stored in the event chain buffer on the communicator.

[0038] As Figure 4 shown, the specific working process of the high-reliability communication and service sharing system between standard widgets based on the distributed service architecture is as follows:

[0039] 1. During the initialization stage of the A661 server at the initial power-on of the device, the initialization of this system is completed, including the initialization of the server side, the initialization of the client side, and the loading of the priority and mutex configuration.ini file.

[0040] 2. In the first stage of the main loop of the A661 server, each widget performs logical processing and, based on its own conditions, issues requests for interactive resource services, communication, or service calls. These requests will be cached separately in the resource management and allocator or the communicator in sequence.

[0041] 3. In the second stage of the main loop of the A661 server, the resource management and allocator completes resource allocation calculations and notifies the corresponding client.

[0042] 4. The communicator schedules an event chain and completes security verification. If the verification passes, the communicator sends the current event of the event chain to the specified widget. Otherwise, a new event chain is scheduled until the cache is emptied.

[0043] 5. The widget receives the request and processes it. If the request generates subsequent stimuli, it is sent to the communicator as the current event of the current event chain. Otherwise, step 4 is repeated.

[0044] It is understood that for those of ordinary skill in the art, equivalent substitutions or changes can be made according to the technical solutions and inventive concepts of the present invention, and all such changes or substitutions should fall within the protection scope of the appended claims of the present invention.

Claims

1. A communication and service sharing system between standard widgets based on a distributed service architecture, including a server side and a client side, characterized in that The server side includes a resource management and allocator, and a communicator; The resource management and allocator includes a priority manager, a buffer, a resource decision maker, and a configuration file loader; The configuration file loader loads and parses the priority and mutual exclusion configuration files, stores the priority data of each interactive resource obtained by parsing into the priority controller, and stores the mutual exclusion relationships between each interactive resource into the resource decision maker; The buffer stores the interactive resource service requests initiated by widgets on each client side; The priority controller, according to the interactive resource priority data stored in itself, completes the priority calibration of each interactive resource service request on the buffer between categories and within categories, so that the priority of interactive resources between categories meets the relative size relationship specified by the priority data, and at the same time, the priority of each interactive resource within a category increases sequentially according to the application order; After the priority controller completes the priority calibration, the resource decision maker will scan the mutual exclusion relationships of all interactive resource service requests on the buffer according to the mutual exclusion relationships between each interactive resource stored in itself. First, it processes the mutual exclusion between categories and rejects all resource requests that are mutually exclusive between categories and have a lower priority; Then, it processes the mutual exclusion within a category and only retains one resource request that is mutually exclusive within a category and has the highest priority within a category; The communicator includes an event chain buffer, an event chain scheduler, and an event chain executor; The event chain buffer stores all communication or service requests sent by widgets on each client side as the first event on the event chain; The event chain scheduler selects an event from the event chain buffer and hands it over to the event chain executor for execution; The event chain execution module will parse the event and send it to the target client for processing, then save one or more events generated by the target client into a queue. Then, the event chain execution module will take the first event from the queue and send it to the target client for processing and save possible subsequent events into the queue. This cycle continues until the queue is empty and the event chain is processed.

2. The standard widget communication and service sharing system based on a distributed service architecture according to claim 1, characterized in that The communicator also includes a security monitoring module. The security monitoring module monitors the length and format of the event chain in real time and clears the incorrect event chain; At the same time, the security monitoring module has a fusing mechanism. If a widget generates an incorrect event chain more than three times, the widget will be fused.

3. A communication and service sharing system between standard widgets based on a distributed service architecture according to claim 1, characterized in that The server side also includes a protocol parser. The protocol parser parses the applications of each client. If it is an interactive resource service request with the server, it is stored in the buffer on the resource management and allocator. If it is a communication or service request with other clients, it is stored in the event chain buffer on the communicator.