Automatic driving system and function node management method

By introducing client and server architectures into the autonomous driving system, and using configuration files to uniformly manage functional nodes, the complexity and error-prone problems of functional node management are solved, and operation simplification and consistency are achieved.

CN119135703APending Publication Date: 2024-12-13BEIJING MAICHI ZHIXING TECHNOLOGY CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202311033898.8
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2023-08-16
Publication Date
2024-12-13

AI Technical Summary

Technical Problem

In the autonomous driving system, the management operations of functional nodes are cumbersome and prone to errors, and lack a unified management mechanism, resulting in the start and stop of functional nodes being complex and prone to conflict.

Method used

An autonomous driving system is designed, including the client and the server. By configuring the file to manage the operation of the functional node, users can enter instructions on the client, execute and feedback the results on the server, and realize unified management of the functional nodes, including viewing logs, Status, start, stop and restart operations.

Benefits of technology

It simplifies the management operations of functional nodes, improves the intuitiveness and convenience of management, avoids repeated startups and conflicts of functional nodes, and ensures the consistency of each node.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119135703A_ABST
    Figure CN119135703A_ABST
Patent Text Reader

Abstract

The embodiment of the invention discloses an automatic driving system and a function node management method. The system comprises a first client, a first server and at least one first function node, the first client is used for receiving a node management instruction which is input by a user and aims at a target function node, and sending the node management instruction to the first server; the first server is used for receiving a node management instruction from the first client, determining a target function node corresponding to the node management instruction according to the configuration file, executing a node management operation corresponding to the node management instruction on the target function node, and sending an execution result to the first client; the configuration file records description information of each function node of the target vehicle, and the node management operation comprises at least one of the following items: checking a log of the function node, starting the function node, stopping the function node and restarting the function node; and the first client is also used for receiving the execution result sent by the first server and outputting the execution result.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of autonomous driving technology, and in particular to an autonomous driving system and a method for managing functional nodes. Background Art

[0002] Autonomous driving technology is a technology that enables vehicles to drive autonomously without human control. It is based on advanced sensors, computer vision, artificial intelligence and machine learning, which enable vehicles to perceive the surrounding environment, make decisions and perform corresponding actions. Autonomous driving vehicles use a variety of sensors, such as lidar, cameras, radar, industrial computers, global positioning systems, inertial sensors, etc., to obtain information such as roads, obstacles, traffic signs and signals, and convert them into understandable data.

[0003] As more and more sensors are configured in autonomous vehicles, there are more and more functional nodes in the autonomous driving system. Among them, some executable programs or execution scripts in the autonomous driving system are called functional nodes, which are used to implement a specific function on the autonomous driving vehicle, such as reading vehicle chassis status information or reading obstacle data detected by laser radar. In the related art, when managing the functional nodes in the autonomous driving system, the operation is cumbersome and prone to errors. Summary of the invention

[0004] The embodiments of the present application provide an autonomous driving system and a method for managing functional nodes in an autonomous driving system to solve the technical problems that the related technologies have in managing functional nodes in the autonomous driving system, namely, the operations are complicated and prone to errors.

[0005] According to a first aspect of the present application, an autonomous driving system is disclosed. The autonomous driving system is applied to a first electronic device, which is deployed on a target vehicle. The system includes: a first client, a first server, and at least one first function node, each of which corresponds to a function on the target vehicle;

[0006] The first client is used to receive a node management instruction for a target functional node input by a user, and send the node management instruction to the first server;

[0007] The first server is used to receive the node management instruction from the first client, determine the target functional node corresponding to the node management instruction according to the configuration file, perform the node management operation corresponding to the node management instruction on the target functional node, and send the execution result to the first client; the configuration file records the description information of each functional node of the target vehicle, and the node management operation includes at least one of the following: viewing the log of the functional node, viewing the status of the functional node, starting the functional node, stopping the functional node and restarting the functional node;

[0008] The first client is also used to receive the execution result sent by the first server and output the execution result.

[0009] According to a second aspect of the present application, a function node management method is disclosed, which is used to manage function nodes in the autonomous driving system of the first aspect, and the method includes:

[0010] The first client receives a node management instruction for a target functional node input by a user, and sends the node management instruction to the first server;

[0011] The first server receives the node management instruction from the first client, determines the target functional node corresponding to the node management instruction according to the configuration file, performs the node management operation corresponding to the node management instruction on the target functional node, and sends the execution result to the first client; the configuration file records the description information of each functional node of the target vehicle, and the node management operation includes at least one of the following: viewing the log of the functional node, viewing the status of the functional node, starting the functional node, stopping the functional node and restarting the functional node;

[0012] The first client receives the execution result sent by the first server and outputs the execution result.

[0013] According to a third aspect of the present application, an electronic device is disclosed, including a memory, a processor, and a computer program stored in the memory, wherein the processor executes the computer program to implement the functional node management method as in the second aspect.

