CN117041058A - Information processing method and device based on multiple nodes, storage medium and electronic device - Google Patents
Information processing method and device based on multiple nodes, storage medium and electronic device Download PDFInfo
- Publication number
- CN117041058A CN117041058A CN202311007511.1A CN202311007511A CN117041058A CN 117041058 A CN117041058 A CN 117041058A CN 202311007511 A CN202311007511 A CN 202311007511A CN 117041058 A CN117041058 A CN 117041058A
- Authority
- CN
- China
- Prior art keywords
- node
- target
- nodes
- module
- group
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 230000010365 information processing Effects 0.000 title claims abstract description 19
- 238000003672 processing method Methods 0.000 title claims abstract description 13
- 238000000034 method Methods 0.000 claims abstract description 71
- 238000011217 control strategy Methods 0.000 claims abstract description 57
- 238000012545 processing Methods 0.000 claims description 21
- 238000004891 communication Methods 0.000 claims description 18
- 238000004590 computer program Methods 0.000 claims description 16
- 230000002159 abnormal effect Effects 0.000 claims description 5
- 238000011161 development Methods 0.000 abstract description 22
- 238000005516 engineering process Methods 0.000 abstract description 6
- 230000006870 function Effects 0.000 description 59
- 238000007726 management method Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 230000008569 process Effects 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 238000012986 modification Methods 0.000 description 5
- 230000006872 improvement Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000008447 perception Effects 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 238000012356 Product development Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0894—Policy-based network configuration management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/142—Reconfiguring to eliminate the error
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Quality & Reliability (AREA)
- Information Transfer Between Computers (AREA)
Abstract
The embodiment of the application provides an information processing method and device based on multiple nodes, a storage medium and an electronic device, wherein the method comprises the following steps: acquiring current configuration information of the distribution control policy through a first module on a first target node when the first group of nodes is set to execute the first task in the same manner; accessing a target configuration module in the implementation layer through a second module and a target interface on a first target node to configure a distributed control strategy according to current configuration information, wherein the first module and the second module are arranged in node classes of all nodes in a first group of nodes, and the target interface is arranged in an abstract layer of all nodes; and when the distribution control policy indicates that the first target node is allowed to issue the execution result and other nodes are forbidden to issue the execution result, the first target node issues the execution result. The embodiment of the application solves the problem of large development workload of realizing the redundant fault-tolerant function through the original open source node in the related technology.
Description
Technical Field
The embodiment of the application relates to the technical field of robots, in particular to an information processing method and device based on multiple nodes, a storage medium and an electronic device.
Background
Many software or operating systems are currently open-sourced, and many companies employ open-sourced software as part of their product development, e.g., ROS is an open-sourced, robotic-application-oriented operating system. It provides a series of tools and libraries for facilitating tasks in terms of software development, control, communication, and data processing for robots. ROS2 is an upgrade of ROS (Robot Operating System ), which is a technical improvement in terms of system architecture, such as multi-robot platform, real-time, network connection, etc., compared to ROS. ROS2 removes a master-slave computing mode in ROS, establishes a self-discovery mechanism, and realizes real distributed computing; meanwhile, the communication layer adopts a data distribution service DDS (Data Distribution Service) communication mechanism, so that the system is more stable and flexible.
In practical use, for applications with high reliability requirements, such as automatic driving, the system is often required to have high reliability. This requires redundancy fault tolerance in addition to the robustness of the algorithm itself. Redundant fault tolerance refers to the simultaneous existence of multiple identical algorithm nodes in an application and is divided into a primary node and a standby node. These same nodes receive and process data simultaneously, but at any one time only one master node transmits the processed data outwards, and when the master node fails, the standby node automatically replaces the master node to transmit the data outwards without external intervention, which is hardly felt by the application user. However, the original open source node does not support related functions, and the original open source node is adopted to realize redundant fault tolerance function, so that an application developer needs to design according to the characteristics of an algorithm, the complexity of the system is increased, the development workload is increased, and the development efficiency is reduced.
Aiming at the technical problems of low efficiency caused by large development workload of realizing a redundant fault tolerance function through an original open source node in the related technology, no effective solution is proposed at present.
Disclosure of Invention
The embodiment of the application provides an information processing method, an information processing device, a storage medium and an electronic device based on multiple nodes, which at least solve the technical problem that the development workload of realizing a redundant fault-tolerant function through an original open source node is large, so that the efficiency is low in the related art.
According to an embodiment of the present application, there is provided an information processing method based on multiple nodes, including: acquiring current configuration information of a distribution control policy through a first module on a first target node under the condition that a first group of nodes are set to execute a first task in the same manner, wherein the first group of nodes comprise the first target node, the first module is set in node class of each node in the first group of nodes, and the first module is used for acquiring the configuration information of the distribution control policy; accessing, by the second module and the target interface on the first target node, a target configuration module in an implementation layer of the first target node, so as to configure the distribution control policy according to the current configuration information through the target configuration module, where the second module is further disposed in a node class of each node in the first group of nodes, the target interface is disposed in an abstraction layer of each node in the first group of nodes, and the second module is configured to be allowed to be invoked by an application layer of each node in the first group of nodes to access, by the target interface, the target configuration module in the implementation layer of each node in the first group of nodes, and the target interface is configured to access, by the target configuration module in the implementation layer of each node in the first group of nodes, a target configuration module is configured to configure the distribution control policy corresponding to the data distribution service; and under the condition that the configured distribution control strategy indicates that the first target node is allowed to issue the execution result of the first task, the nodes except the first target node in the first group of nodes are forbidden to issue the execution result of the first task, and the first target node is in a preset normal state, the first target node issues the execution result of the first task.
In an exemplary embodiment, before the first target node issues the execution result of the first task, the method further includes: in the case that the current configuration information includes a target weight set for the first target node and the target weight is the largest weight in a weight set, determining that the configured distribution control policy indicates that the first target node is allowed to issue an execution result of the first task and that nodes, except for the first target node, in the first group of nodes are prohibited from issuing an execution result of the first task, where the weight set includes weights, which are acquired by the first module on each node in the first group of nodes, set for each node in the first group of nodes and included in the configuration information of the distribution control policy.
In an exemplary embodiment, before determining that the configured distribution control policy indicates that the first target node is allowed to issue the execution result of the first task, and that nodes other than the first target node in the first group of nodes are prohibited from issuing the execution result of the first task, the method further includes: transmitting the target weight to nodes except the first target node in the first group of nodes through the data distribution service communication protocol, and receiving the weight transmitted by each node except the first target node in the first group of nodes through the data distribution service communication protocol; or receiving the weight of each node except the first target node in the first group of nodes sent by the management node of the data distribution service.
In an exemplary embodiment, the method further comprises: under the condition that the first target node is in a preset abnormal state, determining a node allowing the execution result to be issued in a candidate node set according to the configuration information of the distribution control strategy, which is acquired by the first module on each node in the candidate node set, wherein the candidate node set comprises nodes except the first target node in the first group of nodes; and releasing the execution result of the first task by the determined node.
In an exemplary embodiment, the determining, according to the configuration information of the distribution control policy acquired by the first module on each node in the candidate node set, a node in the candidate node set that is allowed to issue the execution result includes: and determining a target candidate node in the candidate node set as a node allowing the execution result to be issued, wherein the target candidate weight is a weight included in the configuration information of the distribution control strategy, which is acquired by the first module on the target candidate node, when the configuration information of the distribution control strategy, which is acquired by the first module on the candidate node set, includes weights set for each node in the candidate node set and the largest weight of the weights set for each node in the candidate node set is a target candidate weight.
In an exemplary embodiment, the obtaining, by the first module on the first target node, current configuration information of the distribution control policy includes one of: acquiring the input current configuration information through the first module on the first target node; and reading a target configuration file through the first module on the first target node to obtain the current configuration information.
In an exemplary embodiment, the obtaining, by the first module on the first target node, the input current configuration information includes: when the first target node is started, acquiring the input current configuration information through the first module on the first target node; or after the first target node is started, responding to a first trigger operation, and acquiring the input current configuration information through the first module on the first target node.
In an exemplary embodiment, the reading, by the first module on the first target node, the target configuration file to obtain the current configuration information includes: when the first target node is started, the first module on the first target node reads the target configuration file to obtain the current configuration information; or after the first target node is started, responding to a second triggering operation, and reading the target configuration file through the first module on the first target node to obtain the current configuration information.
In an exemplary embodiment, the obtaining, by the first module on the first target node, current configuration information of the distribution control policy includes: acquiring configuration information except weights in the current configuration information through the first module on the first target node, and acquiring automatically generated target weights set for the first target node, wherein the current configuration information comprises the target weights, and the target weights are used for determining whether the configured distribution control strategy indicates to allow the first target node to issue an execution result of the first task and inhibit nodes except the first target node in the first group from issuing the execution result of the first task.
In an exemplary embodiment, before the acquiring the automatically generated target weight set for the first target node, the method further includes: automatically generating the target weight by the first module on the first target node; or obtaining the target weight through the first module on the first target node, wherein the target weight is automatically generated by a management node of the data distribution service.
In an exemplary embodiment, the method further comprises: in the case that the current configuration information includes a target weight set for the first target node and the target weight is a maximum weight in a weight set, the configured distribution control policy is determined to indicate that the first target node is allowed to issue an execution result of the first task and that nodes other than the first target node in the first group of nodes are prohibited from issuing an execution result of the first task; the weight set comprises weights set for the nodes, wherein the weights are included in the configuration information of the distribution control strategy, acquired by the first module on each node in the first group of nodes, and at least part of the weights in the weight set are weights automatically generated by the first module on the corresponding at least part of the nodes in the first group of nodes.
In an exemplary embodiment, the method further comprises: setting the first module and the second module in a node class of an original node, and setting the target interface in an abstract layer of the original node to obtain the first target node.
In an exemplary embodiment, the original node is a target open source protocol based node.
In an exemplary embodiment, each node in the first set of nodes is a node that is obtained by performing the following steps on the same original node: setting the first module and the second module in a node class of an original node, and setting the target interface in an abstract layer of the original node.
In one exemplary embodiment, the original node is a node of a second generation robotic operating system based on a target open source protocol.
In an exemplary embodiment, the issuing, by the first target node, the execution result of the first task includes: in case a second set of nodes is arranged for executing a second task in the same way, and the second task is the next task to the first task, the execution result of the first task is issued by the first target node to the second set of nodes.
In an exemplary embodiment, the method further comprises: under the condition that each node in the second group of nodes executes the second task in the same mode according to the execution result of the first task, acquiring first configuration information of a distribution control strategy through a first module on a second target node, wherein the second group of nodes comprises the second target node, the first module is arranged in node class of each node in the second group of nodes, and the first module is used for acquiring the configuration information of the distribution control strategy; accessing, by the second module and the target interface on the second target node, a target configuration module in an implementation layer of the second target node, so as to configure the distribution control policy according to the first configuration information through the target configuration module, where the second module is further provided in a node class of each node in the second group of nodes, the target interface is provided in an abstraction layer of each node in the second group of nodes, the second module is configured to be allowed to be invoked by an application layer of each node in the second group of nodes to access, by the target interface, the target configuration module in the implementation layer of each node in the second group of nodes, and the target interface is configured to access, by the target configuration module in the implementation layer of each node in the second group of nodes, a target configuration module is configured to configure the distribution control policy corresponding to the data distribution service; and when the configured distribution control policy indicates that the second target node is allowed to issue the execution result of the second task, the nodes except the second target node in the second group of nodes are forbidden to issue the execution result of the second task, and the second target node is in a preset normal state, the second target node issues the execution result of the second task.
In an exemplary embodiment, the implementation layer of the first target node includes one of: a CycloneDDS implementation layer and a FastRtps implementation layer.
In an exemplary embodiment, the accessing, by the second module and the target interface on the first target node, the target configuration module in the implementation layer of the first target node includes: and calling the second module arranged in the node class of the first target node to access the target configuration module through the target interface arranged in the abstract layer of the first target node.
According to still another embodiment of the present application, there is also provided an information processing apparatus based on a plurality of nodes, including: a first obtaining unit, configured to obtain, by a first module on a first target node, current configuration information of a distribution control policy in a case where a first group of nodes is set to perform a first task in the same manner, where the first group of nodes includes the first target node, the first module is set in a node class of each node in the first group of nodes, and the first module is configured to obtain the configuration information of the distribution control policy; the first processing unit is configured to access, through a second module and a target interface on the first target node, a target configuration module in an implementation layer of the first target node, so as to configure the distribution control policy according to the current configuration information through the target configuration module, where the second module is further provided in a node class of each node in the first group of nodes, the target interface is provided in an abstraction layer of each node in the first group of nodes, the second module is configured to allow an application layer of each node in the first group of nodes to call to access, through the target interface, the target configuration module in the implementation layer of each node in the first group of nodes, and the target interface is configured to access, through the target interface, the target configuration module in the implementation layer of each node in the first group of nodes, and the target configuration module is configured to configure the distribution control policy corresponding to the data distribution service; and the second processing unit is used for issuing the execution result of the first task by the first target node under the condition that the configured distribution control strategy indicates that the first target node is allowed to issue the execution result of the first task, the nodes except the first target node in the first group of nodes are forbidden to issue the execution result of the first task, and the first target node is in a preset normal state.
According to a further embodiment of the application, there is also provided a computer readable storage medium having stored therein a computer program, wherein the computer program is arranged to perform the steps of any of the method embodiments described above when run.
According to a further embodiment of the application, there is also provided an electronic device comprising a memory having stored therein a computer program and a processor arranged to run the computer program to perform the steps of any of the method embodiments described above.
According to the embodiment of the application, under the condition that the first group of nodes are set to execute the first task in the same mode, the current configuration information of the distribution control strategy is acquired through the first module on the first target node, and the target configuration module in the implementation layer of the first target node is accessed through the second module and the target interface on the first target node, so that the distribution control strategy is configured according to the current configuration information through the target configuration module, and the purpose of configuring the distribution control strategy of the first target node according to the current configuration information is realized; the method comprises the steps that a first module and a second module are arranged in node classes of all nodes in a first group of nodes, a target interface is arranged in an abstract layer of all nodes in the first group of nodes, the first module is used for acquiring configuration information of a distribution control strategy, the second module is used for allowing an application layer of all nodes in the first group of nodes to call to access the target configuration module in an implementation layer of all nodes through the target interface, and the target configuration module is used for configuring the distribution control strategy corresponding to a data distribution service; and when the configured distribution control strategy indicates that the first target node is allowed to issue the execution result of the first task, the nodes except the first target node in the first group of nodes are forbidden to issue the execution result of the first task, and the first target node is in a preset normal state, the first target node issues the execution result of the first task. The first module, the second module and the target interface are arranged in each node in the first group of nodes, so that the purpose of configuring the distribution control strategy can be achieved, and the execution result of the first task can be issued to the outside only by the first target node according to the distribution control strategy. The original open source nodes are modified, so that the first group of nodes have a redundant fault tolerance function. The problems that in the related art, an original open source node does not support the function of configuring a distribution control strategy, so that the adoption of the original open source node to realize a redundant fault-tolerant function needs to be designed by an application developer according to the characteristics of an algorithm, the complexity of a system is increased, the development workload is increased, and the development efficiency is reduced are avoided. Therefore, the technical problem that the development workload of the redundant fault-tolerant function realized through the original open source node is large, so that the efficiency is low in the related technology can be solved, and the effect of improving the development efficiency is achieved.
Drawings
FIG. 1 is a schematic diagram of a hardware environment of a server based on a multi-node information processing method according to an embodiment of the present application;
FIG. 2 is a flow chart of a multi-node based information processing method according to an embodiment of the present application;
FIG. 3 is a ROS2 hierarchy architecture diagram in accordance with an embodiment of the present application;
FIG. 4 is a schematic diagram of ROS2 node improvement in accordance with an embodiment of the present application;
FIG. 5 is an exemplary diagram of a multi-ROS 2 node redundant fault tolerance scheme, in accordance with an embodiment of the present application;
fig. 6 is a block diagram of an information processing apparatus based on multiple nodes according to an embodiment of the present application.
Detailed Description
In order that those skilled in the art will better understand the present application, a technical solution in the embodiments of the present application will be clearly and completely described below with reference to the accompanying drawings in which it is apparent that the described embodiments are only some embodiments of the present application, not all embodiments. All other embodiments, which can be made by those skilled in the art based on the embodiments of the present application without making any inventive effort, shall fall within the scope of the present application.
It should be noted that the terms "first," "second," and the like in the description and the claims of the present application and the above figures are used for distinguishing between similar objects and not necessarily for describing a particular sequential or chronological order. It is to be understood that the data so used may be interchanged where appropriate such that the embodiments of the application described herein may be implemented in sequences other than those illustrated or otherwise described herein. Furthermore, the terms "comprises," "comprising," and "having," and any variations thereof, are intended to cover a non-exclusive inclusion, such that a process, method, system, article, or apparatus that comprises a list of steps or elements is not necessarily limited to those steps or elements expressly listed but may include other steps or elements not expressly listed or inherent to such process, method, article, or apparatus.
The method embodiments provided by the embodiments of the present application may be performed in a server, a computer terminal, a device terminal, or similar computing apparatus. Taking the operation on a server as an example, fig. 1 is a schematic diagram of a hardware environment of a server based on a multi-node information processing method according to an embodiment of the present application. As shown in fig. 1, the server may include one or more processors 102 (only one is shown in fig. 1) (the processor 102 may include, but is not limited to, a microprocessor MCU or a processing device such as a programmable logic device FPGA) and a memory 104 for storing data, and in one exemplary embodiment, the server may further include a transmission device 106 for communication functions and an input-output device 108. It will be appreciated by those skilled in the art that the structure shown in fig. 1 is merely illustrative, and is not intended to limit the structure of the server described above. For example, a server may also include more or fewer components than shown in FIG. 1, or have a different configuration than the equivalent functions shown in FIG. 1 or more than the functions shown in FIG. 1.
The memory 104 may be used to store computer programs, such as software programs of application software and modules, such as computer programs corresponding to the multi-node-based information processing method in the embodiment of the present application, and the processor 102 executes the computer programs stored in the memory 104 to perform various functional applications and data processing, i.e., implement the above-described method. Memory 104 may include high-speed random access memory, and may also include non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid-state memory. In some examples, the memory 104 may further include memory remotely located with respect to the processor 102, which may be connected to a server via a network. Examples of such networks include, but are not limited to, the internet, intranets, local area networks, mobile communication networks, and combinations thereof.
The transmission device 106 is used to receive or transmit data via a network. Specific examples of the network described above may include a wireless network provided by a communication provider of a server. In one example, the transmission device 106 includes a network adapter (Network Interface Controller, simply referred to as NIC) that can connect to other network devices through a base station to communicate with the internet. In one example, the transmission device 106 may be a Radio Frequency (RF) module, which is configured to communicate with the internet wirelessly.
In this embodiment, there is provided a multi-node-based information processing method, and fig. 2 is a flowchart of a multi-node-based information processing method according to an embodiment of the present application, as shown in fig. 2, the flowchart including the steps of:
step S202, in the case that a first group of nodes is set to execute a first task in the same manner, acquiring current configuration information of a distribution control strategy through a first module on a first target node, wherein the first group of nodes comprises the first target node, the first module is set in node class of each node in the first group of nodes, and the first module is used for acquiring the configuration information of the distribution control strategy;
Step S204, accessing, by a second module and a target interface on the first target node, a target configuration module in an implementation layer of the first target node, so as to configure the distribution control policy according to the current configuration information by using the target configuration module, where the second module is further provided in a node class of each node in the first group of nodes, the target interface is provided in an abstraction layer of each node in the first group of nodes, and the second module is configured to allow an application layer of each node in the first group of nodes to call by using the target interface to access the target configuration module in the implementation layer of each node in the first group of nodes, and the target interface is configured to access a target configuration module in the implementation layer of each node in the first group of nodes, and the target configuration module is configured to configure the distribution control policy corresponding to the data distribution service;
step S206, when the configured distribution control policy indicates that the first target node is allowed to issue the execution result of the first task, the nodes except for the first target node in the first group of nodes are prohibited from issuing the execution result of the first task, and the first target node is in a preset normal state, the first target node issues the execution result of the first task.
In the embodiment of the present application, the first module, the second module and the target configuration module may be implemented by functions, for example, the first module includes a first function, where the first function is used to obtain configuration information of the distribution control policy; the second module includes a second function for allowing invocation by the application layer of each node in the first set of nodes to access the target configuration module in the implementation layer of each node in the first set of nodes through the target interface; the target configuration module comprises a target configuration function, and the target configuration function is used for configuring a distribution control strategy corresponding to the data distribution service.
Through the steps, under the condition that the first group of nodes are set to execute the first task in the same mode, the current configuration information of the distribution control strategy is obtained through the first module on the first target node, the target configuration module in the implementation layer of the first target node is accessed through the second module and the target interface on the first target node, the distribution control strategy is configured according to the current configuration information through the target configuration module, and the purpose of configuring the distribution control strategy of the first target node according to the current configuration information is achieved; the method comprises the steps that a first module and a second module are arranged in node classes of all nodes in a first group of nodes, a target interface is arranged in an abstract layer of all nodes in the first group of nodes, the first module is used for acquiring configuration information of a distribution control strategy, the second module is used for allowing an application layer of all nodes in the first group of nodes to call to access the target configuration module in an implementation layer of all nodes through the target interface, and the target configuration module is used for configuring the distribution control strategy corresponding to a data distribution service; and when the configured distribution control strategy indicates that the first target node is allowed to issue the execution result of the first task, the nodes except the first target node in the first group of nodes are forbidden to issue the execution result of the first task, and the first target node is in a preset normal state, the first target node issues the execution result of the first task. The first module, the second module and the target interface are arranged in each node in the first group of nodes, so that the purpose of configuring the distribution control strategy can be achieved, and the execution result of the first task can be issued to the outside only by the first target node according to the distribution control strategy. The original open source nodes are modified, so that the first group of nodes have a redundant fault tolerance function. The problems that in the related art, an original open source node does not support the function of configuring a distribution control strategy, so that the adoption of the original open source node to realize a redundant fault-tolerant function needs to be designed by an application developer according to the characteristics of an algorithm, the complexity of a system is increased, the development workload is increased, and the development efficiency is reduced are avoided. Therefore, the technical problem that the development workload of the redundant fault-tolerant function realized through the original open source node is large, so that the efficiency is low in the related technology can be solved, and the effect of improving the development efficiency is achieved.
The main execution body of the steps may be a server, a processor, a device side, an application control program in the device, a processor with man-machine interaction capability configured on a storage device, a processing device or a processing unit with similar processing capability, or the like, but is not limited thereto.
In the technical solution provided in step S202, each Node in the first group of nodes is configured to execute a first task in the same manner, for example, the first group of nodes includes 2 (or 3, or more) nodes, each Node executes the first task, for example, the first task is a sensing task, or a planning task, or other tasks of the robot in the working process, the first target Node is one of the nodes in the first group, current configuration information of the distribution control policy is obtained through a first module on the first target Node, a first module is set in a Node class (or Node class) of each Node in the first group of nodes, the first module can be used to obtain configuration information of the distribution control policy, and other nodes in the first group of nodes except the first target Node also obtain current configuration information of the distribution control policy through a first module on each Node; for example, taking an ROS2 Node as an example, the first module may be implemented by a function, for example, the first module includes a first function, where the first function may be a Node class constructor, and the first module in each Node may be configured to obtain configuration information of each Node for distributing a control policy, for example, may obtain configuration information of each Node for an Ownership policy (or referred to as an Ownership policy), and optionally, the configuration of the Ownership policy may include configuration of an Ownership type and an Ownership weight. Through the step, a first module is arranged in the node class of each node in the first group of nodes, the current configuration information of the distribution control strategy can be obtained through the first module on the first target node, and other nodes can also obtain the corresponding configuration information of the distribution control strategy through the first module on each node.
In the technical solution provided in step S204, the second module and the target interface on the first target Node are used to access the target configuration module in the implementation layer of the first target Node, the second module is further set in the Node class (or referred to as Node class) of each Node in the first group of nodes, and the target interface is set in the abstract layer of each Node in the first group of nodes, where the second module is used to allow the second module to be invoked by the application layer of each Node in the first group of nodes to access the target configuration module in the implementation layer of each Node through the target interface, and the target configuration module is used to configure the distribution control policy corresponding to the data distribution service; for example, taking the ROS2 Node as an example, the second module may be implemented by a function, e.g., the second module includes a second function, which may be a member function in the Node class, and function to enable an upper layer application (e.g., ROS2 application layer) to call gradually to an implementation layer (e.g., DDS implementation layer) by calling a method in the ROS2 Node class. Since the Node class is the parent class of the ROS2 upper-layer application Node, after the class is added and related member modules are called, all the upper-layer application nodes can use the modules. As a result, all upper layer application nodes can use this DDS policy. Likewise, other nodes in the first group of nodes except the first target node access the target configuration module in the implementation layer of the respective node through the second module and the target interface on the respective node so as to achieve the purpose of configuring the distribution control policy. The purpose that each node in the first group of nodes can use the data distribution service policy is achieved.
In the technical solution provided in step S206, the configured distribution control policy indicates that the first target node is allowed to issue the execution result of the first task, prohibits other nodes in the first group of nodes than the first target node from issuing the execution result of the first task, and when the first target node is in the preset normal state, only the first target node issues the execution result of the first task. In practical application, each node in the first group of nodes executes the first task and obtains an execution result of the first task, however, according to the configuration of the distribution control policy, only the first target node issues the execution result of the first task to the outside, for example, the first target node issues the execution result of the first task to a node of the next task. Optionally, in practical application, when the first group of nodes includes 2 or more nodes, a user may specify a certain node (such as the first target node) to issue the execution result of the first task to the outside, for example, when a group of nodes is started to execute the first task, a weight value of each node may be input, and the node with the largest weight value issues the execution result of the first task to the outside; or, a configuration file can be configured in advance by a user, the configuration file comprises weight values of different nodes, then when a group of nodes are started to execute a first task, the node can read the configuration file to obtain the weight value of each node, and the node with the largest weight value externally issues an execution result of the first task; other ways may be used to obtain the weight values of the different nodes, so that the nodes for externally publishing the execution result are determined from the first group of nodes.
In the above embodiment, the purpose of configuring the distribution control policy may be achieved by setting the first module, the second module, and the target interface in each node in the first group of nodes, and the execution result of the first task may be issued only by the first target node to the outside according to the distribution control policy. The original open source nodes are modified, so that the first group of nodes have a redundant fault tolerance function. The problem that the original open source node in the related art does not support the function of configuring the distribution control strategy, so that the original open source node is adopted to realize the redundant fault-tolerant function and needs to be designed by an application developer according to the characteristics of an algorithm is avoided, the complexity of the system is increased, the development workload is increased, the development efficiency is reduced, and the cost brought by developing the redundant fault-tolerant function for an independent algorithm can be reduced through the embodiment. Therefore, the technical problem that the development workload of the redundant fault-tolerant function realized through the original open source node is large, so that the efficiency is low in the related technology can be solved, and the effect of improving the development efficiency is achieved.
In an alternative embodiment, before the first target node issues the execution result of the first task, the method further includes: in the case that the current configuration information includes a target weight set for the first target node and the target weight is the largest weight in a weight set, determining that the configured distribution control policy indicates that the first target node is allowed to issue an execution result of the first task and that nodes, except for the first target node, in the first group of nodes are prohibited from issuing an execution result of the first task, where the weight set includes weights, which are acquired by the first module on each node in the first group of nodes, set for each node in the first group of nodes and included in the configuration information of the distribution control policy.
In the above embodiment, before the first target node issues the execution result of the first task to the outside, the configured distribution control policy may be determined, according to the distribution control policy, it may be determined that the execution result of the first task is issued to the outside by a certain node in the first group of nodes, for example, when the current configuration information includes a target weight set for the first target node and the target weight is the largest weight in the weight set, it may be determined that the distribution control policy indicates that the execution result of the first task is issued to the outside by the first target node, the execution result of the first task is prohibited from being issued to the outside by a node in the first group of nodes other than the first target node, and the weight set may include weights set for each node in the first group of nodes, for example, assuming that there are 2 nodes (or 3 nodes, or more nodes) in the first group of nodes, the weight value set for the node 1 is 80% (or 90%, and the weight value set for the node 2 is 50% (or 20%, or other values) so that the node 1 may be determined as the execution result of the first task is issued to the outside by the first target node.
In an optional embodiment, before determining that the configured distribution control policy indicates that the first target node is allowed to issue the execution result of the first task, and prohibiting nodes other than the first target node in the first group of nodes from issuing the execution result of the first task, the method further includes: transmitting the target weight to nodes except the first target node in the first group of nodes through the data distribution service communication protocol, and receiving the weight transmitted by each node except the first target node in the first group of nodes through the data distribution service communication protocol; or receiving the weight of each node except the first target node in the first group of nodes sent by the management node of the data distribution service.
In the above embodiment, the first target node may send the target weight to other nodes in the first group of nodes except the first target node through the DDS communication protocol, and may also receive weights of other nodes sent by other nodes through the DDS communication protocol; or the first target node receives the weight of each node except the first target node in the first group of nodes sent by the management node of the data distribution service. Through the embodiment, each node in the first group of nodes can be discovered mutually based on the DDS communication mechanism.
In an alternative embodiment, the method further comprises: under the condition that the first target node is in a preset abnormal state, determining a node allowing the execution result to be issued in a candidate node set according to the configuration information of the distribution control strategy, which is acquired by the first module on each node in the candidate node set, wherein the candidate node set comprises nodes except the first target node in the first group of nodes; and releasing the execution result of the first task by the determined node.
In the above embodiment, when the first target node is in the preset abnormal state, the node for issuing the execution result of the first task is determined from the nodes included in the first group of nodes except the first target node, that is, when the message issuer (such as the first target node) fails, it may be determined that one node replaces the first target node from other nodes to issue a message or transmit data to the outside; in this embodiment, according to the configuration information of the distributed control policy obtained by the first module on each node in the candidate node set, a node in the candidate node set that allows the execution result to be issued may be determined; for example, the configuration information of the distributed control policy acquired by each node in the candidate node set may include weights set for each node, and then, according to the weights respectively corresponding to each node in the candidate node set, the node with the largest weight is selected as the node that allows the execution result to be distributed. In practical applications, the candidate node set may include one or more nodes, that is, in addition to the first target node, in the first group of nodes, one or more nodes may be further included, where each node in the candidate node set performs the first task in the same manner as the first target node, so that when the first target node fails, a node may be selected from the candidate node set to issue the execution result of the first task to the outside instead of the first target node. By the embodiment, the purpose that the first group of nodes have redundant fault tolerance can be achieved.
In an optional embodiment, the determining, according to the configuration information of the distribution control policy acquired by the first module on each node in the candidate node set, a node in the candidate node set that is allowed to issue the execution result includes: and determining a target candidate node in the candidate node set as a node allowing the execution result to be issued, wherein the target candidate weight is a weight included in the configuration information of the distribution control strategy, which is acquired by the first module on the target candidate node, when the configuration information of the distribution control strategy, which is acquired by the first module on the candidate node set, includes weights set for each node in the candidate node set and the largest weight of the weights set for each node in the candidate node set is a target candidate weight.
In the above embodiment, when the configuration information of the distributed control policy acquired by the first module on each node in the candidate node set includes the weights set for each node in the candidate node set, and the maximum weight among the weights set for each node in the candidate node set is the target candidate weight, the target candidate node corresponding to the target candidate weight is determined as the node that allows the execution result of the first task to be issued to the outside. According to the embodiment, when the first target node (or called a master node) fails, the purpose of selecting the target candidate node with the largest weight value from the candidate node set to replace the first target node to externally issue the execution result can be achieved.
In an alternative embodiment, the obtaining, by the first module on the first target node, the current configuration information of the distribution control policy includes one of: acquiring the input current configuration information through the first module on the first target node; and reading a target configuration file through the first module on the first target node to obtain the current configuration information.
In the above embodiment, the input current configuration may be obtained through the first module on the first target node, for example, when the first target node is started, the input current configuration information may be obtained through the first module, and the input current configuration information may be input by the user when the node is started; or, the first module on the first target node reads the target configuration file to obtain the current configuration information, for example, the user may write the target configuration file in advance, the target configuration file may include weight information of each node in the first group of nodes, or the target configuration file may include node information of the first target node, or the target configuration file may include node information serving as a master node, etc., and when the first target node is started, the first module may read the target configuration file to obtain the current configuration information. By the embodiment, the purpose of acquiring the current configuration information of the first target node in a plurality of different modes is achieved.
In an alternative embodiment, the obtaining, by the first module on the first target node, the input current configuration information includes: when the first target node is started, acquiring the input current configuration information through the first module on the first target node; or after the first target node is started, responding to a first trigger operation, and acquiring the input current configuration information through the first module on the first target node.
As an optional implementation manner, when the first target node is started, the first module on the first target node may acquire the input current configuration information, where the current configuration information may be configuration information input by a user when the first target node is started; as another alternative embodiment, after the first target node is started, the first trigger operation may be responded, and the first module on the first target node obtains the input current configuration information, for example, the first trigger operation may be triggered when the user executes the configuration instruction. By the embodiment, the aim of acquiring the input current configuration information in different modes is fulfilled.
In an optional embodiment, the reading, by the first module on the first target node, the target configuration file to obtain the current configuration information includes: when the first target node is started, the first module on the first target node reads the target configuration file to obtain the current configuration information; or after the first target node is started, responding to a second triggering operation, and reading the target configuration file through the first module on the first target node to obtain the current configuration information.
As an optional implementation manner, when the first target node is started, a first module on the first target node may read a target configuration file to obtain current configuration information, where the target configuration file may be a configuration file pre-written by a user, and the target configuration file may include weight information of each node in the first group of nodes, or the target configuration file may include node information of the first target node, or the target configuration file may include node information serving as a master node, and so on; as another alternative implementation manner, after the first target node is started, the target configuration file may be read by the first module on the first target node in response to a second trigger operation, so as to obtain the current configuration information, where the second trigger operation may be triggered when the user executes the configuration instruction, for example. By the embodiment, the aim of reading the target configuration file in different modes to obtain the current configuration information is fulfilled.
In an alternative embodiment, the obtaining, by the first module on the first target node, the current configuration information of the distribution control policy includes: acquiring configuration information except weights in the current configuration information through the first module on the first target node, and acquiring automatically generated target weights set for the first target node, wherein the current configuration information comprises the target weights, and the target weights are used for determining whether the configured distribution control strategy indicates to allow the first target node to issue an execution result of the first task and inhibit nodes except the first target node in the first group from issuing the execution result of the first task.
In the above embodiment, part of information in the current configuration information, such as configuration information except weights, may be obtained through the first module on the first target node, and the automatically generated target weights set for the first target node may be obtained, that is, the target weights of the first target node in the current configuration information are automatically generated, the configuration information except weights in the current configuration information may be obtained through the first module, and the target weights are used to determine whether the configured distribution control policy indicates to allow the first target node to issue the execution result of the first task, and prohibit the nodes except the first target node in the first group of nodes from issuing the execution result of the first task. By the embodiment, the purpose of acquiring the target weight of the first target node in an automatic generation mode is achieved.
In an alternative embodiment, before the acquiring the automatically generated target weight set for the first target node, the method further includes: automatically generating the target weight by the first module on the first target node; or obtaining the target weight through the first module on the first target node, wherein the target weight is automatically generated by a management node of the data distribution service.
In the above embodiment, the target weight may be automatically generated by the first module on the first target node; alternatively, the target weight is automatically generated by a management node of the data distribution service and obtained by a first module on the first target node. By the embodiment, the aim of generating the target weight in different modes is fulfilled.
In an alternative embodiment, the method further comprises: in the case that the current configuration information includes a target weight set for the first target node and the target weight is a maximum weight in a weight set, the configured distribution control policy is determined to indicate that the first target node is allowed to issue an execution result of the first task and that nodes other than the first target node in the first group of nodes are prohibited from issuing an execution result of the first task; the weight set comprises weights set for the nodes, wherein the weights are included in the configuration information of the distribution control strategy, acquired by the first module on each node in the first group of nodes, and at least part of the weights in the weight set are weights automatically generated by the first module on the corresponding at least part of the nodes in the first group of nodes.
In the above embodiment, when the current configuration information includes the target weight set for the first target node and the target weight is the largest weight in the weight set, it may be determined that the distribution control policy indicates that the first target node issues the execution result of the first task to the outside, prohibits the nodes other than the first target node from issuing the execution result of the first task, where the weight set may include weights set for each node in the first group node, and at least some of the weights in the weight set are weights automatically generated by the first module on at least some of the corresponding nodes in the first group node, for example, assuming that 3 nodes (or more nodes) in the first group node have a weight value of 80% (or 90%, or may be represented by other values) set for the node 1, a weight value of 50% (or 20% or other) set for the node 2, and a weight of 60% (or other) set for the node 3, where at least some of the weights of the nodes 1-3 are automatically generated by the first module; in this way, the node 1 can be determined as the first target node, that is, the node 1 issues the execution result of the first task to the outside, and the node 2 prohibits issuing the execution result of the first task to the outside.
In an alternative embodiment, the method further comprises: setting the first module and the second module in a node class of an original node, and setting the target interface in an abstract layer of the original node to obtain the first target node.
In the above embodiment, the first target Node may be obtained by setting the first module and the second module in a Node class of the original Node and setting the target interface in an abstraction layer of the original Node, for example, the original Node may be an original open source Node (e.g., an original ROS2 Node), setting the first module and the second module in a Node class (e.g., a Node class) of the ROS2 Node of the original open source, and setting the target interface in an abstraction layer (e.g., an ROS2 middleware RMW abstraction layer) of the ROS2 Node of the original open source. It should be noted that, other nodes in the first group of nodes than the first target node may be obtained in a similar manner as described above. According to the embodiment, the original open source node can be modified to obtain the purpose of the first target node.
In an alternative embodiment, the original node is a node based on a target open source protocol.
In the above embodiments, the original node may be a node based on the target open source protocol, for example, the original node may be a ROS2 node, or a node of other open source systems.
In an alternative embodiment, each node in the first set of nodes is a node that is obtained by performing the following steps on the same original node: setting the first module and the second module in a node class of an original node, and setting the target interface in an abstract layer of the original node.
In the above embodiment, each node in the first group of nodes may be obtained by performing the following operations on the same original node: setting a first module and a second module in a node class of an original node, and setting a target interface in an abstract layer of the original node. For example, the original Node may be an original open source Node (e.g., an original ROS2 Node), the first module and the second module may be set in a Node class (e.g., a Node class) of the ROS2 Node of the original open source, and the target interface may be set in an abstraction layer (e.g., an ROS2 middleware RMW abstraction layer) of the ROS2 Node of the original open source, so that the first set of nodes may be obtained. Through the embodiment, the original open source node can be modified to obtain the purpose of each node in the first target node.
In an alternative embodiment, the original node is a node of a second generation robotic operating system based on a target open source protocol.
In the above embodiment, the original node may be a node of a second generation robotic operating system based on a target open source protocol, such as an open source ROS2 node.
In an alternative embodiment, the issuing, by the first target node, the execution result of the first task includes: in case a second set of nodes is arranged for executing a second task in the same way, and the second task is the next task to the first task, the execution result of the first task is issued by the first target node to the second set of nodes.
In the above embodiment, each node in the second group of nodes is configured to execute the second task in the same manner, when the second task is the next task of the first task, the first target node may issue the execution result of the first task to each node in the second group of nodes, that is, each node in the second group of nodes may receive the execution result of the first task issued by the first target node, and in practical application, each node in the second group of nodes may receive the execution result sent by the node of the previous task (such as the first target node) in a subscription manner. For example, the first task is a perception task of the robot during working, and the second task may be a planning task, i.e. performing the planning task according to the perception result; or the first task may be a planning task and the second task may be a control task, for example, controlling the robot to perform a corresponding operation, such as performing a movement operation, or other operation, according to the planning result. In practical applications, the first set of nodes and the second set of nodes may communicate with each other in a publish/subscribe manner. By the embodiment, the purpose that the first target node distributes the execution result of the first task to the second group of nodes executing the second task is achieved.
In an alternative embodiment, the method further comprises: under the condition that each node in the second group of nodes executes the second task in the same mode according to the execution result of the first task, acquiring first configuration information of a distribution control strategy through a first module on a second target node, wherein the second group of nodes comprises the second target node, the first module is arranged in node class of each node in the second group of nodes, and the first module is used for acquiring the configuration information of the distribution control strategy; accessing, by the second module and the target interface on the second target node, a target configuration module in an implementation layer of the second target node, so as to configure the distribution control policy according to the first configuration information through the target configuration module, where the second module is further provided in a node class of each node in the second group of nodes, the target interface is provided in an abstraction layer of each node in the second group of nodes, the second module is configured to be allowed to be invoked by an application layer of each node in the second group of nodes to access, by the target interface, the target configuration module in the implementation layer of each node in the second group of nodes, and the target interface is configured to access, by the target configuration module in the implementation layer of each node in the second group of nodes, a target configuration module is configured to configure the distribution control policy corresponding to the data distribution service; and when the configured distribution control policy indicates that the second target node is allowed to issue the execution result of the second task, the nodes except the second target node in the second group of nodes are forbidden to issue the execution result of the second task, and the second target node is in a preset normal state, the second target node issues the execution result of the second task.
In the above embodiment, in the case where the second group of nodes is set to execute the second task in the same manner, the current configuration information of the distribution control policy is obtained through the first module on the second target node, and the target configuration module in the implementation layer of the second target node is accessed through the second module and the target interface on the second target node, and the distribution control policy is configured according to the current configuration information through the target configuration module, so that the purpose of configuring the distribution control policy of the second target node according to the current configuration information is achieved; the first module is used for acquiring configuration information of a distribution control strategy, the second module is used for allowing the application layer of each node in the second group of nodes to call so as to access the target configuration module in the implementation layer of each node through the target interface, and the target configuration module is used for configuring the distribution control strategy corresponding to the data distribution service; and when the configured distribution control strategy indicates that the second target node is allowed to issue the execution result of the second task, the nodes except the second target node in the second group of nodes are forbidden to issue the execution result of the second task, and the second target node is in a preset normal state, the second target node issues the execution result of the second task. The first module, the second module and the target interface are arranged in each node in the second group of nodes, so that the purpose of configuring the distribution control strategy can be achieved, and the execution result of the second task can be issued only by the second target node outwards according to the distribution control strategy. The original open source nodes are modified, so that the second group of nodes have a redundant fault tolerance function. The method can also avoid the problems that the original open source node in the related technology does not support the function of configuring the distribution control strategy, so that the adoption of the original open source node for realizing the redundant fault tolerance function needs to be designed by an application developer according to the characteristics of an algorithm, thereby increasing the complexity of the system, increasing the development workload and reducing the development efficiency. In practical applications, according to the requirement of upper layer application development, more groups of nodes can be set, for example, besides the first group of nodes and the second group of nodes, each node in each group of nodes can also be set to execute the same task, the node with the largest weight automatically becomes a master node (such as the first target node or the second target node) by giving different weights to each node in each group of nodes, the result of task execution is issued, and once the master node in each group of nodes fails, one node is selected from other nodes in the group of nodes as the master node to issue the execution result (or issue a message).
In an alternative embodiment, the implementation layer of the first target node includes one of: a CycloneDDS implementation layer and a FastRtps implementation layer.
In the above embodiment, the implementation layer of the first target node includes the foregoing target configuration module, where the target configuration module may be used to configure a distribution control policy corresponding to the data distribution service, for example, the distribution control policy may be an Ownership policy in the DDS specification, however, not all DDS implementations include the policy, so that a DDS implementation that supports the policy, such as a cycloneds implementation, or a FastRtps implementation, or other DDS implementation needs to be selected.
In an alternative embodiment, the accessing, by the second module and the target interface on the first target node, the target configuration module in the implementation layer of the first target node includes: and calling the second module arranged in the node class of the first target node to access the target configuration module through the target interface arranged in the abstract layer of the first target node.
In the above embodiment, the second module set in the node class of the first target node may be invoked to access the target configuration module through the target interface set in the abstraction layer of the first target node.
It will be apparent that the embodiments described above are merely some, but not all, embodiments of the application. The following describes embodiments of the present application in detail, taking the modification of the original ROS2 node as an example.
The embodiment of the application provides a multi-ROS 2 node-oriented redundant fault tolerance method, which can realize that ROS2 application has a redundant fault tolerance function by modifying an ROS2 native node.
FIG. 3 is a ROS2 hierarchy architecture diagram in accordance with an embodiment of the present application, including: the data distribution service DDS (Data Distribution Service) implements a layer, a ROS2 middleware RMW (i.e., ROS Midd software) layer (also called ROS2 RMW abstraction layer), a ROS2 NODE class, and a ROS2 application layer. Wherein the ROS2 application layer inherits the ROS2 NODE class, and the ROS2 NODE class inherits the ROS2 RMW abstract layer. The DDS implementation layer may select a CyclooneDDS, or FastRTRs, or other implementation.
In order to realize the function of redundant fault tolerance of the ROS2 node, the embodiment of the application provides the following technical scheme:
1. selecting a proper DDS implementation: the data distribution service DDS (Data Distribution Se rvice) is a new generation of distributed real-time communication middleware technical specification formulated by OMG object management organization on the basis of HLA, CORBA and other standards, and adopts a publish/subscribe system architecture to provide rich QoS (Quality of Service) service quality strategies so as to meet various distributed real-time communication application requirements. In the DDS specification, there is a QoS policy that can assist us in implementing the core function of redundant fault tolerance, namely the OwnerShip policy (or OwnerShip policy). The policy includes two parameters, whether to configure in exclusive mode (ownership_kingh), if configured in exclusive mode, the weight of the publisher, subscriber (ownership_structh) may be configured and the topic may be exclusive by the high weight publisher. Through the two parameters, the publisher with the largest weight can be ensured to publish data outwards when a plurality of identical publishers exist, and the publisher with the next largest weight can publish data when the publisher which is publishing the message fails. However, not all DDS implementations contain this strategy, so we need to select DDS implementations that support this strategy, including but not limited to a cyclonesdds, as shown in fig. 3.
2. The RMW abstraction layer of ROS2 is modified to adapt to the DDS policy, ownerclip. The specific method comprises the following steps: in the RMW abstract layer of the ROS2, an interface related to OwnerShip is added, and the ROS2 application layer can access the DDS realization layer by adding the interface, so that the problem that the original ROS2 does not support the strategy is solved.
3. A concrete implementation is added for the abstraction layer interface. The method comprises the following steps: in the Node class of ROS2, a function is added that can operate the interfaces opened in step 2 above. The Node class is the parent class of the ROS2 upper-layer application Node, and after the function is added by the class, all the upper-layer application nodes can use the function. As a result, all upper layer application nodes can use this DDS policy.
4. In the construction function of the Node class of the ROS2, functions of acquiring parameters, reading configuration files, automatically generating weights and the like during starting are added, the functions are used for acquiring the weight value of the current Node in various modes, and when a plurality of identical Node nodes are started, the nodes are configured according to the designated parameter values.
Thus far, ROS2 nodes with redundant fault tolerance have been constructed, where two identical nodes are simultaneously present in the environment, both nodes receive data and process it at the same time, but only one node can issue a message.
The ROS2 node improvement is described in detail below in conjunction with FIG. 4. The ROS2 RMW abstract layer and the ROS2 Node application layer are respectively modified. The specific implementation process is as follows:
(1) Interfaces associated with OwnerShip are added in the ROS2 RMW abstraction layer. As shown in fig. 4, the definition of the ROS2 on the QoS policy is extended, and at the same time, a calling method is added to the ROS2 RMW abstraction layer corresponding to the existing configuration function (function for configuring the QoS policy) in the DDS implementation layer, so that the ROS2 can be finally called to the DDS implementation layer.
As shown in FIG. 4, in the ROS2 RMW abstraction layer, the QOS features are newly added in the QOS function enumeration class.
(2) In the Node class of ROS2, aiming at the calling method added in the step (1), member functions are added, and the function is that the upper layer application can gradually call to the DDS realization layer by calling the method in the ROS2 Node. Since the Node class is the parent class of the ROS2 upper-layer application Node, after the class increases and calls the related member function, all the upper-layer application nodes can use the function. As a result, all upper layer application nodes can use this DDS policy.
As shown in fig. 4, in the Node class of ROS2, node member functions are added, and QOS feature control functions are newly added.
(3) In the Node class of ROS2, functionality is added to obtain the weight configuration, including but not limited to, from a start command, from a configuration file, automatically generated, etc. And (3) calling the interface in the step (1) after acquiring the parameters, and finally configuring the node into an OwnerShip exclusive mode and a QoS strategy with corresponding weight.
As shown in fig. 4, in the Node class constructor of ROS2, each configuration is applied at the time of starting, and optionally, functions such as acquiring parameters/reading a configuration file/automatically generating weights at the time of starting may be added, so as to achieve the purpose of acquiring the weight value of the current Node in different manners.
By calling the DDS implementation layer, all upper application nodes can use DDS policies, such as DDS related function implementation in fig. 4.
(4) After the steps are executed, the node has the characteristic of redundancy fault tolerance, multiple times of nodes can be started at the same time, different weights are given, the node with the largest weight automatically becomes a main node, the message can be issued, the node with the smaller weight is used as a standby node, the message is synchronously processed but not issued, and when the main node fails, the standby node becomes the main node to issue the message, as shown in fig. 5. In fig. 5, when the primary node fails, the redundant node (or the standby node) may implement millisecond-level switching, i.e., the data is distributed from the redundant node.
In practical use, for applications with high reliability requirements, such as automatic driving, the system is often required to have high reliability. This requires redundancy fault tolerance in addition to the robustness of the algorithm itself. Redundant fault tolerance refers to the simultaneous existence of multiple identical algorithm nodes in an application and is divided into a primary node and a standby node. These same nodes receive and process data simultaneously, but at any one time only one master node transmits the processed data outwards, and when the master node fails, the standby node automatically replaces the master node to transmit the data outwards without external intervention, which is hardly felt by the application user. However, the ROS2 node does not support related functions, so that redundant fault tolerance requires an application developer to design according to the characteristics of an algorithm, thereby increasing the complexity of the system and reducing the development efficiency. Based on the above, the embodiment of the application provides a multi-ROS 2 node-oriented redundant fault tolerance method, which can realize that ROS2 application has a redundant fault tolerance function by modifying ROS2 native nodes.
In the embodiment, the DDS characteristic is innovatively added into the ROS2 father node, so that the subsequent ROS 2-based upper-layer application has a redundant fault-tolerant function without modification; and first turning on the OwnerShip feature of DDS at each layer of ROS2, adding functionality to ROS2 nodes.
The embodiment of the application provides a multi-ROS 2 node-oriented redundant fault tolerance method, which can realize the redundant fault tolerance of ROS2 nodes. The method overcomes the defect that the existing ROS2 node does not support redundant fault tolerance, and creatively adds the DDS characteristic into the ROS2 native node, so that the subsequent ROS 2-based upper-layer application has the function of redundant fault tolerance under the condition of no need of modification. The application can be made to support redundant fault tolerance without modifying the ROS2 upper layer application. The cost brought by developing redundant fault tolerance for the independent algorithm is reduced, the complexity of the system is also reduced, and the development efficiency is improved.
From the description of the above embodiments, it will be clear to a person skilled in the art that the method according to the above embodiments may be implemented by means of software plus the necessary general hardware platform, but of course also by means of hardware, but in many cases the former is a preferred embodiment. Based on such understanding, the technical solution of the embodiments of the present application may be embodied essentially or in a part contributing to the prior art in the form of a software product stored in a storage medium (such as ROM/RAM, magnetic disk, optical disk) comprising several instructions for causing a terminal device (which may be a mobile phone, a computer, a server, or a network device, etc.) to perform the method according to the embodiments of the present application.
Also provided in the present embodiment is a multi-node based information processing apparatus, fig. 6 is a block diagram of a multi-node based information processing apparatus according to an embodiment of the present application, as shown in fig. 6, including:
a first obtaining unit 602, configured to obtain, by a first module on a first target node, current configuration information of a distribution control policy, where a first group of nodes is set to perform a first task in the same manner, the first group of nodes includes the first target node, the first module is set in a node class of each node in the first group of nodes, and the first module is configured to obtain the configuration information of the distribution control policy;
a first processing unit 604, configured to access, through a second module and a target interface on the first target node, a target configuration module in an implementation layer of the first target node, so as to configure the distribution control policy according to the current configuration information through the target configuration module, where the second module is further provided in a node class of each node in the first group of nodes, the target interface is provided in an abstraction layer of each node in the first group of nodes, the second module is configured to allow an application layer of each node in the first group of nodes to call to access, through the target interface, the target configuration module in the implementation layer of each node in the first group of nodes, and the target interface is configured to access, through the target interface, a target configuration module in the implementation layer of each node in the first group of nodes, the target configuration module is configured to configure the distribution control policy corresponding to the data distribution service;
The second processing unit 606 is configured to issue, by the first target node, the execution result of the first task when the configured distribution control policy indicates that the first target node is allowed to issue the execution result of the first task, the nodes other than the first target node in the first group of nodes are prohibited from issuing the execution result of the first task, and the first target node is in a preset normal state.
In an alternative embodiment, the apparatus further comprises: a first determining unit, configured to determine, before the first target node issues the execution result of the first task, that the configured distribution control policy indicates that the first target node is allowed to issue the execution result of the first task, and prohibit nodes other than the first target node in the first group of nodes from issuing the execution result of the first task, where the current configuration information includes a target weight set for the first target node, and the target weight is a maximum weight in a weight set, and the weight set includes weights set for the respective nodes in the first group of nodes included in the configuration information of the distribution control policy, the weights being acquired by the first module on the respective nodes in the first group of nodes.
In an alternative embodiment, the apparatus further comprises: a third processing unit, configured to send, by the data distribution service communication protocol, the target weight to a node other than the first target node in the first group of nodes before determining that the configured distribution control policy indicates that the first target node is allowed to issue the execution result of the first task, and prohibit nodes other than the first target node in the first group of nodes from issuing the execution result of the first task, and receive weights sent by each node other than the first target node in the first group of nodes by the data distribution service communication protocol; or a fourth processing unit, configured to receive weights of nodes except the first target node in the first group of nodes sent by a management node of the data distribution service.
In an alternative embodiment, the apparatus further comprises: a second determining unit, configured to determine, when the first target node is in a preset abnormal state, a node in a candidate node set that allows the execution result to be issued according to configuration information of the distribution control policy, which is acquired by the first module on each node in the candidate node set, where the candidate node set includes nodes in the first group of nodes except the first target node; and the first issuing module is used for issuing the execution result of the first task by the determined node.
In an alternative embodiment, the second determining unit includes: a first determining subunit, configured to determine, when the configuration information for the distribution control policy acquired by the first module on each node in the candidate node set includes a weight set for each node in the candidate node set and a maximum weight among the weights set for each node in the candidate node set is a target candidate weight, a target candidate node in the candidate node set as a node that allows the distribution of the execution result, where the target candidate weight is a weight included in the configuration information for the distribution control policy acquired by the first module on the target candidate node.
In an alternative embodiment, the first obtaining unit 602 includes one of the following: a first obtaining subunit, configured to obtain, by using the first module on the first target node, the input current configuration information; and the first obtaining subunit is used for reading the target configuration file through the first module on the first target node to obtain the current configuration information.
In an alternative embodiment, the first obtaining subunit is configured to obtain the input current configuration information by: when the first target node is started, acquiring the input current configuration information through the first module on the first target node; or after the first target node is started, responding to a first trigger operation, and acquiring the input current configuration information through the first module on the first target node.
In an alternative embodiment, the first obtaining subunit is configured to obtain the current configuration information by: when the first target node is started, the first module on the first target node reads the target configuration file to obtain the current configuration information; or after the first target node is started, responding to a second triggering operation, and reading the target configuration file through the first module on the first target node to obtain the current configuration information.
In an alternative embodiment, the first obtaining unit 602 includes: the first processing subunit is configured to obtain, through the first module on the first target node, configuration information except for a weight in the current configuration information, and obtain an automatically generated target weight set for the first target node, where the current configuration information includes the target weight, and the target weight is used to determine whether the configured distribution control policy indicates to allow the first target node to issue an execution result of the first task, and prohibit nodes except for the first target node in the first group of nodes from issuing an execution result of the first task.
In an alternative embodiment, the apparatus further comprises: the generating unit is used for automatically generating the target weight through the first module on the first target node before the target weight which is automatically generated and set for the first target node is acquired; or a second obtaining unit, configured to obtain, by using the first module on the first target node, the target weight, where the target weight is a weight automatically generated by a management node of the data distribution service.
In an alternative embodiment, the apparatus further comprises: a third determining unit configured to determine, in a case where the current configuration information includes a target weight set for the first target node and the target weight is a maximum weight in a weight set, that the configured distribution control policy indicates that the first target node is permitted to issue an execution result of the first task, and that nodes other than the first target node in the first group of nodes are prohibited from issuing an execution result of the first task; the weight set comprises weights set for the nodes, wherein the weights are included in the configuration information of the distribution control strategy, acquired by the first module on each node in the first group of nodes, and at least part of the weights in the weight set are weights automatically generated by the first module on the corresponding at least part of the nodes in the first group of nodes.
In an alternative embodiment, the apparatus further comprises: and the fifth processing unit is used for setting the first module and the second module in the node class of the original node, setting the target interface in the abstract layer of the original node and obtaining the first target node.
In an alternative embodiment, the original node is a node based on a target open source protocol.
In an alternative embodiment, each node in the first set of nodes is a node that is obtained by performing the following steps on the same original node: setting the first module and the second module in a node class of an original node, and setting the target interface in an abstract layer of the original node.
In an alternative embodiment, the original node is a node of a second generation robotic operating system based on a target open source protocol.
In an alternative embodiment, the second processing unit 606 includes: and a publishing subunit configured to publish, by the first target node, a result of execution of the first task to a second group of nodes, in a case where the second group of nodes is set to execute the second task in the same manner, and the second task is a task next to the first task.
In an alternative embodiment, the apparatus further comprises: a third obtaining unit, configured to obtain, by using a first module on a second target node, first configuration information of a distribution control policy, where each node in the second group of nodes includes the second target node, and the first module is set in a node class of each node in the second group of nodes, where the first module is used to obtain the configuration information of the distribution control policy, where the second task is executed in the same manner according to an execution result of the first task; a sixth processing unit, configured to access, through a second module and a target interface on the second target node, a target configuration module in an implementation layer of the second target node, so as to configure, through the target configuration module, the distribution control policy according to the first configuration information, where the second module is further provided in a node class of each node in the second group of nodes, the target interface is provided in an abstraction layer of each node in the second group of nodes, the second module is configured to allow the second module to be invoked by an application layer of each node in the second group of nodes to access, through the target interface, the target configuration module in the implementation layer of each node in the second group of nodes, and the target interface is configured to access, through the target interface, the target configuration module in the implementation layer of each node in the second group of nodes, the target configuration module is configured to configure the distribution control policy corresponding to the data distribution service; and a seventh processing unit, configured to issue, by the second target node, an execution result of the second task when the configured distribution control policy indicates that the second target node is allowed to issue the execution result of the second task, that nodes other than the second target node in the second group of nodes are prohibited from issuing the execution result of the second task, and that the second target node is in a preset normal state.
In an alternative embodiment, the implementation layer of the first target node includes one of: a CycloneDDS implementation layer and a FastRtps implementation layer.
In an alternative embodiment, the first processing unit 604 includes: and the second processing subunit is used for calling the second module arranged in the node class of the first target node so as to access the target configuration module through the target interface arranged in the abstract layer of the first target node.
It should be noted that each of the above units or modules may be implemented by software or hardware, and for the latter, may be implemented by, but not limited to: the units or modules are all located in the same processor; alternatively, each of the units or modules described above may be located in a different processor in any combination.
Embodiments of the present application also provide a computer readable storage medium having a computer program stored therein, wherein the computer program is arranged to perform the steps of any of the method embodiments described above when run.
In one exemplary embodiment, the computer readable storage medium may include, but is not limited to: a usb disk, a Read-Only Memory (ROM), a random access Memory (Random Access Memory, RAM), a removable hard disk, a magnetic disk, or an optical disk, or other various media capable of storing a computer program.
An embodiment of the application also provides an electronic device comprising a memory having stored therein a computer program and a processor arranged to run the computer program to perform the steps of any of the method embodiments described above.
In an exemplary embodiment, the electronic apparatus may further include a transmission device connected to the processor, and an input/output device connected to the processor.
Specific examples in this embodiment may refer to the examples described in the foregoing embodiments and the exemplary implementation, and this embodiment is not described herein.
It will be appreciated by those skilled in the art that the modules or steps of the embodiments of the application described above may be implemented in a general purpose computing device, they may be concentrated on a single computing device, or distributed across a network of computing devices, they may be implemented in program code executable by computing devices, so that they may be stored in a memory device for execution by computing devices, and in some cases, the steps shown or described may be performed in a different order than what is shown or described, or they may be separately fabricated into individual integrated circuit modules, or a plurality of modules or steps in them may be fabricated into a single integrated circuit module. Thus, embodiments of the application are not limited to any specific combination of hardware and software.
The above description is only of the preferred embodiments of the present application and is not intended to limit the embodiments of the present application, but various modifications and variations can be made to the present application by those skilled in the art. Any modification, equivalent replacement, improvement, etc. made within the principle of the embodiments of the present application should be included in the protection scope of the embodiments of the present application.
Claims (22)
1. A multi-node based information processing method, comprising:
acquiring current configuration information of a distribution control policy through a first module on a first target node under the condition that a first group of nodes are set to execute a first task in the same manner, wherein the first group of nodes comprise the first target node, the first module is set in node class of each node in the first group of nodes, and the first module is used for acquiring the configuration information of the distribution control policy;
accessing, by the second module and the target interface on the first target node, a target configuration module in an implementation layer of the first target node, so as to configure the distribution control policy according to the current configuration information through the target configuration module, where the second module is further disposed in a node class of each node in the first group of nodes, the target interface is disposed in an abstraction layer of each node in the first group of nodes, and the second module is configured to be allowed to be invoked by an application layer of each node in the first group of nodes to access, by the target interface, the target configuration module in the implementation layer of each node in the first group of nodes, and the target interface is configured to access, by the target configuration module in the implementation layer of each node in the first group of nodes, a target configuration module is configured to configure the distribution control policy corresponding to the data distribution service;
And under the condition that the configured distribution control strategy indicates that the first target node is allowed to issue the execution result of the first task, the nodes except the first target node in the first group of nodes are forbidden to issue the execution result of the first task, and the first target node is in a preset normal state, the first target node issues the execution result of the first task.
2. The method of claim 1, wherein prior to issuing, by the first target node, a result of execution of the first task, the method further comprises:
in the case that the current configuration information includes a target weight set for the first target node and the target weight is the largest weight in a weight set, determining that the configured distribution control policy indicates that the first target node is allowed to issue an execution result of the first task and that nodes, except for the first target node, in the first group of nodes are prohibited from issuing an execution result of the first task, where the weight set includes weights, which are acquired by the first module on each node in the first group of nodes, set for each node in the first group of nodes and included in the configuration information of the distribution control policy.
3. The method of claim 2, wherein before determining that the configured distribution control policy indicates that the first target node is allowed to issue the execution result of the first task, and that nodes other than the first target node in the first group of nodes are prohibited from issuing the execution result of the first task, the method further comprises:
transmitting the target weight to nodes except the first target node in the first group of nodes through the data distribution service communication protocol, and receiving the weight transmitted by each node except the first target node in the first group of nodes through the data distribution service communication protocol; or alternatively
And receiving the weight of each node except the first target node in the first group of nodes sent by the management node of the data distribution service.
4. The method according to claim 1, wherein the method further comprises:
under the condition that the first target node is in a preset abnormal state, determining a node allowing the execution result to be issued in a candidate node set according to the configuration information of the distribution control strategy, which is acquired by the first module on each node in the candidate node set, wherein the candidate node set comprises nodes except the first target node in the first group of nodes;
And releasing the execution result of the first task by the determined node.
5. The method according to claim 4, wherein the determining, according to the configuration information of the distribution control policy acquired by the first module on each node in the candidate node set, a node in the candidate node set that is allowed to issue the execution result includes:
and determining a target candidate node in the candidate node set as a node allowing the execution result to be issued, wherein the target candidate weight is a weight included in the configuration information of the distribution control strategy, which is acquired by the first module on the target candidate node, when the configuration information of the distribution control strategy, which is acquired by the first module on the candidate node set, includes weights set for each node in the candidate node set and the largest weight of the weights set for each node in the candidate node set is a target candidate weight.
6. The method of claim 1, wherein the obtaining, by the first module on the first target node, current configuration information for the distribution control policy comprises one of:
Acquiring the input current configuration information through the first module on the first target node;
and reading a target configuration file through the first module on the first target node to obtain the current configuration information.
7. The method of claim 6, wherein the obtaining, by the first module on the first target node, the current configuration information entered comprises:
when the first target node is started, acquiring the input current configuration information through the first module on the first target node; or alternatively
After the first target node is started, responding to a first trigger operation, and acquiring the input current configuration information through the first module on the first target node.
8. The method of claim 6, wherein the reading, by the first module on the first target node, the target configuration file to obtain the current configuration information includes:
when the first target node is started, the first module on the first target node reads the target configuration file to obtain the current configuration information; or alternatively
After the first target node is started, responding to a second triggering operation, and reading the target configuration file through the first module on the first target node to obtain the current configuration information.
9. The method of claim 1, wherein the obtaining, by the first module on the first target node, current configuration information for the distribution control policy comprises:
acquiring configuration information except weights in the current configuration information through the first module on the first target node, and acquiring automatically generated target weights set for the first target node, wherein the current configuration information comprises the target weights, and the target weights are used for determining whether the configured distribution control strategy indicates to allow the first target node to issue an execution result of the first task and inhibit nodes except the first target node in the first group from issuing the execution result of the first task.
10. The method of claim 9, wherein prior to the acquiring the automatically generated target weights set for the first target node, the method further comprises:
Automatically generating the target weight by the first module on the first target node; or alternatively
The target weight is acquired through the first module on the first target node, wherein the target weight is automatically generated by a management node of the data distribution service.
11. The method according to claim 9, wherein the method further comprises:
in the case that the current configuration information includes a target weight set for the first target node and the target weight is a maximum weight in a weight set, the configured distribution control policy is determined to indicate that the first target node is allowed to issue an execution result of the first task and that nodes other than the first target node in the first group of nodes are prohibited from issuing an execution result of the first task;
the weight set comprises weights set for the nodes, wherein the weights are included in the configuration information of the distribution control strategy, acquired by the first module on each node in the first group of nodes, and at least part of the weights in the weight set are weights automatically generated by the first module on the corresponding at least part of the nodes in the first group of nodes.
12. The method according to any one of claims 1 to 11, further comprising:
setting the first module and the second module in a node class of an original node, and setting the target interface in an abstract layer of the original node to obtain the first target node.
13. The method of claim 12, wherein the original node is a target open source protocol based node.
14. The method according to any one of claims 1 to 11, wherein each node in the first set of nodes is a node resulting from performing the following steps on the same original node: setting the first module and the second module in a node class of an original node, and setting the target interface in an abstract layer of the original node.
15. The method of claim 14, wherein the original node is a node of a second generation robotic operating system based on a target open source protocol.
16. The method according to any one of claims 1 to 11, wherein the publishing, by the first target node, of the execution result of the first task comprises:
In case a second set of nodes is arranged for executing a second task in the same way, and the second task is the next task to the first task, the execution result of the first task is issued by the first target node to the second set of nodes.
17. The method of claim 16, wherein the method further comprises:
under the condition that each node in the second group of nodes executes the second task in the same mode according to the execution result of the first task, acquiring first configuration information of a distribution control strategy through a first module on a second target node, wherein the second group of nodes comprises the second target node, the first module is arranged in node class of each node in the second group of nodes, and the first module is used for acquiring the configuration information of the distribution control strategy;
accessing, by the second module and the target interface on the second target node, a target configuration module in an implementation layer of the second target node, so as to configure the distribution control policy according to the first configuration information through the target configuration module, where the second module is further provided in a node class of each node in the second group of nodes, the target interface is provided in an abstraction layer of each node in the second group of nodes, the second module is configured to be allowed to be invoked by an application layer of each node in the second group of nodes to access, by the target interface, the target configuration module in the implementation layer of each node in the second group of nodes, and the target interface is configured to access, by the target configuration module in the implementation layer of each node in the second group of nodes, a target configuration module is configured to configure the distribution control policy corresponding to the data distribution service;
And when the configured distribution control policy indicates that the second target node is allowed to issue the execution result of the second task, the nodes except the second target node in the second group of nodes are forbidden to issue the execution result of the second task, and the second target node is in a preset normal state, the second target node issues the execution result of the second task.
18. The method according to any of claims 1 to 11, wherein the implementation layer of the first target node comprises one of: a CycloneDDS implementation layer and a FastRtps implementation layer.
19. The method according to any one of claims 1 to 11, wherein said accessing a target configuration module in an implementation layer of the first target node through a second module and a target interface on the first target node comprises:
and calling the second module arranged in the node class of the first target node to access the target configuration module through the target interface arranged in the abstract layer of the first target node.
20. An information processing apparatus based on a plurality of nodes, comprising:
A first obtaining unit, configured to obtain, by a first module on a first target node, current configuration information of a distribution control policy in a case where a first group of nodes is set to perform a first task in the same manner, where the first group of nodes includes the first target node, the first module is set in a node class of each node in the first group of nodes, and the first module is configured to obtain the configuration information of the distribution control policy;
the first processing unit is configured to access, through a second module and a target interface on the first target node, a target configuration module in an implementation layer of the first target node, so as to configure the distribution control policy according to the current configuration information through the target configuration module, where the second module is further provided in a node class of each node in the first group of nodes, the target interface is provided in an abstraction layer of each node in the first group of nodes, the second module is configured to allow an application layer of each node in the first group of nodes to call to access, through the target interface, the target configuration module in the implementation layer of each node in the first group of nodes, and the target interface is configured to access, through the target interface, the target configuration module in the implementation layer of each node in the first group of nodes, and the target configuration module is configured to configure the distribution control policy corresponding to the data distribution service;
And the second processing unit is used for issuing the execution result of the first task by the first target node under the condition that the configured distribution control strategy indicates that the first target node is allowed to issue the execution result of the first task, the nodes except the first target node in the first group of nodes are forbidden to issue the execution result of the first task, and the first target node is in a preset normal state.
21. A computer readable storage medium, characterized in that a computer program is stored in the computer readable storage medium, wherein the computer program, when being executed by a processor, implements the steps of the method of any of claims 1 to 19.
22. An electronic device comprising a memory, a processor and a computer program stored on the memory and executable on the processor, characterized in that the processor implements the steps of the method of any one of claims 1 to 19 when the computer program is executed.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311007511.1A CN117041058A (en) | 2023-08-10 | 2023-08-10 | Information processing method and device based on multiple nodes, storage medium and electronic device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311007511.1A CN117041058A (en) | 2023-08-10 | 2023-08-10 | Information processing method and device based on multiple nodes, storage medium and electronic device |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117041058A true CN117041058A (en) | 2023-11-10 |
Family
ID=88633115
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311007511.1A Pending CN117041058A (en) | 2023-08-10 | 2023-08-10 | Information processing method and device based on multiple nodes, storage medium and electronic device |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117041058A (en) |
-
2023
- 2023-08-10 CN CN202311007511.1A patent/CN117041058A/en active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3761170B1 (en) | Virtual machine creation method and apparatus | |
JP2022008781A (en) | Decentralized training method, system, device, storage medium and program | |
CN103092670A (en) | Cross-platform virtual computing resource management method under cloud computing environment | |
CN113765957B (en) | Model updating method and device | |
CN115225642B (en) | Elastic load balancing method and system of super fusion system | |
CN108319492B (en) | Method, device and system for resetting physical machine | |
US20060282831A1 (en) | Method and hardware node for customized upgrade control | |
US11500690B2 (en) | Dynamic load balancing in network centric process control systems | |
US6263213B1 (en) | Component-based control structure for wireless communication | |
CN105208111A (en) | Information processing method and physical machine | |
CN114168252A (en) | Information processing system and method, network scheme recommendation component and method | |
CN114443059A (en) | Kubernets cluster deployment method, device and equipment | |
CN116974689A (en) | Cluster container scheduling method, device, equipment and computer readable storage medium | |
CN117041058A (en) | Information processing method and device based on multiple nodes, storage medium and electronic device | |
CN116069447A (en) | Virtual machine NUMA topology generation method, device, equipment and medium | |
CN111221620A (en) | Storage method, storage device and storage medium | |
CN112346390B (en) | Optical module control method, device, equipment and computer readable storage medium | |
CN113810402A (en) | Multi-protocol adaptation method and system for network resource scheduling | |
CN114490015A (en) | Method and device for configuring computing mode and computing equipment | |
CN109257201B (en) | License sending method and device | |
CN114500279B (en) | Plug-in configuration method and device | |
CN105094947A (en) | Method and system for quotas management of virtual computing resource | |
CN104991873B (en) | Equipment management interface under software communications architecture and application Load-unload method | |
CN111083719A (en) | Method, device and storage medium for flexibly adjusting network element capacity | |
CN111404710B (en) | Resource management method, device and equipment |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |