A method and system for recovering faults of distributed multi-flight control nodes in aerospace

Through the aerospace distributed multi-flight control node fault recovery method, the voting election and log synchronization of representative nodes and computing nodes are utilized to solve the recovery problem of single point failure in the multi-mode flight control system, and improve the system robustness and fault recovery efficiency.

CN120407255BActive Publication Date: 2025-09-30北京天兵科技有限公司
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202510480667.4
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-04-16
Publication Date
2025-09-30
Estimated Expiration
2045-04-16

AI Technical Summary

Technical Problem

There is a lack of effective distributed control models in multi-mode flight control systems, especially a lack of mature methods for single-point failure recovery solutions for multi-mode flight control systems. Existing technologies cannot effectively solve the voting decision-making problem when there are disagreements in decision results, and lack disaster recovery capabilities.

Method used

The system adopts the aerospace distributed multi-flight control node fault recovery method, elects the representative node through online flight control node voting, and uses the local command log synchronization of the representative node and the computing node to achieve dynamic election and log recovery. It uses redundancy implemented in software and algorithms to reduce dependence on hardware.

Benefits of technology

The robustness of the flight control system is improved, ensuring that the crash of a single module node does not cause the system to crash, achieving rapid system recovery and efficient control decision-making, and reducing the resources required for fault recovery.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120407255B_ABST
    Figure CN120407255B_ABST
Patent Text Reader

Abstract

An embodiment of the present invention provides a method and system for fault recovery of distributed aerospace multi-flight control nodes, relating to the field of aerospace flight technology. The method is employed by a distributed aerospace multi-flight control node system and includes: when no online representative node exists in the system, each online flight control node in the system sends voting information to other online flight control nodes in the system; each online flight control node in the system sets itself as a representative node or a computing node based on the received voting information and subject to preset representative node election rules; the representative node uses its own local command log to update the local command log of the computing node, so that the local command logs of all computing nodes in the system are identical to the local command log of the representative node. This method achieves recovery from single-point failures in a multi-mode flight control system.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of aerospace flight technology, and in particular to a method and system for recovering aerospace distributed multi-flight control node faults. Background Art

[0002] Traditional space launch vehicles have a single core flight control unit (FCU). With advancements in computer technology, the use of multiple FCUs for parallel computing is becoming mainstream in launch vehicle flight control systems. Existing methods for triple-module redundant software data synchronization rely on clock consistency to achieve simple software data synchronization. These methods only support redundancy with three processors. As the number of processors increases, the number of synchronization relationships between them increases exponentially, leading to an explosive growth in the computational effort required to achieve synchronization. Other existing methods use a cache queue to store triple-module data for voting and distribution. These three modules are completely equal in terms of relationship, lacking a core decision-maker. This approach fails to address the issue of voting when disagreements arise, and is based on simple queue caching, lacking disaster recovery capabilities.

[0003] In the process of implementing the present invention, the applicant discovered that the prior art has at least the following problems:

[0004] There is currently a lack of effective distributed control models in multi-mode flight control systems, especially a lack of mature methods for recovering from single-point failures in multi-mode flight control systems. Summary of the Invention

[0005] The embodiments of the present invention provide a method and system for aerospace distributed multi-flight control node fault recovery to address the technical problem of the current lack of an effective distributed control model in multi-mode flight control systems, and in particular the lack of a mature method for recovering single-point failures in multi-mode flight control systems.

[0006] To achieve the above objectives, on the one hand, an embodiment of the present invention provides a method for recovering aerospace distributed multi-flight control node faults, which is adopted by an aerospace distributed multi-flight control node system. The method includes:

[0007] In the absence of an online representative node in the system, each online flight control node in the system sends voting information to other online flight control nodes in the system; the representative node is one of the multiple flight control nodes in the system, and the representative node serves as the master node of the system;

[0008] Each online flight control node in the system sets itself as a representative node or a computing node based on the voting information it receives and subject to the constraints of the preset representative node election rules; wherein the preset representative node election rules are used to constrain that only one flight control node in the system can set itself as a representative node, and the other flight control nodes set themselves as computing nodes;

[0009] The representative node uses its own local command log to update the local command log of the computing node, so that the local command logs of all computing nodes in the system are the same as the local command log of the representative node.

[0010] Furthermore, the method further comprises:

[0011] In response to each solution cycle, the representative node samples sensor information and schedules the representative node and all the computing nodes to process the sensor information, generates a control command corresponding to the current solution cycle, executes the control command, and updates the local command logs of the representative node and all the computing nodes.

[0012] Furthermore, in response to each solution cycle, the representative node samples sensor information, schedules the representative node and all the computing nodes to process the sensor information, generates a control command corresponding to the current solution cycle, executes the control command, and updates the local command logs of the representative node and all the computing nodes, including:

[0013] In response to each solution cycle, the representative node samples sensor information and sends the sampled sensor information to all the computing nodes;

[0014] The representative node and all the computing nodes each calculate the flight control state according to the sensor information, and each obtains a corresponding flight control state calculation result;

[0015] All the computing nodes send their corresponding flight control state calculation results to the representative node;

[0016] The representative node receives the flight control state solution results corresponding to all the computing nodes, merges them with the flight control state solution results corresponding to the representative node, and generates a control command corresponding to the current solution cycle according to the merged flight control state solution results;

[0017] The representative node executes the control command corresponding to the current solution cycle, generates a command log of the control command corresponding to the current solution cycle, and saves it to the local command log of the representative node, wherein the command log includes an incremented command sequence number.

[0018] Furthermore, while sending the sampled sensor information to all the computing nodes, the representative node also sends the command log corresponding to the control command executed in the previous solution cycle to all the computing nodes;

[0019] All the computing nodes save the command logs corresponding to the control commands executed in the last solution cycle received into the local command logs of the computing nodes.

[0020] Furthermore, each online flight control node in the system sends voting information to other online flight control nodes in the system, including:

[0021] Each online flight control node in the system generates first voting information for voting for the flight control node itself, and sends the first voting information to other online flight control nodes in the system;

[0022] Each online flight control node in the system responds to the first voting information received from all other online flight control nodes in the system. Based on a preset election priority rule and according to the first voting information of the flight control node and all other flight control nodes, if it is determined that there is a flight control node that is better than the flight control node itself, the flight control node generates second voting information and sends the second voting information to all other online flight control nodes; the second voting information indicates that the flight control node will vote for the flight control node among other flight control nodes that is best than the flight control node itself.

[0023] Furthermore, the preset election priority rules include: the flight control node with the largest maximum command sequence number in the local command log is given priority to vote; when there are multiple flight control nodes with the largest and equal maximum command sequence numbers in the local command log, the flight control node with the largest number is selected to get priority to vote; wherein, each flight control node in the system is preset with a unique number.

[0024] Furthermore, the encoding format of the first voting information and the second voting information is: <elected node number, elected node maximum command sequence number, own node number>;

[0025] Each online flight control node in the system generates first voting information for the flight control node itself, specifically generating the following first voting information: <the number of the flight control node, the maximum command sequence number in the local command log of the flight control node, the number of the flight control node>.

[0026] Furthermore, based on the preset election priority rule, according to the first voting information of the flight control node and all other flight control nodes, when it is determined that there is a flight control node that is superior to the flight control node itself, the flight control node generates second voting information, including:

[0027] The flight control node compares the field value of the maximum command sequence number of the elected node in the first voting information of the flight control node and all other flight control nodes;

[0028] If the maximum value of the field value of the maximum command sequence number of the elected node in the first voting information of the flight control node and all other flight control nodes is not the maximum command sequence number in the local command log of the flight control node, the following second voting information is generated: <the number of the flight control node to which the first voting information with the largest field value of the maximum command sequence number of the elected node belongs, the maximum value of the field value of the maximum command sequence number of the elected node in the first voting information of the flight control node and all other flight control nodes, the number of the flight control node>.

[0029] Furthermore, each online flight control node in the system sets itself as a representative node or a computing node according to the voting information received and subject to the constraints of the preset representative node election rules, including:

[0030] Each online flight control node in the system counts the field values ​​of the elected node number in all the first voting information and the second voting information obtained by the flight control node, and if it is determined that the field value of the elected node number obtained by the flight control node is equal to the number of the flight control node a number greater than half of the number of all online flight control nodes in the system, the flight control node sets itself as a representative node; otherwise, the flight control node sets itself as a computing node;

[0031] The representative node sends representative information to all computing nodes;

[0032] Each computing node sends node information to the representative node in response to the received representative information;

[0033] Among them, the fields of the representative information include: the representative node number and the maximum command sequence number in the local command log of the representative node; the fields of the node information include: the representative node number obtained from the received representative information, the maximum command sequence number in the local command log of the representative node obtained from the received representative information, and the maximum command sequence number of the local command log of the computing node.

[0034] Furthermore, the method further comprises:

[0035] After any flight control node fails and restarts, when the arbitrary flight control node reconnects to the system as a restarting node, the restarting node establishes a communication connection with other flight control nodes that are already online in the system, and sends first voting information voting for the restarting node to the other online nodes;

[0036] In a case where there is an online representative node in the system, the representative node sends representative information to the restarting node in response to a communication connection initiated by the restarting node or receiving first voting information from the restarting node;

[0037] The restarting node returns the node information of the restarting node to the representative node in response to the received representative information;

[0038] The representative node sends the local command log of the representative node to the restart node;

[0039] The restart node updates the local command log of the restart node using the received local command log of the representative node, and sets the restart node itself as a computing node;

[0040] The fields of the representative information include: the representative node number and the maximum command sequence number in the local command log of the representative node; the fields of the node information include: the representative node number obtained from the received representative information, the maximum command sequence number in the local command log of the representative node obtained from the received representative information, and the maximum command sequence number of the local command log of the computing node; the encoding format of the first voting information is: <elected node number, elected node maximum command sequence number, own node number>.

[0041] On the other hand, an embodiment of the present invention provides an aerospace distributed multi-flight control node system, comprising: a plurality of parallel distributed computing flight control nodes that are interconnected and communicate with each other; the aerospace distributed multi-flight control node system adopts the aerospace distributed multi-flight control node fault recovery method as described in any of the previous ones.

[0042] The above technical solution has the following beneficial effects: by voting for a representative node through multiple flight control nodes, dynamic election of representative nodes is realized, and log recovery of nodes is supported to improve the robustness of the entire flight control system. Redundancy is achieved in software and algorithms, which does not rely on other hardware and systems on the rocket, minimizes the resources required for recovery from a fault, and increases the probability of successful recovery from a fault. A multi-mode system with more than three modes can be realized according to the embodiment of the present invention, that is, it can be applied to a multi-mode redundant system, not limited to three modes; the collapse of a single module node will not cause a system crash, and the entire system can be effectively controlled by electing a representative node under any circumstances. BRIEF DESCRIPTION OF THE DRAWINGS

[0043] In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the following briefly introduces the drawings required for use in the embodiments or the description of the prior art. Obviously, the drawings described below are only some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative work.

[0044] Figure 1 This is a flow chart of a method for recovering a single-node failure of an aerospace distributed flight control system according to one embodiment of the present invention;

[0045] Figure 2 This is a schematic diagram of the structure of an aerospace distributed flight control single-node fault recovery system according to one embodiment of the present invention;

[0046] Figure 3 This is a schematic diagram of distributed node state transition in an aerospace distributed flight control single-node fault recovery system according to one embodiment of the present invention;

[0047] Figure 4 This is another flow chart of a method for recovering a single-node failure of an aerospace distributed flight control system according to one embodiment of the present invention;

[0048] Figure 5 This is a schematic diagram of the exchange of voting content in the first round of the representative selection phase according to one embodiment of the present invention;

[0049] Figure 6 This is a schematic diagram of the exchange of voting content in the second round of the representative selection stage according to one embodiment of the present invention. DETAILED DESCRIPTION

[0050] The following will clearly and completely describe the technical solutions in the embodiments of the present invention in conjunction with the accompanying drawings. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without making creative efforts are within the scope of protection of the present invention.

[0051] On the one hand, if Figure 1 As shown, an embodiment of the present invention provides a method for recovering aerospace distributed multi-flight control node faults, which is adopted by an aerospace distributed multi-flight control node system. The method includes:

[0052] Step S10: In the absence of an online representative node in the system, each online flight control node in the system sends voting information to other online flight control nodes in the system; the representative node is one of the multiple flight control nodes in the system, and the representative node serves as the master node of the system;

[0053] In step S11, each online flight control node in the system sets itself as a representative node or a computing node according to the voting information received by each flight control node and subject to the constraints of the preset representative node election rules; wherein the preset representative node election rules are used to constrain that only one flight control node in the system can set itself as a representative node, and the other flight control nodes set themselves as computing nodes;

[0054] In step S12, the representative node uses its own local command log to update the local command log of the computing node, so that the local command logs of all computing nodes in the system are the same as the local command log of the representative node.

[0055] The aerospace distributed multi-flight control node system includes a plurality of parallel distributed computing flight control nodes that are interconnected and communicate with each other, and each flight control node has its own processor and memory.

[0056] In some embodiments, situations where there is no online representative node in the system include, but are not limited to, the initial state of the system and the failure of the current representative node in the running system. The failure of the current representative node in the running system includes, but is not limited to, the representative node being disconnected from the system connection, or the representative node, although still connected to the system, not sending new communication information to the computing node within a preset waiting time. The preset waiting time can be determined based on the system's solution cycle, for example, the preset waiting time can be set to the solution cycle or half of the solution cycle. After any flight control node in the system fails, it is restarted or otherwise processed and then reconnected to the system and is considered to be an online flight control node. When each flight control node sends voting information to other flight control nodes, it can also simultaneously send the same voting information to itself, so that each flight control node can hold the voting information of all online flight control nodes in the system after completing voting-related communications. Each flight control node can also directly save the voting information it sends locally while receiving voting information from other flight control nodes.

[0057] By voting for a representative node through multiple flight control nodes, dynamic election of representative nodes is achieved, and log recovery of nodes is supported, which improves the robustness of the entire flight control system. Redundancy is achieved in software and algorithms, and does not rely on other hardware and systems on the rocket. The resources required to recover from a fault are minimized, thereby increasing the probability of successful recovery from a fault. A multi-mode system with more than three modes can be implemented according to the embodiment of the present invention, that is, it can be applied to a multi-mode redundant system, not limited to three modes; the collapse of a single module node will not cause a system crash, and the entire system can be effectively controlled by electing a representative node under any circumstances.

[0058] Furthermore, the method further comprises:

[0059] In response to each solution cycle, the representative node samples sensor information and schedules the representative node and all the computing nodes to process the sensor information, generates a control command corresponding to the current solution cycle, executes the control command, and updates the local command logs of the representative node and all the computing nodes.

[0060] In some embodiments, after selecting the representative node and the computing node and completing the synchronization of the local command log, at the beginning of each solution cycle, the representative node samples the sensor and sends the sensor information to all computing nodes. All computing nodes and the representative node will process the sensor information in parallel and distributed manner. The representative node will generate the control command corresponding to the current solution cycle based on the sensor processing results of the computing node and the representative node itself, and execute the control command, and update the local command logs of the representative node and all the computing nodes.

[0061] The embodiments of the present invention have the following technical effects: the representative node serves as the main node of the system, which solves the problem of how to vote and make decisions when there are disagreements in the decision results due to the absence of a core decision maker in the fully equal design of the three-mode or multi-mode system under traditional technology.

[0062] Furthermore, in response to each solution cycle, the representative node samples sensor information, schedules the representative node and all the computing nodes to process the sensor information, generates a control command corresponding to the current solution cycle, executes the control command, and updates the local command logs of the representative node and all the computing nodes, including:

[0063] In response to each solution cycle, the representative node samples sensor information and sends the sampled sensor information to all the computing nodes;

[0064] The representative node and all the computing nodes each calculate the flight control state according to the sensor information, and each obtains a corresponding flight control state calculation result;

[0065] All the computing nodes send their corresponding flight control state calculation results to the representative node;

[0066] The representative node receives the flight control state solution results corresponding to all the computing nodes, merges them with the flight control state solution results corresponding to the representative node, and generates a control command corresponding to the current solution cycle according to the merged flight control state solution results;

[0067] The representative node executes the control command corresponding to the current solution cycle, generates a command log of the control command corresponding to the current solution cycle, and saves it to the local command log of the representative node, wherein the command log includes an incremented command sequence number.

[0068] The embodiments of the present invention have the following technical effects: the representative node serves as the main node of the system, which solves the problem of how to vote and make decisions when there are disagreements in the decision results due to the absence of a core decision maker in the fully equal design of the three-mode or multi-mode system under traditional technology.

[0069] Furthermore, while sending the sampled sensor information to all the computing nodes, the representative node also sends the command log corresponding to the control command executed in the previous solution cycle to all the computing nodes;

[0070] All the computing nodes save the command logs corresponding to the control commands executed in the last solution cycle received into the local command logs of the computing nodes.

[0071] The embodiments of the present invention have the following technical effects: by utilizing recurring solution cycles, the command log corresponding to the control command executed in the previous solution cycle is synchronized to each computing node in an asynchronous manner while sending sensor information, which can significantly reduce the number of times communication is initiated, improve the processing efficiency of the system, increase the system silent period, and improve the system's anti-interference ability.

[0072] Furthermore, each online flight control node in the system sends voting information to other online flight control nodes in the system, including:

[0073] Each online flight control node in the system generates first voting information for voting for the flight control node itself, and sends the first voting information to other online flight control nodes in the system;

[0074] Each online flight control node in the system responds to the first voting information received from all other online flight control nodes in the system. Based on a preset election priority rule and according to the first voting information of the flight control node and all other flight control nodes, if it is determined that there is a flight control node that is better than the flight control node itself, the flight control node generates second voting information and sends the second voting information to all other online flight control nodes; the second voting information indicates that the flight control node will vote for the flight control node among other flight control nodes that is best than the flight control node itself.

[0075] In some embodiments, each flight control node first votes for itself and sends the first voting information to other flight control nodes, so that each flight control node can fully understand the current status of all flight control nodes in the system, such as the maximum command sequence number. Each flight control node determines whether there are other flight control nodes that are superior to itself under the election priority rules based on the first voting information of all flight control nodes obtained locally and the election priority rules. If so, it finds the flight control node that best meets the election priority rules among the other flight control nodes and re-issues the second voting information to vote for the flight control node that is best than itself among the other flight control nodes.

[0076] The embodiment of the present invention has the following technical effects: the voting process for electing a representative node can be completed through two rounds of voting, the voting efficiency is high, and the system can complete system recovery in a shorter time.

[0077] Furthermore, the preset election priority rules include: the flight control node with the largest maximum command sequence number in the local command log is given priority to vote; when there are multiple flight control nodes with the largest and equal maximum command sequence numbers in the local command log, the flight control node with the largest number is selected to get priority to vote; wherein, each flight control node in the system is preset with a unique number.

[0078] In some embodiments, the flight control node with a larger maximum command sequence number in the local command log records more complete operation information, so the flight control node with a larger maximum command sequence number in the local command log is the optimal flight control node. If in the initial state of the system, the maximum command sequence numbers in the local command logs of each flight control node are all initial values, that is, they are all equal, or if the system fails, multiple flight control nodes have completed the communication of synchronizing the command logs from the representative node at that time, so that the maximum command sequence numbers of the relevant flight control nodes and the representative node at that time are both the largest and equal, at this time, the flight control node with the largest number is given priority to vote.

[0079] The embodiment of the present invention has the following technical effects: by using a preset election priority rule, it is ensured that votes are cast for the flight control node that records the most complete current system operation information. On this basis, the flight control node numbering is used to ensure that a fast and unique decision is made.

[0080] Furthermore, the encoding format of the first voting information and the second voting information is: <elected node number, elected node maximum command sequence number, own node number>;

[0081] Each online flight control node in the system generates first voting information for the flight control node itself, specifically generating the following first voting information: <the number of the flight control node, the maximum command sequence number in the local command log of the flight control node, the number of the flight control node>.

[0082] Furthermore, based on the preset election priority rule, according to the first voting information of the flight control node and all other flight control nodes, when it is determined that there is a flight control node that is superior to the flight control node itself, the flight control node generates second voting information, including:

[0083] The flight control node compares the field value of the maximum command sequence number of the elected node in the first voting information of the flight control node and all other flight control nodes;

[0084] If the maximum value of the field value of the maximum command sequence number of the elected node in the first voting information of the flight control node and all other flight control nodes is not the maximum command sequence number in the local command log of the flight control node, the following second voting information is generated: <the number of the flight control node to which the first voting information with the largest field value of the maximum command sequence number of the elected node belongs, the maximum value of the field value of the maximum command sequence number of the elected node in the first voting information of the flight control node and all other flight control nodes, the number of the flight control node>.

[0085] Furthermore, each online flight control node in the system sets itself as a representative node or a computing node according to the voting information received and subject to the constraints of the preset representative node election rules, including:

[0086] Each online flight control node in the system counts the field values ​​of the elected node number in all the first voting information and the second voting information obtained by the flight control node, and if it is determined that the field value of the elected node number obtained by the flight control node is equal to the number of the flight control node a number greater than half of the number of all online flight control nodes in the system, the flight control node sets itself as a representative node; otherwise, the flight control node sets itself as a computing node;

[0087] The representative node sends representative information to all computing nodes;

[0088] Each computing node sends node information to the representative node in response to the received representative information;

[0089] Among them, the fields of the representative information include: the representative node number and the maximum command sequence number in the local command log of the representative node; the fields of the node information include: the representative node number obtained from the received representative information, the maximum command sequence number in the local command log of the representative node obtained from the received representative information, and the maximum command sequence number of the local command log of the computing node.

[0090] In some embodiments, since each flight control node independently determines whether it is a representative node or a computing node, through the embodiments of the present invention, since each flight control node can only vote for one flight control node when voting for itself or other flight control nodes, it is impossible to cast the same vote for more than one flight control node, so there can only be one flight control node that can be voted for more than half of the times. Therefore, if a flight control node finds that its number has been voted for more than half of the times, the flight control node will set itself as a representative node; if a flight control node finds that its number has not been voted for more than half of the times, it will set itself as a computing node.

[0091] The embodiment of the present invention has the following technical effects: each flight control node independently determines whether to serve as a representative node or a computing node in a distributed manner, and the election efficiency is high.

[0092] Furthermore, the method further comprises:

[0093] After any flight control node fails and restarts, when the arbitrary flight control node reconnects to the system as a restarting node, the restarting node establishes a communication connection with other flight control nodes that are already online in the system, and sends first voting information voting for the restarting node to the other online nodes;

[0094] In a case where there is an online representative node in the system, the representative node sends representative information to the restarting node in response to a communication connection initiated by the restarting node or receiving first voting information from the restarting node;