[0014] According to a fourth aspect of the present application, a computer-readable storage medium is disclosed, on which a computer program / instruction is stored. When the computer program / instruction is executed by a processor, the function node management method in the second aspect is implemented.

[0015] According to a fifth aspect of the present application, a computer program product is disclosed, including a computer program / instruction, which implements the functional node management method in the second aspect when executed by a processor.

[0016] In an embodiment of the present application, the autonomous driving system can provide users with a first client specifically for human-computer interaction and a first server for managing functional nodes. In actual use, the user can input management instructions for any functional node on the first client, and the first client sends the management instructions to the first server. The first server executes the node management operation corresponding to the node management instruction on the functional node selected by the user, and sends the execution result to the first client, and the first client feeds back the execution result to the user. Through the mutual cooperation between the first client and the first server, the management of functional nodes in the autonomous driving system is realized, and the operation is relatively simple, intuitive, convenient and not prone to errors. BRIEF DESCRIPTION OF THE DRAWINGS

[0017] Figure 1 is an example diagram of an autonomous driving scenario provided by an embodiment of the present application;

[0018] Figure 2 is a structural diagram of an automatic driving system provided in an embodiment of the present application;

[0019] Figure 3 is a flow chart of a function node management method provided by an embodiment of the present application;

[0020] Figure 4 is a flowchart of the processing process of the first client provided in an embodiment of the present application;

[0021] Figure 5 This is a functional example diagram of the first server provided in an embodiment of the present application;

[0022] Figure 6 This is a flow chart of the first server managing logs provided in an embodiment of the present application;

[0023] Figure 7 This is a flow chart of the first server managing a process provided by an embodiment of the present application;

[0024] Figure 8 This is an example diagram of communication between servers provided in an embodiment of the present application;

[0025] Fig. 9 This is a flow chart of the first server managing the functional node provided in the embodiment of the present application;

[0026] Fig.10 This is an example diagram of an application scenario of the function node management method provided in an embodiment of the present application;

[0027] Fig.11 It is a structural block diagram of an electronic device provided in an embodiment of the present application. DETAILED DESCRIPTION

[0028] In order to make the above-mentioned objects, features and advantages of the present application more obvious and easy to understand, the present application is further described in detail below in conjunction with the accompanying drawings and specific implementation methods.

[0029] It should be noted that, for the method embodiments, for the sake of simplicity, they are all expressed as a series of action combinations, but those skilled in the art should be aware that the embodiments of the present application are not limited by the described order of actions, because according to the embodiments of the present application, certain steps can be performed in other orders or simultaneously. Secondly, those skilled in the art should also be aware that the embodiments described in the specification are all preferred embodiments, and the actions involved are not necessarily required by the embodiments of the present application.

[0030] In recent years, research on computer vision, deep learning, machine learning, image processing, image recognition and other technologies based on artificial intelligence has made important progress. Artificial Intelligence (AI) is an emerging science and technology that studies and develops theories, methods, technologies and application systems for simulating and extending human intelligence. Artificial intelligence is a comprehensive discipline involving many types of technologies such as chips, big data, cloud computing, the Internet of Things, distributed storage, deep learning, machine learning, neural networks, etc. Computer vision, as an important branch of artificial intelligence, specifically allows machines to recognize the world. Computer vision technology usually includes face recognition, liveness detection, fingerprint recognition and anti-counterfeiting verification, biometric recognition, face detection, pedestrian detection, target detection, pedestrian recognition, image processing, image recognition, image semantic understanding, image retrieval, text recognition, video processing, video content recognition, behavior recognition, 3D reconstruction, virtual reality, augmented reality, simultaneous positioning and map construction, computational photography, robot navigation and positioning and other technologies. With the research and advancement of artificial intelligence technology, this technology has been applied in many fields, such as security, urban management, traffic management, building management, park management, facial access, facial attendance, logistics management, warehouse management, robots, intelligent marketing, computational photography, mobile phone imaging, cloud services, smart homes, wearable devices, unmanned driving, automatic driving, smart medical care, facial payment, facial unlocking, fingerprint unlocking, identity verification, smart screens, smart TVs, cameras, mobile Internet, live streaming, beauty, makeup, medical beauty, and smart temperature measurement.

[0031] The embodiments of the present application provide an autonomous driving system and a method for managing functional nodes.

[0032] To facilitate understanding, the application scenarios of the embodiments of the present application and some concepts involved are first introduced below.

[0033] 1. Application Scenarios

[0034] In the scenario of autonomous driving, a car usually deploys multiple electronic devices, such as Figure 1 As shown, three electronic devices are deployed on the vehicle 10, namely electronic device 11, electronic device 12 and electronic device 13. An automatic driving system is deployed on each electronic device (rather than all electronic devices sharing one automatic driving system). In actual applications, the electronic device can be a computer device.