[0095] The restarting node returns the node information of the restarting node to the representative node in response to the received representative information;

[0096] The representative node sends the local command log of the representative node to the restart node;

[0097] The restart node updates the local command log of the restart node using the received local command log of the representative node, and sets the restart node itself as a computing node;

[0098] The fields of the representative information include: the representative node number and the maximum command sequence number in the local command log of the representative node; the fields of the node information include: the representative node number obtained from the received representative information, the maximum command sequence number in the local command log of the representative node obtained from the received representative information, and the maximum command sequence number of the local command log of the computing node; the encoding format of the first voting information is: <elected node number, elected node maximum command sequence number, own node number>.

[0099] In some embodiments, in the system's initial state, or if the current representative node fails and goes offline or loses its representative node status after a reboot, and there is no representative node in the system, voting and log synchronization will proceed through steps S10 to S12. During system operation, if a computing node fails and reboots, it will need to rejoin the system as a reboot node. Upon rejoining, the reboot node will initiate a connection to all currently online flight control nodes, including representative nodes and computing nodes. After connecting, since the reboot node is not yet a computing node, it will send a first voting message to itself. After being connected to the reboot node or receiving the first voting message from the reboot node, the representative node will also send a representative message to the reboot node. Here, there is a competition between the representative node sending the representative message and the reboot node sending the first voting message, and the order of the two is random. However, the representative node only uses the reboot node's connection establishment and the first voting message as signals that the reboot node has entered the system and does not process the first voting message. Other computing nodes, already operating as computing nodes, will also ignore the first voting message sent by the reboot node. After receiving the representative message, the reboot node returns the node information of the reboot node to the representative node and sets itself as a computing node.

[0100] The embodiments of the present invention have the following technical effects: providing a method for re-entering a system after restarting a computing node after a failure, allowing the failed computing node to rejoin the system, and realizing node failure recovery of the system.

[0101] On the other hand, Figure 2 As shown, an embodiment of the present invention provides an aerospace distributed multi-flight control node system, comprising: a plurality of parallel distributed computing flight control nodes that are interconnected and communicate with each other; the aerospace distributed multi-flight control node system adopts the aerospace distributed multi-flight control node fault recovery method as described in any of the previous ones.

[0102] As for the system embodiment, since it is basically similar to the method embodiment, the description is relatively simple, and the relevant parts can be referred to the partial description of the method embodiment.

[0103] The above technical solutions of the embodiments of the present invention are described in detail below with reference to specific application examples. For technical details not introduced during the implementation process, please refer to the relevant description above.

[0104] An embodiment of the present invention provides a distributed flight control single-node fault recovery method, which is based on the simultaneous use of multiple flight control nodes on the aerospace system flight control system to perform multi-flight control parallel computing. Each flight control node is a flight control computer with a separate CPU and storage space. The embodiment of the present invention solves the problem of a single node failure in a rocket distributed control system with multiple flight control nodes. If the failure is recovered and the node is restarted, it will rejoin the distributed system to act as a normal flight control computing node.

[0105] The following describes a flight control system with three flight control nodes. This embodiment of the present invention stipulates that the rocket control system uses a fixed flight control solution cycle (for example, 10ms). Within each cycle, the flight control nodes must complete basic operational steps such as sensor data acquisition, flight control solution (including navigation, guidance, and attitude control operations), and control output.

[0106] The calculation process of the flight control algorithm requires filtering of the data. The filtering process not only uses the data of the current cycle, but also needs to use the data of the previous cycles. If valid historical data cannot be obtained during the fault recovery process of the flight control node, the computing node performing fault recovery will be unable to perform flight control solution. At the same time, there are multiple flight control nodes in the system, and each node has a historical record. How to form a unified and correct historical record based on multiple historical records is also one of the key issues solved by the embodiments of the present invention.

[0107] Each flight control node constituting the distributed flight control system of the embodiment of the present invention may be in one of the four states: election state, representative state, recovery state, and calculation state. The transition between states is as follows: Figure 3 Each state is described below.

[0108] Election state: By default, the flight control node will first enter the election state. The node will not leave the election state until the system elects a representative node, or the existing representative node in the system notifies the node through the member discovery message that there is a representative node in the system (which occurs when the node reconnects to the system after restarting due to a failure).

[0109] Representative state: The node (flight control node) elected as the representative will leave the election state and enter the representative state, and begin to control the entire control system. In the representative state, it is necessary to synchronize data with other nodes first, and synchronize data according to the log status of each node. In addition to fulfilling the responsibilities of the representative, the representative node in the representative state must also run ordinary flight control calculation functions, perform navigation, guidance, attitude control and other calculations based on the various sensor states of the collected rocket, and then calculate the calculation results of each node, issue control instructions, and announce the executed commands to all nodes, and generate log data for storage;

[0110] Recovery state: Before entering the computing state, each flight control node needs to synchronize data with the newly elected representative node. The representative node compares the highest action number (highest command number or highest command sequence number) of each computing node, notifies the computing node to delete redundant unsubmitted command logs, and fill in the missing command logs. Through the current representative node, the command logs of all computing nodes are unified, so that the entire distributed flight control system enters a consistent state; redundant unsubmitted command logs appear in the computing node in the following situations: the last representative node crashed abnormally before issuing a command, and the command was generated and recorded in the local command log, but the representative node crashed before it could be sent to other (flight control) nodes. After the representative node restarts, it becomes an ordinary flight control node. Other flight control nodes have obtained a new representative node through a new round of elections. When the flight control node joins the network of the new representative node, it needs to delete the commands in the unexecuted log.

[0111] Computational state: Each flight control node is in the computational state after synchronizing its logs with the representative node. The computation results of each cycle are sent to the representative node, which decides the final control instructions to be issued and notifies all computational nodes of the computation results of this cycle, forming a computational log for storage. In addition, the representative node in the representative state also needs to implement the computational state function, and its own computation results are processed together with those of other computational nodes.

[0112] The following describes the data types involved.

[0113] Node number: Each flight control node in the system is assigned a unique number. In the process of the embodiment of the present invention, the three flight control nodes are assigned node numbers 1, 2, and 3 respectively;

[0114] Command sequence number: The flight control system completes a round of flight control calculations in each cycle. The calculation results are control commands sent to various systems of the rocket. The method introduced in the embodiment of the present invention assigns a command sequence number to each round of commands to uniquely identify the command.

[0115] Node data: The data that needs to be recorded for each flight control node includes the node number, current command sequence number, and operation log;

[0116] Operation log: A operation log includes the command sequence number, sensor input information, calculation process parameters, and result command output information. The command sequence number is a globally unique self-incrementing number managed by the representative node;

[0117] Election voting: The content of the voting between nodes is <elected node number, the highest command sequence number of the elected node, and the node number of the node itself>;

[0118] Representative information: <representative node number, representative node's maximum log command sequence number>;

[0119] Node information: <representative node number obtained from the received representative information, the maximum command sequence number of the representative node's log obtained from the received representative information, and the maximum command sequence number of this node's log>.

[0120] The following describes the system operation process. In the multi-flight control system fault recovery method of the embodiment of the present invention, each flight control node uses a reliable network connection to ensure that the nodes can determine whether the other node is online. For example, a reliable network connection method such as TCP is used. If an abnormality occurs at the other end, the network will be disconnected. The nodes can determine whether the other party is operating normally through the network connection status. Figure 4 As shown in FIG, the system process includes the representative election stage, the member discovery stage, the log recovery stage and the instruction synchronization stage.

[0121] Representative election stage: The distributed flight control system with single-node fault recovery capability of the embodiment of the present invention requires all nodes to elect a representative node during system initialization, or when the original representative node fails during system operation (for example, the network connection status can be used to determine whether there is a fault. If the network connection is still normal, but no calculation data or commands are sent at the normal periodic nodes, it can be considered that a fault has occurred), all flight control nodes need to enter the election state and re-elect a representative node.

[0122] After the representative election phase begins, all flight control nodes are in the election state, counting their own maximum command number (maximum command sequence number), voting for themselves, and distributing the voting content to all other flight control nodes; Figure 5As shown, for example, node 1 sends voting content <elected node number, elected node maximum command sequence number, own node number> to node 1, node 2, and node 3, which correspond to <1, 3, 1> respectively; node 2 sends voting content <elected node number, elected node maximum command sequence number, own node number> to node 2, node 1, and node 3, which correspond to <2, 2, 2> respectively; node 3 sends voting content <elected node number, elected node maximum command sequence number, own node number> to node 3, node 1, and node 2, which correspond to <3, 2, 3> respectively;

[0123] After receiving the voting content sent by other nodes, the flight control node updates its own voting content according to the election priority judgment method below. If the voting decision needs to be changed, a new election ballot is sent to other nodes.

[0124] The election priority is determined as follows: first compare the command numbers, and the node with the larger command number will be elected as the representative node first. If the command numbers are the same, compare the device numbers, and the node with the larger device number will be elected as the representative node first.

[0125] Figure 5 The three computing nodes in the network each send the first round of election votes to themselves and other devices. After the first round of voting, each node updates the vote according to the priority judgment method. If the vote is updated, it will send a new vote to other nodes again; Figure 6 As shown, according to the results of the first round of voting, node 2 finds that the node with the larger command number is node 1, so node 2 sends updated voting content <elected node number, elected node maximum command sequence number, own node number> to node 2, node 1 and node 3, corresponding to <1, 3, 2> respectively; according to the results of the first round of voting, node 3 finds that the node with the larger command number is node 1, so node 3 sends updated voting content <elected node number, elected node maximum command sequence number, own node number> to node 3, node 1 and node 2, corresponding to <1, 3, 3> respectively.

[0126] During the representative election phase, all nodes with reliable network connections receive election votes from each node, and then count the nodes that receive more than half of the votes. The node that receives more than half of the votes immediately becomes the representative node, and the other nodes become computing nodes, leaving the election state and entering the member discovery phase. Figure 6 As shown, after the second round of voting, node 1 will become the representative node.

[0127] Member discovery phase: The node that has become a representative sends its own log information to other nodes: representative information <representative node number, local log maximum command sequence number>. The computing node that receives the representative information returns its own node information <confirmed representative node number, representative node's log maximum command sequence number, local node's log maximum command sequence number> to confirm the relationship between the representative node and the computing node.

[0128] If a computing node fails and restarts during system operation, it will reconnect with other nodes in the system through the network connection. The computing node can directly enter the member discovery phase, communicate the command sequence number with the representative node, and complete the member discovery phase.

[0129] Log recovery phase: After completing the member discovery phase, the representative node sends different logs between the representative node and the computing node to each computing node. Through the log recovery process, all nodes can reconstruct all control commands within the flight control operation life cycle. Log recovery supports two situations: differential update and invalid log deletion.

[0130] Command synchronization phase: After log recovery is completed, the historical work logs of all nodes are consistent. At this time, the entire flight control system can start working according to a fixed solution cycle. The representative node obtains the sensor input of the entire flight control system and notifies all computing nodes. After the computing node completes the flight control solution, it sends the solution process parameters and solution results to the representative node. The representative node counts the solution results of all nodes, forms a control command output to the rocket system, and notifies all computing nodes of the control command of this cycle and stores it in each node to complete a complete command synchronization.