[0035] In the related art, the autonomous driving system of each electronic device includes at least one functional node, that is, there are only functional nodes in the architecture of the existing autonomous driving system, and there is no such architecture as client and server. Since there is no role such as an administrator to manage these started functional nodes, the operator can only manually input relevant commands to start the operation, which easily leads to repeated or conflicting operations of the functional nodes; and since the current operations on the functional nodes are all based on the local device, cross-device operations cannot be performed. Therefore, if you want to operate another electronic device on the same vehicle, you need to log in through remote login, which requires memorizing the list configuration information of these devices and entering a large number of command line parameters, which is not conducive to the rapid startup of the functional nodes and the related operations of the operators; and since the operators of each functional node are inconsistent, their related startup methods are also different. When the same person starts multiple functional nodes, he needs to understand the startup method of each functional node, which increases the workload of the operator, and when the startup command is entered incorrectly but the functional node runs normally, the operator is not clear about this situation. It can be seen that in the related art, when managing the functional nodes in the autonomous driving system, the operation is cumbersome and error-prone.

[0036] In the embodiment of the present application, the autonomous driving system on each electronic device includes three parts: a server, a client, and a functional node. Different electronic devices on the same vehicle communicate with each other through the server in the autonomous driving system. Users can control the server to manage nodes through the client of the autonomous driving system on an electronic device, or access or control the server of other electronic devices on the vehicle where the electronic device is located through the client to manage nodes.

[0037] It should be noted that the technical solution of the embodiment of the present application is mainly applied between different electronic devices on the same vehicle, rather than between electronic devices in different vehicles.

[0038] 2. Concept

[0039] Functional nodes: Some executable programs or execution scripts in the autonomous driving system are called functional nodes, which are used to implement a specific function on the autonomous driving vehicle, such as reading the vehicle chassis status information, or reading the obstacle data detected by the lidar.

[0040] Remote: The definition of remote is limited to a vehicle. For example, a vehicle is deployed with three electronic devices, namely electronic device a, electronic device b and electronic device c. Electronic device a is equivalent to electronic device b, which is a remote relationship.

[0041] Next, an automatic driving system provided in an embodiment of the present application is introduced with reference to the accompanying drawings.

[0042] Figure 2 is a structural diagram of an automatic driving system provided in an embodiment of the present application. The automatic driving system is applied to a first electronic device, and the first electronic device is deployed on a target vehicle, such as Figure 2 As shown, the automatic driving system 200 may include: a first client 201, a first server 202 and at least one first function node 203, each first function node corresponding to a function on the target vehicle;

[0043] The first client 201 is used to receive a node management instruction for a target functional node input by a user, and send the node management instruction to the first server 202;

[0044] The first server 202 is used to receive the node management instruction from the first client, determine the target functional node corresponding to the node management instruction according to the configuration file, perform the node management operation corresponding to the node management instruction on the target functional node, and send the execution result to the first client 201; wherein the configuration file records the description information of each functional node of the target vehicle, and the node management operation includes at least one of the following: viewing the log of the functional node, viewing the status of the functional node, starting the functional node, stopping the functional node and restarting the functional node;

[0045] The first client 201 is further configured to receive the execution result sent by the first server 202 and output the execution result.

[0046] In an embodiment of the present application, when the node management operation corresponding to the node management instruction is to view the log of the functional node, the execution result is the log information of the target functional node; when the node management operation corresponding to the node management instruction is to view the status of the functional node, the execution result is the status information of the target functional node; when the node management operation corresponding to the node management instruction is to start the functional node, the execution result is the startup result information of the target functional node; when the node management operation corresponding to the node management instruction is to stop the functional node, the execution result is the stop result information of the target functional node; when the node management operation corresponding to the node management instruction is to restart the functional node, the execution result is the restart result information of the target functional node.

[0047] In the embodiment of the present application, the first function node corresponds to the first electronic device, each first function node corresponds to a function on the target vehicle, and different first function nodes correspond to different functions on the target vehicle.

[0048] In the embodiment of the present application, the client receives the instruction information for the function node from the operator and sends it to the local server, processes the return result of the local server and prints it.

[0049] In an embodiment of the present application, the server can receive instructions from the local client and return the operation results to the client. The server in the autonomous driving system of different electronic devices on the same vehicle can communicate with each other through the Remote Procedure Call Protocol, which is a protocol that requests services from a remote computer through a network without requiring understanding of the underlying network technology.

[0050] In the embodiment of the present application, the development language of the client can be Golang, and the Hypertext Transfer Protocol can be used for communication with the server; the server mainly implements the main functions of communicating with the local client, communicating with the server of other electronic devices and functional node management, wherein the development language can also be Golang, and the communication method can be the Hypertext Transfer Protocol.