[0131] The embodiments of the present invention have the following technical effects: the distributed control system has a dynamic election function for representative nodes, supports log recovery of a single node, allows failed computing nodes to rejoin the system, and improves the robustness of the entire flight control system. It relies on the three-mode or multi-mode computer itself to achieve three-mode redundancy, adopts redundancy implemented in software and algorithms, does not rely on other hardware and systems on the rocket, minimizes the resources relied on for recovery from the fault, and improves the probability of successful recovery from the fault. A multi-mode system with more than three modes can be realized according to the embodiment of the present invention, that is, it can be applied to a multi-mode redundant system, and is not limited to three modes; the embodiment of the present invention is not only aimed at the data processing process, but also designs a method for the multi-mode redundant control scheme to recover from a disaster after the failure of a single module. The collapse of a single module node will not cause the system to crash. In any case, the entire system can be effectively controlled by electing a representative node.

[0132] It should be understood that the specific order or hierarchy of steps in the disclosed processes is an example of an exemplary method. Based on design preferences, it should be understood that the specific order or hierarchy of steps in the process can be rearranged without departing from the scope of the present disclosure. The accompanying method claims present elements of the various steps in an exemplary order and are not intended to be limited to the specific order or hierarchy described.

[0133] In the foregoing detailed description, various features are grouped together in a single embodiment to simplify the disclosure. This method of disclosure should not be interpreted as reflecting an intention that embodiments of the claimed subject matter require more features than are expressly recited in each claim. On the contrary, as reflected in the appended claims, the invention comprises less than all the features of any individual disclosed embodiment. The appended claims are hereby expressly incorporated into the detailed description, with each claim standing on its own as a separate preferred embodiment of the invention.

[0134] The above description of the disclosed embodiments is intended to enable any person skilled in the art to implement or use the present invention. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the general principles defined herein may be applied to other embodiments without departing from the spirit and scope of the present disclosure. Therefore, the present disclosure is not limited to the embodiments presented herein but is intended to be accorded the widest scope consistent with the principles and novel features disclosed herein.

[0135] The above description includes examples of one or more embodiments. Of course, it is impossible to describe all possible combinations of components or methods for the purpose of describing the above embodiments, but it will be appreciated by those skilled in the art that the various embodiments may be further combined and arranged. Therefore, the embodiments described herein are intended to encompass all such changes, modifications and variations that fall within the scope of protection of the appended claims. In addition, to the extent the term "comprising" is used in the specification or claims, the term is intended to be encompassed in a manner similar to the term "including". In addition, any use of the term "or" in the specification of the claims is intended to mean a "non-exclusive or".

[0136] Those skilled in the art will also appreciate that the various illustrative logical blocks, units, and steps listed in the embodiments of the present invention can be implemented by electronic hardware, computer software, or a combination of the two. To clearly demonstrate the interchangeability of hardware and software, the various illustrative components, units, and steps described above have generally described their functions. Whether such functions are implemented by hardware or software depends on the specific application and the design requirements of the entire system. Those skilled in the art may use various methods to implement the described functions for each specific application, but such implementation should not be understood as exceeding the scope of protection of the embodiments of the present invention.

[0137] The various illustrative logic blocks or units described in the embodiments of the present invention can be implemented or operated by a general-purpose processor, a digital signal processor, an application-specific integrated circuit (ASIC), a field programmable gate array or other programmable logic device, discrete gate or transistor logic, discrete hardware components, or any combination thereof. The general-purpose processor can be a microprocessor, and optionally, the general-purpose processor can also be any conventional processor, controller, microcontroller or state machine. The processor can also be implemented by a combination of computing devices, such as a digital signal processor and a microprocessor, a plurality of microprocessors, one or more microprocessors combined with a digital signal processor core, or any other similar configuration.

[0138] The steps of the methods or algorithms described in the embodiments of the present invention may be directly embedded in hardware, a software module executed by a processor, or a combination of the two. The software module may be stored in RAM memory, flash memory, ROM memory, EPROM memory, EEPROM memory, registers, a hard disk, a removable disk, a CD-ROM, or any other form of storage medium known in the art. For example, the storage medium may be connected to the processor so that the processor can read information from the storage medium and write information to the storage medium. Alternatively, the storage medium may also be integrated into the processor. The processor and storage medium may be provided in an ASIC, which may be provided in a user terminal. Alternatively, the processor and storage medium may also be provided in different components in the user terminal.

[0139] In one or more exemplary designs, the above-mentioned functions described in the embodiments of the present invention can be implemented in hardware, software, firmware, or any combination of the three. If implemented in software, these functions can be stored on a computer-readable medium or transmitted in the form of one or more instructions or codes on a computer-readable medium. Computer-readable media include computer storage media and communication media that facilitate the transfer of computer programs from one location to another. Storage media can be any available medium that can be accessed by a general or special computer. For example, such computer-readable media can include but are not limited to RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other medium that can be used to carry or store program code in the form of instructions or data structures and other forms that can be read by a general or special computer, or a general or special processor. In addition, any connection can be appropriately defined as a computer-readable medium. For example, if the software is transmitted from a website, server or other remote resource via a coaxial cable, fiber optic cable, twisted pair, digital subscriber line (DSL), or wireless methods such as infrared, wireless, and microwave, it is also included in the definition of computer-readable media. The disks and discs mentioned above include compact disks, laser disks, optical disks, DVDs, floppy disks, and Blu-ray discs. Disks typically reproduce data magnetically, while discs typically reproduce data optically with lasers. Combinations of the above may also be included in computer-readable media.

[0140] The specific implementation methods 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 implementation method 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. A method for recovering aerospace distributed multi-flight control node failure, characterized in that: Adopted by an aerospace distributed multi-flight control node system, the method includes: In the absence of an online representative node in the system, each online flight control node in the system sends voting information to other online flight control nodes in the system; the representative node is one of the multiple flight control nodes in the system, and the representative node serves as the master node of the system; Each online flight control node in the system sets itself as a representative node or a computing node based on the voting information it receives and subject to the constraints of the preset representative node election rules; wherein the preset representative node election rules are used to constrain that only one flight control node in the system can set itself as a representative node, and the other flight control nodes set themselves as computing nodes; The representative node uses its own local command log to update the local command log of the computing node, so that the local command logs of all computing nodes in the system are the same as the local command log of the representative node; After any flight control node fails and restarts, when the arbitrary flight control node reconnects to the system as a restarting node, the restarting node establishes a communication connection with other flight control nodes that are already online in the system, and sends first voting information voting for the restarting node to the other online nodes; In a case where there is an online representative node in the system, the representative node sends representative information to the restarting node in response to a communication connection initiated by the restarting node or receiving first voting information from the restarting node; The restarting node returns the node information of the restarting node to the representative node in response to the received representative information; The representative node sends the local command log of the representative node to the restart node; The restart node updates the local command log of the restart node using the received local command log of the representative node, and sets the restart node itself as a computing node.

2. The aerospace distributed multi-flight control node fault recovery method according to claim 1, characterized in that: The method further comprises: In response to each solution cycle, the representative node samples sensor information and schedules the representative node and all the computing nodes to process the sensor information, generates a control command corresponding to the current solution cycle, executes the control command, and updates the local command logs of the representative node and all the computing nodes.

3. The aerospace distributed multi-flight control node fault recovery method according to claim 2, characterized in that: In response to each solution cycle, the representative node samples sensor information, schedules the representative node and all the computing nodes to process the sensor information, generates a control command corresponding to the current solution cycle, executes the control command, and updates the local command logs of the representative node and all the computing nodes, including: In response to each solution cycle, the representative node samples sensor information and sends the sampled sensor information to all the computing nodes; The representative node and all the computing nodes each calculate the flight control state according to the sensor information, and each obtains a corresponding flight control state calculation result; All the computing nodes send their corresponding flight control state calculation results to the representative node; The representative node receives the flight control state solution results corresponding to all the computing nodes, merges them with the flight control state solution results corresponding to the representative node, and generates a control command corresponding to the current solution cycle according to the merged flight control state solution results; The representative node executes the control command corresponding to the current solution cycle, generates a command log of the control command corresponding to the current solution cycle, and saves it to the local command log of the representative node, wherein the command log includes an incremented command sequence number.

4. The method for recovering aerospace distributed multi-flight control node failures according to claim 3, wherein: While sending the sampled sensor information to all the computing nodes, the representative node also sends the command log corresponding to the control command executed in the previous solution cycle to all the computing nodes; All the computing nodes save the command logs corresponding to the control commands executed in the last solution cycle received into the local command logs of the computing nodes.

5. The aerospace distributed multi-flight control node fault recovery method according to claim 1, characterized in that: Each online flight control node in the system sends voting information to other online flight control nodes in the system, including: Each online flight control node in the system generates first voting information for voting for the flight control node itself, and sends the first voting information to other online flight control nodes in the system; Each online flight control node in the system responds to the first voting information received from all other online flight control nodes in the system. Based on a preset election priority rule and according to the first voting information of the flight control node and all other flight control nodes, if it is determined that there is a flight control node that is better than the flight control node itself, the flight control node generates second voting information and sends the second voting information to all other online flight control nodes; the second voting information indicates that the flight control node will vote for the flight control node among other flight control nodes that is best than the flight control node itself.

6. The method for recovering aerospace distributed multi-flight control node failures according to claim 5, wherein: The preset election priority rules include: the flight control node with the largest maximum command sequence number in the local command log is given priority to vote; when there are multiple flight control nodes with the largest and equal maximum command sequence numbers in the local command log, the flight control node with the largest number is selected to get priority to vote; wherein, each flight control node in the system is preset with a unique number.

7. The method for recovering aerospace distributed multi-flight control node failures according to claim 6, wherein: The encoding format of the first voting information and the second voting information is: <elected node number, elected node maximum command sequence number, own node number>; Each online flight control node in the system generates first voting information for the flight control node itself, specifically generating the following first voting information: <the number of the flight control node, the maximum command sequence number in the local command log of the flight control node, the number of the flight control node>.

8. The method for recovering aerospace distributed multi-flight control node failures according to claim 7, wherein: The step of generating second voting information by the flight control node based on the preset election priority rule and the first voting information of the flight control node and all other flight control nodes, when it is determined that there is a flight control node that is superior to the flight control node itself, includes: The flight control node compares the field value of the maximum command sequence number of the elected node in the first voting information of the flight control node and all other flight control nodes; If the maximum value of the field value of the maximum command sequence number of the elected node in the first voting information of the flight control node and all other flight control nodes is not the maximum command sequence number in the local command log of the flight control node, the following second voting information is generated: <the number of the flight control node to which the first voting information with the largest field value of the maximum command sequence number of the elected node belongs, the maximum value of the field value of the maximum command sequence number of the elected node in the first voting information of the flight control node and all other flight control nodes, the number of the flight control node>.

9. The method for recovering aerospace distributed multi-flight control node failures according to claim 1, wherein: The fields of the representative information include: the representative node number and the maximum command sequence number in the local command log of the representative node; the fields of the node information include: the representative node number obtained from the received representative information, the maximum command sequence number in the local command log of the representative node obtained from the received representative information, and the maximum command sequence number of the local command log of the computing node; the encoding format of the first voting information is: <elected node number, elected node maximum command sequence number, own node number>.

10. An aerospace distributed multi-flight control node system, characterized in that: include: Multiple flight control nodes that are interconnected and communicate with each other for parallel distributed computing; The aerospace distributed multi-flight control node system adopts the aerospace distributed multi-flight control node fault recovery method as described in any one of claims 1 to 9.

Citation Information

Patent Citations

  • Power network controller control method and device based on Zookeeper

    CN118983795A

  • Large-scale data consistency method and device based on multi-stage tree structure cluster

    CN119512692A