[0051] In the embodiment of the present application, the client can exist on the electronic device platform in the form of a binary executable program. For example, the client currently releases a Linux version, and can currently generate corresponding versions of binary programs for the x86 architecture and the ARM architecture respectively.

[0052] In the embodiment of the present application, the server may also exist on the electronic device platform in the form of a binary executable program. For example, the client currently releases a Linux version, and corresponding versions of binary programs can be generated for the x86 architecture and the ARM architecture respectively.

[0053] In the embodiment of the present application, the configuration file records the relevant configuration of each functional node, such as the name of the functional node, the startup method of the functional node, the configuration list of the device where the functional node is located, and other information. A copy of the configuration file is copied in the autonomous driving system of all electronic devices on the same vehicle, and the server and client can be quickly deployed to different electronic devices using the configuration file. In other words, for the same vehicle, the configuration files on each electronic device are the same, and all electronic devices share the configuration files. There is a unified standard for communication between servers, and communication is carried out on this standard, so that the exchanged data is credible.

[0054] Compared with the related art, in which the startup commands of each functional node are different and the startup commands need to input quite long parameters, in the embodiment of the present application, an alias is established for each functional node to facilitate the operation of the operator. In addition, all the current functional nodes are managed by the server, and each server will share the status of the local node. Therefore, the status of each node is clear at all times, which can avoid the problem of starting the same node multiple times and the existence of conflicting nodes at the same time.

[0055] It can be seen from the above embodiments that in this embodiment, the autonomous driving system can provide users with a first client specifically used for human-computer interaction and a first server for managing functional nodes. In actual use, the user can input management instructions for any functional node on the first client, and the first client sends the management instructions to the first server. The first server executes the node management operation corresponding to the node management instruction on the functional node selected by the user, and sends the execution result to the first client. The first client feeds back the execution result to the user. Through the mutual cooperation between the first client and the first server, the management of functional nodes in the autonomous driving system is realized, and the operation is relatively simple, intuitive, convenient and not prone to errors.

[0056] Figure 3 is a flowchart of a function node management method provided by an embodiment of the present application, Figure 2 The functional nodes in the autonomous driving system are managed as shown in FIG. Figure 3 As shown, the method may include the following steps: step 301, step 302, step 303, step 304, step 305 and step 306; wherein step 301, step 302 and step 306 are executed by a first client in the autonomous driving system, and step 303, step 304 and step 305 are executed by a first server in the autonomous driving system;

[0057] In step 301, a first client receives a node management instruction for a target functional node input by a user.

[0058] In the embodiment of the present application, the target functional node may be the first functional node in the autonomous driving system where the first client is located, or may be other functional nodes in other autonomous driving systems.

[0059] In step 302, the first client sends a node management instruction to the first server.

[0060] In step 303, the first server receives the node management instruction from the first client, and determines the target functional node corresponding to the node management instruction according to the configuration file; wherein the configuration file records the description information of each functional node of the target vehicle.

[0061] In step 304, the first server performs a node management operation corresponding to the node management instruction on the target functional node; wherein the node management operation includes at least one of the following: viewing the log of the functional node, viewing the status of the functional node, starting the functional node, stopping the functional node and restarting the functional node.

[0062] In step 305, the first server sends the execution result to the first client.

[0063] In step 306, the first client receives the execution result sent by the first server and outputs the execution result.

[0064] It can be seen that in the embodiment of the present application, the autonomous driving system can provide users with a first client specifically for human-computer interaction and a first server for managing functional nodes. In actual use, the user can input management instructions for any functional node on the first client, and the first client sends the management instructions to the first server. The first server executes the node management operation corresponding to the node management instruction on the functional node selected by the user, and sends the execution result to the first client, and the first client feeds back the execution result to the user. Through the mutual cooperation between the first client and the first server, the management of the functional nodes in the autonomous driving system is realized, and the operation is relatively simple, intuitive, convenient and not prone to errors.

[0065] In some other embodiments provided in the present application, the first client may be configured to determine whether the node management instruction is a legal instruction based on a configuration file, and send the node management instruction to the first server if the node management instruction is a legal instruction.

[0066] In an embodiment of the present application, the first client is used to exit when it is determined that the node management instruction is an illegal instruction according to the configuration file.

[0067] In an embodiment of the present application, the client can parse the instructions input by the user according to the configuration file to judge the legality of the input information, thereby improving the safety of the autonomous driving system.

[0068] In some other embodiments provided in the present application, the first client can be used to detect whether an execution result is received from the first server after sending the node management instruction to the first server, and exit if no execution result is received within the second time period; if the execution result is received within the second time period, output the execution result.

[0069] In an embodiment of the present application, the first client is also used to output exit reason information when no execution result is received within the second time period, so that the developer can intuitively understand the exit reason.

[0070] In an embodiment of the present application, the client can periodically detect whether it has received the content returned by the local server, avoiding long periods of ineffective waiting, thereby improving the working efficiency of the autonomous driving system.

[0071] Figure 4 is a flowchart of the processing process of the first client provided in an embodiment of the present application, such as Figure 4 As shown, the first client may perform the following steps: step 401, step 402 and step 403;

[0072] In step 401, a node management instruction for a target functional node input by a user is received.

[0073] In step 402, it is determined whether the node management instruction is a legal instruction according to the configuration file, and if the node management instruction is a legal instruction, the node management instruction is sent to the first server.

[0074] In step 403, after sending the node management instruction to the first server, check whether the execution result from the first server is received. If the execution result is not received within the second time period, exit and output the exit reason information; if the execution result is received within the second time period, output the execution result.

[0075] To facilitate understanding, an example is given from the user's perspective.

[0076] In one example, the client program is first placed in the environment variable of the operating system so that the user can conveniently use the binary program. Under any working path, turn on the electronic device, execute the client program, and enter the corresponding parameters based on the command line form, wherein the client program is similar to the software interface of windows, and the user can operate on the software interface. For example, enter the deva start radar command, wherein deva is the name of the client program file, and start radar is the parameter entered by the user, indicating the start of the node named radar. Some parameters can be automatically completed using the tab key, such as entering deva and then using the tab key, and the command line will automatically prompt the relevant parameters that may be entered immediately.

[0077] After the user enters the parameters in the command line, the client program is executed. The client will first obtain the contents of the configuration file, which records the node-related configurations, such as the node name, startup method, and configuration list of the machine where the node is located. The client program will compare the parameters entered by the user with the configuration file. If the user input parameters do not match the contents of the configuration file, the operation will be judged as illegal and the client program will be exited, printing the cause of the error.

[0078] After the client program determines that the user input parameters are legal, it converts these parameters into a pre-defined format and then sends them to the server on the same device via the Hypertext Transfer Protocol. The server will receive and process the data from the client program and return the processing results.

[0079] The client program will continue to wait for the processing result from the server. If the processing result is not received within a certain period of time (for example, 10 seconds), it will be considered that the operation has timed out, and the client program will be exited, and the exit reason will be printed. If the processing result is received within the specified time, the processing result will be printed in the specified format.

[0080] It can be seen that in the embodiment of the present application, the client can parse the instructions input by the user to judge the legality of the input information, and periodically detect whether the content returned by the local server is received, thereby improving the safety and work efficiency of the autonomous driving system.

[0081] Figure 5 is a functional example diagram of the first server provided in the embodiment of the present application, such as Figure 5 As shown, the first server may include the following functions: log management, process management and node management.

[0082] The log management refers to managing at least one of the following: logs generated when the first server itself is running, and logs generated when the first function node is running.

[0083] Process management means that a first function node corresponds to one or more processes, and the processes started by the first server need to be managed. Process management implements the following functions: applying for a block of memory specifically for storing the configuration list of all currently started processes.

[0084] Node management mainly implements the following two functions: the parameters input by the user from the first client are used to manage the functional nodes, and the first server receives these instructions from the first client and executes them, and operates and manages the functional nodes involved in the instructions; the first server can not only manage the local first functional node, but also communicate with the server of other devices, and transmit the functional nodes that need to be operated to the server on other devices to indirectly realize the local operation of the functional nodes on other devices.

[0085] Correspondingly, for log management, the first server is also used to manage log information generated when the first server is running and / or log information generated when the first function node is running.

[0086] Optionally, the first server can be used to perform at least one of the following log information management operations:

[0087] Recording log information generated when the first server is running and / or log information generated when the first function node is running into a log file, and naming the log file to facilitate management of the log file;

[0088] Clean up log files whose storage duration is longer than the first duration to save storage space;

[0089] Compress the log files generated every day to save storage space;

[0090] A log file whose file size is greater than a first threshold is split into multiple log files to facilitate reading of the log files.

[0091] Optionally, the first server is specifically used to name the log file corresponding to the log information of the first server according to the server name and the server startup time, and to name the log file corresponding to the log information of the first functional node according to the node name and the node startup time. Naming the log file by startup time and name is more intuitive.

[0092] For example, for function node a, each time it starts, it will record the time it started, and use this time as the date in the naming. If this function node starts again within a day, another log file will be created and named as the second startup time + node name, and continue to be stored. The naming of the log file on the first server is similar to that of the function node.

[0093] Correspondingly, for process management, the first server is also used to manage processes corresponding to the first functional nodes, and each first functional node corresponds to one or more processes.

[0094] Optionally, the first server may be configured to allocate a target memory space for a process corresponding to the first functional node, detect a status of each process, and update status information of a process whose status has changed to the target memory space.

[0095] In the embodiments of the present application, when electronic devices store data, there are mainly two types of storage. The first type, such as configuration files and log files, are stored on the disk of the device; the second type is that each electronic device will have a memory area, and the server may manage many functional nodes, and it will put these node information directly into the memory. Although the data will disappear when the power is off, it is suitable for frequent reading and writing of closed files.

[0096] It can be seen that in the embodiment of the present application, the server can uniformly manage the logs, processes and functional nodes in the autonomous driving system, thereby avoiding the problem of operating errors of the autonomous driving system.

[0097] Figure 6 This is a flow chart of the first server managing logs provided in the embodiment of the present application, such as Figure 6 As shown, it is executed by the first server and may include the following steps: step 601, step 602, step 603, step 604 and step 605;

[0098] In step 601, after the first server is started, the log file path of the first function node managed by the first server and its own log file path are obtained.

[0099] In step 602, the generated log file is compressed.

[0100] In the embodiment of the present application, the log file is compressed to reduce disk usage, wherein the compression format can be selected by the user, for example, the compression format is tar.gz.

[0101] In the embodiment of the present application, the interval for performing log file compression can also be set.

[0102] In step 603, the relevant format of the output log is set, and the log is output to a specified file.

[0103] For example, set the log prefix to the current time, the format to year / month / day / hour / minute / second, and set the output to the log.log file.

[0104] In step 604, all expired logs are deleted.

[0105] In the embodiment of the present application, it can be set that the logs older than a certain number of days will be deleted, for example, the logs older than seven days will be cleared.

[0106] In step 606, the log of the first function node and the log of the first server are recorded.

[0107] Figure 7 is a flowchart of the first server managing the process provided by the embodiment of the present application, such as Figure 7 As shown, the first server may perform the following steps: step 701, step 702 and step 703;

[0108] In step 701, after the first server is started, it is checked whether the previously created shared memory file exists. If not, it is created and then read. If it exists, it is directly opened.

[0109] For example, shared memory files are generally created on / dev / shm / deva_starter_s.

[0110] In step 702, process information of each first function node managed by the first server is stored in a shared memory file.

[0111] In an embodiment of the present application, the process information may include at least one of the following: process identification, process name, configuration information of the function node corresponding to the process, process status, log file path of the process, etc.

[0112] In step 703, each time a change in the process state is detected, the process information in the shared memory file is updated.

[0113] In the embodiment of the present application, the process state change may include at least one of the following: process creation, process stop running, process state location, etc.

[0114] In some other embodiments provided in the present application, the first server is also used to communicate with a second server in the autonomous driving system of the second electronic device; the second electronic device is also deployed on the target vehicle; the autonomous driving system of the second electronic device includes: a second client, a second server and at least one second functional node, each second functional node corresponding to a function on the target vehicle; the first functional node of the autonomous driving system of the first electronic device is different from the second functional node of the autonomous driving system of the second electronic device.

[0115] In the embodiment of the present application, the second function node corresponds to the second electronic device, each second function node corresponds to a function on the target vehicle, and different second function nodes correspond to different functions on the target vehicle.

[0116] In the embodiment of the present application, each first functional node of the automatic driving system of the first electronic device is completely different from each second functional node of the automatic driving system of the second electronic device. For example, the automatic driving system of the first electronic device includes: functional node 1, functional node 2 and functional node 3; the automatic driving system of the second electronic device includes: functional node 4, functional node 5 and functional node 6.

[0117] In the embodiment of the present application, the local server can also remotely communicate with the server in the automatic driving system of other electronic devices in the same vehicle.

[0118] In an example, Figure 8 As shown, the first electronic device and the second electronic device are both deployed on the target vehicle, and the first server in the automatic driving system of the first electronic device can communicate with the second server in the automatic driving system of the second electronic device.

[0119] In some other embodiments provided in the present application, the target functional node is a second functional node in an autonomous driving system of a second electronic device; the first electronic device and the second electronic device share a configuration file; the first server can be used to send a node management instruction to the second server according to the configuration file, and receive a corresponding execution result returned by the second server; wherein the second server instructs the target functional node to execute a node management operation corresponding to the node management instruction.

[0120] In an embodiment of the present application, since all electronic devices on the same vehicle share a configuration file, the first server can determine the target functional node corresponding to the node management instruction and the second electronic device where the target functional node is located based on the configuration file, and then send the node management instruction to the second server corresponding to the second electronic device.

[0121] It can be seen that in the embodiment of the present application, the operator no longer needs to connect to the remote device to operate the function node, and can directly operate the remote node locally. The corresponding operation command will be transmitted to the server of the device where the function node is located through the local server to operate the function node on the remote device. In addition, the log generated by the function node of the remote device can also be transmitted to the current device through the server, making the operation of the remote node as convenient, intuitive and convenient as the operation of the local node.

[0122] In some other embodiments provided in the present application, the first server can be used to determine whether the node management instruction is a legal instruction based on the configuration file, and determine the target functional node corresponding to the node management instruction if the node management instruction is a legal instruction.

[0123] It can be seen that in the embodiment of the present application, the server can parse the instructions input by the user according to the configuration file to perform a secondary verification of the legality of the input information, thereby improving the safety of the autonomous driving system.

[0124] Fig. 9 is a flow chart of the first server end managing the function node provided in the embodiment of the present application. In the embodiment of the present application, the remote log access management is mainly implemented by the server end of different devices on the same vehicle. Accordingly, Fig. 9 As shown, the first server may perform the following steps: step 901, step 902, step 903 and step 904;

[0125] In step 901, a node management instruction is received from a first client, and whether the node management instruction is a legal instruction is determined according to a configuration file, and if the node management instruction is a legal instruction, a target functional node corresponding to the node management instruction is determined.

[0126] In step 902, when it is determined that the target functional node is the first functional node in the automatic driving system of the first electronic device, the target functional node is directly instructed to execute the node management operation corresponding to the node management instruction.

[0127] In step 903, when it is determined that the target functional node is the second functional node in the automatic driving system of the second electronic device, a node management instruction is sent to the second server, and the second server instructs the target functional node to execute the node management operation corresponding to the node management instruction, and receives the execution result returned by the second server.

[0128] In step 904, the execution result is sent to the first client.

[0129] In an example, a user inputs parameters through client A, for example, if he wants to view the log of a target function node, server A on the device where client A is located obtains device information of the target function node according to a configuration file, and sends a request to server B on the device where the target function node is located through a communication protocol. Server B sends the log of the target function node to server A, and server A returns the log of the target function node to client A, and client A continuously prints the log of the target function node on the screen.

[0130] Fig.10 is an example diagram of an application scenario of the function node management method provided in an embodiment of the present application, such as Fig.10 As shown, the first electronic device and the second electronic device are both deployed on the target vehicle, and the automatic driving system of the first electronic device includes: a first client, a first server, functional nodes 1, 2, and 3. The automatic driving system of the second electronic device includes: a second client, a second server, functional nodes 4, 5, and 6. The first client is used to receive instructions input by the user and send the instructions to the first server. The first server can perform node management, log management, and process management on functional nodes 1 to 3 by parsing the configuration file, and can also communicate remotely with the second server, so that functional nodes 4 to 6 can be remotely managed.

[0131] Any step in the embodiment of the function node management method provided in this application and the specific operation in any step can be completed by the corresponding module in the autonomous driving system. The process of the corresponding operation completed by each module in the autonomous driving system refers to the process of the corresponding operation described in the embodiment of the function node management method.

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

[0133] Fig.11 1 is a block diagram of an electronic device provided by an embodiment of the present application, the electronic device includes a processing component 1122, which further includes one or more processors, and a memory resource represented by a memory 1132, for storing instructions executable by the processing component 1122, such as an application. The application stored in the memory 1132 may include one or more modules, each corresponding to a set of instructions. In addition, the processing component 1122 is configured to execute instructions to perform the above method.

[0134] The electronic device may also include a power supply component 1126 configured to perform power management of the electronic device, a wired or wireless network interface 1150 configured to connect the electronic device to a network, and an input / output (I / O) interface 1158. The electronic device may operate based on an operating system stored in the memory 1132, such as Windows Server™, MacOS X™, Unix™, Linux™, FreeBSD™ or the like.

[0135] According to another embodiment of the present application, the present application further provides a computer-readable storage medium having a computer program / instruction stored thereon, which, when executed by a processor, implements the steps in the functional node management method as described in any of the above embodiments.

[0136] According to another embodiment of the present application, the present application further provides a computer program product, including a computer program / instruction, which, when executed by a processor, implements the steps in the functional node management method described in any of the above embodiments.

[0137] The various embodiments in this specification are described in a progressive manner, and each embodiment focuses on the differences from other embodiments. The same or similar parts between the various embodiments can be referenced to each other.

[0138] Those skilled in the art will appreciate that the embodiments of the present application can be provided as methods, devices, or computer program products. Therefore, the present application can adopt the form of a complete hardware embodiment, a complete software embodiment, or an embodiment in combination with software and hardware. Moreover, the present application can adopt the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.

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

[0140] These computer program instructions may also be stored in a computer-readable memory capable of directing a computer or other programmable data processing terminal device to operate in a specific manner, so that the instructions stored in the computer-readable memory produce a manufactured product including an instruction device, which implements the process Figure 1 A process or multiple processes and / or boxes Figure 1 A function specified in one or more boxes.

[0141] Although the preferred embodiments of the present application have been described, those skilled in the art may make additional changes and modifications to these embodiments once they have learned the basic creative concept. Therefore, the appended claims are intended to be interpreted as including the preferred embodiments and all changes and modifications that fall within the scope of the embodiments of the present application.

[0142] Finally, it should be noted that, in this article, relational terms such as first and second, etc. are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Moreover, the terms "include", "comprise" or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, article or terminal device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or terminal device. In the absence of further restrictions, the elements defined by the sentence "comprise a ..." do not exclude the existence of other identical elements in the process, method, article or terminal device including the elements.

[0143] The above is a detailed introduction to an autonomous driving system and a functional node management method provided by the present application. The principles and implementation methods of the present application are explained in this article using specific examples. The description of the above embodiments is only used to help understand the method of the present application and its core idea; at the same time, for general technical personnel in this field, according to the idea of ​​the present application, there will be changes in the specific implementation method and application scope. In summary, the content of this specification should not be understood as a limitation on the present application.

Claims

1. An automatic driving system, wherein the automatic driving system is applied to a first electronic device, wherein the first electronic device is deployed on a target vehicle, wherein: The system comprises: a first client, a first server and at least one first function node, each first function node corresponding to a function on the target vehicle; The first client is used to receive a node management instruction for a target functional node input by a user, and send the node management instruction to the first server; The first server is used to receive the node management instruction from the first client, determine the target functional node corresponding to the node management instruction according to the configuration file, perform the node management operation corresponding to the node management instruction on the target functional node, and send the execution result to the first client; the configuration file records the description information of each functional node of the target vehicle, and the node management operation includes at least one of the following: viewing the log of the functional node, viewing the status of the functional node, starting the functional node, stopping the functional node and restarting the functional node; The first client is also used to receive the execution result sent by the first server and output the execution result.

2. The system according to claim 1, characterized in that The first server is also used to manage log information generated when the first server is running and / or log information generated when the first function node is running.

3. The system according to claim 2, characterized in that The first server is specifically configured to perform at least one of the following log information management operations: Recording log information generated when the first server is running and / or log information generated when the first function node is running into a log file, and naming the log file; Clean up log files whose storage duration is longer than the first duration; Compress the log files generated every day; A log file whose file size is greater than a first threshold is split into multiple log files.

4. The method according to claim 3, characterized in that The first server is specifically used to name the log file corresponding to the log information of the first server according to the server name and the server startup time, and to name the log file corresponding to the log information of the first functional node according to the node name and the node startup time.

5. The system according to claim 1, characterized in that The first server is further used to manage processes corresponding to the first function nodes, each first function node corresponding to one or more processes; The first server is specifically used to allocate a target memory space for the process corresponding to the first functional node, detect the status of each process, and update the status information of the process whose status has changed to the target memory space.

6. The system according to claim 1, characterized in that The first server is also used to communicate with a second server in the automatic driving system of the second electronic device; The second electronic device is also deployed on the target vehicle; The automatic driving system of the second electronic device comprises: a second client, the second server and at least one second function node, each second function node corresponding to a function on the target vehicle; The first functional node of the autonomous driving system of the first electronic device is different from the second functional node of the autonomous driving system of the second electronic device.

7. The system according to claim 6, characterized in that The target functional node is a second functional node in the autonomous driving system of the second electronic device; the first electronic device and the second electronic device share the configuration file; The first server is specifically used to send the node management instruction to the second server according to the configuration file, and receive the corresponding execution result returned by the second server; wherein the second server instructs the target functional node to execute the node management operation corresponding to the node management instruction.

8. The system according to claim 1, characterized in that The first server is specifically configured to determine whether the node management instruction is a legal instruction according to the configuration file, and determine a target functional node corresponding to the node management instruction if the node management instruction is a legal instruction; Alternatively, the first client is specifically configured to determine whether the node management instruction is a legal instruction according to the configuration file, and send the node management instruction to the first server if the node management instruction is a legal instruction.

9. The system according to claim 1, characterized in that The first client is specifically used to detect whether an execution result is received from the first server after sending the node management instruction to the first server, and exit if no execution result is received within a second time period; if an execution result is received within the second time period, output the execution result.

10. A method for managing function nodes in an automatic driving system according to any one of claims 1 to 9, characterized in that: The method comprises: The first client receives a node management instruction for a target functional node input by a user, and sends the node management instruction to the first server; The first server receives the node management instruction from the first client, determines the target functional node corresponding to the node management instruction according to the configuration file, performs the node management operation corresponding to the node management instruction on the target functional node, and sends the execution result to the first client; the configuration file records the description information of each functional node of the target vehicle, and the node management operation includes at least one of the following: viewing the log of the functional node, viewing the status of the functional node, starting the functional node, stopping the functional node and restarting the functional node; The first client receives the execution result sent by the first server and outputs the execution result.