Graphical development processing method and device for automatic driving application, electronic equipment, storage medium and program product
Through graphical development processing methods, the framework configuration tools and business systems are integrated, the problem of low development efficiency of desktop applications on the autonomous driving web is solved, and the rapid creation and efficient debugging of autonomous driving projects are realized, and the development efficiency is improved.
Patent Information
- Application Number
- CN202411377554.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-09-29
- Publication Date
- 2025-01-07
AI Technical Summary
In the existing technology, the development efficiency of the self-driving web-end desktop application is low, and there is a lack of engineering creation and debugging solutions for the self-driving web-end desktop application. The user's customization freedom is low and the development is difficult. Existing frameworks such as Qt and Electron Customization and expansion of autonomous driving applications are not supported.
Provide a graphical development processing method, which generates engineering examples in response to drag and drop operations through a preset graphical interface, connects to the debugging server for debugging processing, and deploys the target example to the vehicle terminal through a packaged publishing tool to display the operating data of the vehicle terminal. , integrates framework configuration tools and business systems, unifies the life cycle of plug-ins and frameworks, reduces the developer's learning curve, and improves development efficiency.
It realizes the rapid creation and efficient debugging of autonomous driving projects, reduces the difficulty of users, is suitable for a variety of application scenarios, solves the problem of function expansion, and improves the development efficiency of desktop applications on the web.
Smart Images

Figure CN119271196A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of autonomous driving technology, and in particular to a graphical development and processing method, device, electronic device, storage medium and program product for autonomous driving applications. Background Art
[0002] Currently, Qt and Electron are two commonly used cross-platform application development frameworks, both of which are widely used to create desktop applications. Qt provides a rich library of basic functions and tools for developing graphical user interfaces (GUIs), network applications, database connections, etc. Electron is an open source framework based on Chromium and Node.js. Developers can use familiar Web technologies to build applications that support cross-platform and can run on Windows, Mac, and Linux.
[0003] In the prior art, both of the above two frameworks provide rich language-level application development support, but basically do not involve support for autonomous driving applications based on universality considerations. Some third-party manufacturers also mainly customize client software based on the AUTOSAR standard industry, and customers can only develop according to a set of standardized processes designed by the manufacturer. Moreover, software manufacturers basically focus on the development of related applications on the vehicle side, that is, the domain control, and the functions and processes of the developed and debugged software are fixed. Due to the insufficient openness of the interface, the user's customization freedom is very low. It is difficult and the threshold is high for users to customize and open a set of autonomous driving applications and debugging tools according to their own business flows. The business support for autonomous driving web-side desktop applications is insufficient, resulting in low development efficiency of autonomous driving web-side desktop applications. Therefore, there is currently no solution for the creation and debugging of autonomous driving web-side desktop application projects. Summary of the invention
[0004] The embodiments of the present application provide a graphical development and processing method, device, electronic device, storage medium and program product for an autonomous driving application, so as to achieve the effect of improving the development efficiency of web-based desktop applications in the field of autonomous driving.
[0005] In a first aspect, an embodiment of the present application provides a graphical development processing method for an autonomous driving application, including:
[0006] In response to the drag operation, on a preset graphical interface, instantiate the project template indicated by the drag operation through a preset project creation tool to generate a project instance; and display the project instance in an editing area of the graphical interface;
[0007] In response to the connection request, connect to the debugging server in the connection request; and based on the debugging server, in response to the debugging request, debug the project instance through a preset debugging running tool to obtain a target instance;
[0008] The target example is packaged and published to the vehicle terminal through a preset packaging and publishing tool; wherein the packaged and published target example is used to generate and deploy the autonomous driving application on the vehicle terminal;
[0009] On the graphical interface, the operating data of the vehicle terminal is acquired and displayed through the autonomous driving application.
[0010] In a possible implementation, in response to the drag operation on the preset graphical interface, instantiating the project template indicated by the drag operation by a preset project creation tool to generate a project instance includes:
[0011] In response to the drag operation, on a preset graphical interface, the project template indicated by the drag operation is parsed by a preset project creation tool to obtain the format of the project template;
[0012] Determining a target creation plug-in corresponding to the format of the project template among a plurality of creation plug-ins included in the project creation tool;
[0013] The target creation plug-in is called to instantiate the project template to generate a project instance.
[0014] In a possible implementation, before calling the target creation plug-in to instantiate the project template to generate a project instance, the method further includes:
[0015] Loading the verification function of the target creation plug-in, and obtaining preset signature information according to the verification function; wherein the signature information includes a signature algorithm, signature data, and a signature interface;
[0016] Get and return the self-signed content of the target creation plug-in;
[0017] Verifying the self-signed content according to the signature algorithm, the signature data and the signature interface;
[0018] If it is determined that the self-signed content is correct, then it is determined that the self-signed content of the target creation plug-in is in a safe state.
[0019] In a possible implementation, the debugging server, in response to a debugging request, performs debugging processing on the project instance through a preset debugging operation tool to obtain a target instance, including:
[0020] In response to the start request, start the debugging server;
[0021] Based on the debugging server, in response to the debugging request, the debugging plug-in in the preset debugging and running tool is called, and the debugging plug-in is used to debug the project instance to obtain the target instance.
[0022] In a possible implementation, the step of packaging and publishing the target example to the vehicle terminal using a preset packaging and publishing tool includes:
[0023] Obtaining a package publishing request; wherein the package publishing request includes a compressed format;
[0024] A compression algorithm corresponding to the compression format is called, and the target example is packaged and published to a vehicle terminal through a preset packaging and publishing tool, the compression format, and the compression algorithm.
[0025] In a possible implementation, the creation plug-in, the debugging plug-in, and the packaging plug-in are all generated according to a preset configuration file; the configuration file includes configuration information of the creation plug-in, configuration information of the debugging plug-in, and configuration information of the packaging plug-in; the method further includes:
[0026] In response to a configuration request for a configuration file, any configuration information in the configuration file is configured to obtain configured configuration information.
[0027] In a second aspect, an embodiment of the present application provides a graphical development processing device for an autonomous driving application, including:
[0028] A first generating module is used to instantiate the project template indicated by the dragging operation on a preset graphical interface in response to the dragging operation through a preset project creation tool to generate a project instance;
[0029] A display module, used for displaying the engineering example in the editing area of the graphical interface;
[0030] A connection module, configured to connect to a debugging server in the connection request in response to the connection request;
[0031] A second generating module is used to debug the project instance based on the debugging server and in response to the debugging request through a preset debugging running tool to obtain a target instance;
[0032] A third generation module is used to package and publish the target example to the vehicle terminal through a preset packaging and publishing tool; wherein the packaged and published target example is used to generate and deploy the autonomous driving application on the vehicle terminal;
[0033] A display module is used to obtain and display the operating data of the vehicle terminal through the autonomous driving application on the graphical interface.
[0034] In a possible implementation manner, the first generating module is specifically configured to:
[0035] In response to the drag operation, on a preset graphical interface, the project template indicated by the drag operation is parsed by a preset project creation tool to obtain the format of the project template;
[0036] Determining a target creation plug-in corresponding to the format of the project template among a plurality of creation plug-ins included in the project creation tool;
[0037] The target creation plug-in is called to instantiate the project template to generate a project instance.
[0038] In a possible implementation manner, the device is further specifically used for:
[0039] Before the target creation plug-in is called to instantiate the project template and generate a project instance, a verification function of the target creation plug-in is loaded, and preset signature information is obtained according to the verification function; wherein the signature information includes a signature algorithm, signature data, and a signature interface;
[0040] Get and return the self-signed content of the target creation plug-in;
[0041] Verifying the self-signed content according to the signature algorithm, the signature data and the signature interface;
[0042] If it is determined that the self-signed content is correct, then it is determined that the self-signed content of the target creation plug-in is in a safe state.
[0043] In a possible implementation manner, the second generating module is specifically configured to:
[0044] In response to the start request, start the debugging server;
[0045] Based on the debugging server, in response to the debugging request, the debugging plug-in in the preset debugging and running tool is called, and the debugging plug-in is used to debug the project instance to obtain the target instance.
[0046] In a possible implementation manner, the third generating module is specifically configured to:
[0047] Obtaining a package publishing request; wherein the package publishing request includes a compressed format;
[0048] A compression algorithm corresponding to the compression format is called, and the target example is packaged and published to a vehicle terminal through a preset packaging and publishing tool, the compression format, and the compression algorithm.
[0049] In a possible implementation, the creation plug-in, the debugging plug-in, and the packaging plug-in are all generated according to a preset configuration file; the configuration file includes configuration information of the creation plug-in, configuration information of the debugging plug-in, and configuration information of the packaging plug-in; the device is also specifically used for:
[0050] In response to a configuration request for a configuration file, any configuration information in the configuration file is configured to obtain configured configuration information.
[0051] In a third aspect, an embodiment of the present application provides an electronic device, including: a memory, a processor;
[0052] The memory stores computer-executable instructions;
[0053] The processor executes the computer-executable instructions stored in the memory, so that the processor executes the above first aspect and / or various possible implementations of the first aspect.
[0054] In a fourth aspect, an embodiment of the present application provides a computer-readable storage medium, in which computer-executable instructions are stored. When the computer-executable instructions are executed by a processor, they are used to implement the first aspect above and / or various possible implementations of the first aspect.
[0055] In a fifth aspect, an embodiment of the present application provides a computer program product, including a computer program, which, when executed by a processor, implements the above first aspect and / or various possible implementation methods of the first aspect.
[0056] The graphical development processing method, device, electronic device, storage medium and program product of the autonomous driving application provided in the embodiment of the present application, in response to the drag operation on the preset graphical interface, instantiate the project template indicated by the drag operation through the preset project creation tool to generate a project instance; and display the project instance in the editing area of the graphical interface. In response to the connection request, connect to the debugging server in the connection request; and based on the debugging server, in response to the debugging request, debug the project instance through the preset debugging operation tool to obtain the target instance. The target example is packaged and published to the vehicle terminal through the preset packaging and publishing tool; wherein the packaged and published target example is used to generate and deploy the autonomous driving application on the vehicle terminal; on the graphical interface, the operation data of the vehicle terminal is obtained and displayed through the autonomous driving application. In this solution, by integrating the configuration tools of the framework and the business system for autonomous driving, the problem that the creation process of Qt and Electron does not support customization and expansion, and the initialization project is not closely integrated with the automated driving business is solved. This application enables developers to quickly complete the creation and debugging of autonomous driving projects by unifying and organically integrating the life cycle of plug-ins and frameworks, and improves development efficiency by reasonably managing the framework code of various plug-ins and encapsulating the underlying implementation. Compared with the existing technology, this system is implemented by abstracting the infrastructure through middleware to smooth the complexity and differences of different middleware configurations, reducing the learning curve of developers, and intuitively selecting and dragging project templates instead of writing code to configure the application of different middleware, freeing application developers from the cumbersome details of the underlying configuration so that they can focus on the development of the business layer. Therefore, the project templates, project creation tools, debugging and running tools, and packaging and publishing tools in this application constitute a set of graphical development tools, and by providing sufficient built-in components for instantiation, debugging, and packaging and publishing, each process such as development, debugging, and packaging and publishing is completed in a set of codes, ensuring the uniformity of the interaction of each process, and facilitating users to quickly create autonomous driving web-based desktop applications in a graphical interface according to actual needs, reducing the difficulty of use for users, being suitable for a variety of application scenarios, and realizing convenient project creation and free and flexible configuration, realizing rapid creation and efficient debugging of autonomous driving projects, and solving the problem of functional expansion during the operation of projects in the field of autonomous driving, so as to achieve the effect of improving the development efficiency of web-based desktop applications in the field of autonomous driving. BRIEF DESCRIPTION OF THE DRAWINGS
[0057] The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the present application and, together with the description, serve to explain the principles of the present application.
[0058] Figure 1A schematic diagram of a process flow of a graphical development processing method for an autonomous driving application provided in an embodiment of the present application Figure 1 ;
[0059] Figure 2 A schematic diagram of a graphical development method for an autonomous driving application provided in this application Figure 1 ;
[0060] Figure 3 Schematic diagram of another graphical development method for autonomous driving applications provided in an embodiment of the present application Figure 2 ;
[0061] Figure 4 A schematic diagram of a graphical development process for an autonomous driving application provided in this application Figure 3 ;
[0062] Figure 5 A schematic diagram of a graphical development process for an autonomous driving application provided in this application Figure 4 ;
[0063] Figure 6 A schematic diagram of a graphical development process for an autonomous driving application provided in this application Figure 5 ;
[0064] Figure 7 A schematic diagram of the structure of a graphical development processing device for an autonomous driving application provided in an embodiment of the present application;
[0065] Figure 8 A schematic diagram of the structure of an electronic device provided in an embodiment of the present application.
[0066] The above drawings have shown clear embodiments of the present application, which will be described in more detail later. These drawings and text descriptions are not intended to limit the scope of the present application in any way, but to illustrate the concept of the present application to those skilled in the art by referring to specific embodiments. DETAILED DESCRIPTION
[0067] Exemplary embodiments will be described in detail herein, examples of which are shown in the accompanying drawings. When the following description refers to the drawings, the same numbers in different drawings represent the same or similar elements unless otherwise indicated. The implementations described in the following exemplary embodiments do not represent all implementations consistent with the present application. Instead, they are merely examples of devices and methods consistent with some aspects of the present application as detailed in the appended claims.
[0068] Currently, Qt and Electron are two commonly used cross-platform application development frameworks, both of which are widely used to create desktop applications. Qt provides a rich library of basic functions and tools for developing graphical user interfaces (GUIs), network applications, database connections, etc. Electron is an open source framework based on Chromium and Node.js. Developers can use familiar Web technologies to build applications that support cross-platform and can run on Windows, Mac, and Linux.
[0069] In the prior art, both of the above two frameworks provide rich language-level application development support, but basically do not involve support for autonomous driving applications based on universality considerations. Some third-party manufacturers also mainly customize client software based on the AUTOSAR standard industry, and customers can only develop according to a set of standardized processes designed by the manufacturer. Moreover, software manufacturers basically focus on the development of related applications on the vehicle side, that is, the domain control, and the functions and processes of the developed and debugged software are fixed. Due to the insufficient openness of the interface, the user's customization freedom is very low. It is difficult and the threshold is high for users to customize and open a set of autonomous driving applications and debugging tools according to their own business flows. The business support for autonomous driving web-side desktop applications is insufficient, resulting in low development efficiency of autonomous driving web-side desktop applications. Therefore, there is currently no solution for the creation and debugging of autonomous driving web-side desktop application projects.
[0070] Specifically, Qt's learning curve is relatively steep, especially for web developers who are not familiar with C++. It is difficult to get started quickly. In addition, the Qt development environment has relatively few tools, and additional tools and plug-ins may be needed to enhance the development experience. Existing engineering creation tools, including Electron and the newly emerged Tauri, are not highly integrated into the autonomous driving business field, and general front-end framework scaffolding tools only provide setting options for the framework itself. After users create software projects, they still have to configure and modify a lot of things related to the opening of autonomous driving business. That is, the lack of support for autonomous driving web-side desktop application business leads to these repetitive tasks that often take a lot of time and debugging energy, seriously affecting the efficiency of project development.
[0071] Combining the above scenarios, it can be seen that in the prior art, there is a technical problem of low efficiency in project development.
[0072] The graphical development and processing method for autonomous driving applications provided in the present application comprises a set of graphical development tools including project templates, project creation tools, debugging and running tools, and packaging and publishing tools, and provides sufficient built-in components for instantiation, debugging, and packaging and publishing, so that each process including development, debugging, packaging and publishing is completed in a set of codes, thereby ensuring the uniformity of the interaction of each process, facilitating users to quickly create autonomous driving web-based desktop applications in a graphical interface according to actual needs, reducing the difficulty of use for users, being suitable for a variety of application scenarios, realizing convenient project creation and free and flexible configuration, realizing rapid creation and efficient debugging of autonomous driving projects, solving the problem of functional expansion during the operation of projects in the field of autonomous driving, and achieving the effect of improving the development efficiency of web-based desktop applications in the field of autonomous driving.
[0073] The technical solution of the present application and how the technical solution of the present application solves the above-mentioned technical problems are described in detail below with specific embodiments. The following specific embodiments can be combined with each other, and the same or similar concepts or processes may not be repeated in some embodiments. The embodiments of the present application will be described below in conjunction with the accompanying drawings.
[0074] Figure 1 A schematic diagram of a graphical development process for an autonomous driving application provided in this application Figure 1 ,like Figure 1 As shown, the method includes:
[0075] S201. In response to a drag operation on a preset graphical interface, a preset project creation tool is used to instantiate a project template indicated by the drag operation to generate a project instance; and the project instance is displayed in an editing area of the graphical interface.
[0076] For example, the execution subject of this embodiment may be an electronic device, or a terminal device, or a graphical development processing device or device for an autonomous driving application, or other devices or equipment that can execute this embodiment, without limitation. This embodiment is described with the execution subject being an electronic device.
[0077] First, in order to solve the problem of low integration between front-end scaffolding tools and business, this application proposes a system framework for application development. This framework not only uses a configurable plug-in mechanism to expand business components on the business platform, but also supports plug-in functional expansion in the configuration tool, that is, the project creation process is simplified through the expansion of the configuration tool, and the creation of application projects containing specific businesses is completed through several interactive commands. By developing new business plug-ins, the functions and application scenarios of autonomous driving projects can be continuously expanded, and the development efficiency can be improved to a greater extent through the combination of application plug-ins and tool plug-ins. Users can not only expand business functions through plug-ins like ordinary business frameworks, but also customize and modify the process of project construction and debugging through the expansion capabilities of the configuration tool itself during project creation, project construction and debugging. Both the framework itself and the configuration tool adopt an extensible plug-in mechanism. In addition to providing the necessary plug-ins, it also gives users the ability to expand the framework in a dual way, making it convenient for users to easily complete the construction, development and debugging of autonomous driving applications.
[0078] Among them, the plug-in mechanism refers to the project creation tool. The plug-in mechanism is implemented based on the rollup library. It allows developers to add custom logic and functions at different stages of the project construction process, that is, to add corresponding plug-ins and functions according to actual needs; the plug-in under this plug-in mechanism is usually a JavaScript module, which exports a function. This function receives a plug-in context object, and different types of hook functions can be registered on the object to affect the construction process. The configuration tool opens the project life cycle and a series of hook functions. Each hook function represents a specific stage in the construction process. The configuration tool is generated based on the preset configuration information. Users can customize and edit the configuration information according to actual needs, and then generate plug-ins for each stage in the project life cycle, such as the creation plug-ins in the project creation stage, the debugging plug-ins in the debugging and running stage, and the packaging plug-ins in the packaging and publishing stage.
[0079] Specifically, the following is the necessary configuration information for all plugins from creation, debugging to release:
[0080] a. In the configuration file, you can register plugins through the config hook, which is executed immediately after the configuration is loaded. In the config hook, you can modify the configuration options, such as adding new plugins, modifying build options, configuring the development server, etc.
[0081] b. Before the development server is started, you can register the plugin through the configureServer hook. In the configureServer hook, you can access and modify the development server options, such as adding custom middleware, modifying routing rules, etc.
[0082] c. When processing modules, the transform hook will be triggered in turn, allowing the plug-in to transform and process each module. In the transform hook, the module can be modified, converted, optimized, etc., such as compiling TypeScript, converting JSX, processing CSS, etc.
[0083] d. When parsing a module, the load hook is triggered, allowing the plugin to intervene in the module loading process. In the load hook, you can customize the module loading logic, such as loading modules from a remote location, dynamically generating module content, etc.
[0084] e. When the development server receives a module hot update, the handleHotUpdate hook is triggered. In the handleHotUpdate hook, the logic of module hot update can be processed, such as notifying the client to refresh the page or hot replace the module.
[0085] f. When processing the index.html file, the transformIndexHtml hook is triggered, allowing the plugin to transform and process the HTML content. In the transformIndexHtml hook, you can add or modify tags, meta information, etc. in index.html.
[0086] g. When the development server receives a module hot update, the handleHotUpdate hook is triggered. In the handleHotUpdate hook, the logic of module hot update can be processed, such as notifying the client to refresh the page or hot replace the module.
[0087] h. After the packaging process is completed and has a lot to do with the previous steps, the closeBundle hook will be triggered. In the closeBundle hook, you can do some finishing work, such as outputting a build report, cleaning up temporary files, etc.
[0088] Therefore, through the above hook functions, the plug-in system of the configuration tool can register custom plug-in logic at different construction stages to achieve various functions and customized requirements. The plug-ins are executed in sequence according to the registration order, forming a flexible and scalable construction process.
[0089] In this step, the electronic device displays a preset graphical interface, which includes a project template list area and an editing area. Among them, the project template list area includes a variety of preset types of project templates, and the project templates are all general templates for various application scenarios and requirements configured by users. Developers can choose a template that fits the business as the starting point of the project, and adjust the preset configuration as needed, so as to quickly generate a project framework that meets the needs, that is, a project instance. On the preset graphical interface, the user can select one of the project templates according to actual needs and drag the selected project template into the editing area. The electronic device responds to the drag operation, and instantiates the project template indicated by the drag operation through the preset project creation tool, generates a project instance, and displays the project instance in the editing area of the graphical interface. After selecting the project template and generating the project instance, the creation process can also expand the project's code version management, code checking, automatic code formatting and other functions.
[0090] Furthermore, the basic project template provides responsive design, adapts to different devices and screen sizes, and supports multiple front-end UI presentation frameworks such as Vue, React, Angular, Astro, etc. Figure 2 A schematic diagram of a graphical development method for an autonomous driving application provided in this application Figure 1 ,like Figure 2 As shown in the figure, the engineering templates include basic templates, data visualization engineering templates, real-time communication engineering templates, interactive experience engineering templates, etc. Among them, the data visualization engineering template has a preset chart library inside, which supports a variety of data visualization forms, such as line charts, bar charts, heat maps, etc.; the real-time communication engineering template supports real-time updates of vehicle status, sensor data and other information to keep the interface synchronized with the actual situation; the interactive experience engineering template, compared with other templates, emphasizes the security and stability of front-end applications, including data encryption, permission control, error prompts and other functions.
[0091] For example, taking the creation of a data-based visual template as an example, the operation process is as follows: 1. Run the corresponding command npx@aicc / create-gaff-app, the program will download the corresponding dependencies and environment verification; 2. Enter the name of the project template. If you are not satisfied with the default project name, you can enter a new project name; 3. Select the data-based visual template in the template selection stage, and the program will add the corresponding visualization plug-in and related dependencies. The template contains real-time communication, maps, 3D point clouds, images, instrument diagnosis and other commonly used communication and visualization function plug-ins for automated driving. 4. Business plug-in selection, you can choose more optional plug-ins, such as internationalization plug-ins, security audit plug-ins, log tracking plug-ins, etc.; 5. Select the corresponding program initialization directory and whether to start version control. The program will automatically start to download and unpack the template to the corresponding directory. After the output prompts that the creation is successful, the initialization build is completed, and a user-editable project instance is obtained.
[0092] Among them, in this step, the framework will sign the built-in plug-in and generate a secure folder for the runtime plug-in (a unique folder generated by signature verification, which is invisible to the plug-in), ensuring that the plug-in will not obtain the user's sensitive data during runtime. The plug-in will not be dynamically tampered with. The plug-in in the compilation and debugging stage will also complete its corresponding functions in this step. The project created at this time already contains business-related functional plug-ins and project configurations. The framework automatically adds and configures the underlying communication and other services. Users only need to worry about the development of upper-level services.
[0093] Furthermore, when a user attempts to create a project, the system will verify the developer's permission level. If the developer does not have permission to perform the operation, the system will reject the request and return a corresponding error message. For operations that require access to system resources (such as reading data files, accessing sensor interfaces, etc.), ensure that developers can only access resources allowed within their authority to prevent unauthorized access and data leakage. In the process of creating an autonomous driving project, the function of verifying developer permissions is an indispensable part, which can provide strong security protection for the entire system.
[0094] After the developer completes module assembly and template configuration, the system's built-in secure OS module automatically generates project files and automatically performs initialization verification. This avoids developers from manually writing tedious codes and configuration files, and improves the efficiency of project creation. GIT and CICD integration are added to implement version control, allowing developers to easily manage different versions of project files and track modification history. It should be noted that in addition to the above basic functions, the system also provides good compatibility and scalability, and can support the integration of different platforms and hardware devices. At the same time, open command line parameters are also provided to facilitate developers to customize development and expand functions.
[0095] Therefore, since the project creation has built-in rich project templates and configuration management integration functions, web-side desktop applications can be quickly created through the framework's built-in project templates plus business plug-ins, achieving the goal of convenient project creation and free and flexible configuration. The framework uses business options to interact with users in template creation and configuration management, filters the underlying communication interaction and implementation details, lowers the technical threshold of professional fields, and provides efficient project creation capabilities.
[0096] S202, in response to the connection request, connecting to the debugging server in the connection request; and based on the debugging server, in response to the debugging request, debugging the project instance through a preset debugging running tool to obtain a target instance.
[0097] Exemplarily, in response to a connection request from a user, a connection is made to a debugging server specified in the connection request. Based on the connected debugging server, the debugging request of the user is obtained, and based on the debugging request, a preset debugging operation tool is called to debug the project instance to obtain a target instance; wherein, during the debugging process, the user can perform operations such as adding, deleting, modifying, and checking the content in the project instance.
[0098] S203. Package and publish the target example to the vehicle terminal through a preset packaging and publishing tool; wherein the packaged and published target example is used to generate and deploy an autonomous driving application on the vehicle terminal; and on a graphical interface, the operating data of the vehicle terminal is obtained and displayed through the autonomous driving application.
[0099] Exemplarily, the target example is packaged through a preset packaging and publishing tool, and the packaged target example is published to the vehicle terminal, so that the vehicle terminal deploys the autonomous driving application according to the packaged target example. On the graphical interface, the operation data of the vehicle terminal is obtained and displayed through the autonomous driving application. The operation data includes log data during the debugging operation, the status of the subsequent vehicle terminal, data in each state, etc., and then the operation data can be used on the graphical interface of the web page to monitor and quickly correct the problems in operation in real time.
[0100] The graphical development processing method of the autonomous driving application provided in the embodiment of the present application, in response to the drag operation on the preset graphical interface, instantiates the engineering template indicated by the drag operation through the preset engineering creation tool to generate an engineering instance; and displays the engineering instance in the editing area of the graphical interface. In response to the connection request, connect to the debugging server in the connection request; and based on the debugging server, in response to the debugging request, debug the engineering instance through the preset debugging operation tool to obtain the target instance. Through the preset packaging and publishing tool, the target example is packaged and published to the vehicle terminal; wherein the packaged and published target example is used to generate and deploy the autonomous driving application on the vehicle terminal; on the graphical interface, the operation data of the vehicle terminal is obtained and displayed through the autonomous driving application. In this solution, by integrating the configuration tool of the framework and the business system for autonomous driving, the problem that the creation process of Qt and Electron does not support customization and expansion, and the initialization of the project is not closely integrated with the automated driving business is solved. This application enables developers to quickly complete the creation and debugging of autonomous driving projects by unifying and organically integrating the life cycle of plug-ins and frameworks, and improves the work efficiency of development by reasonably managing the framework code and encapsulation bottom layer implementation of various plug-ins. Compared with the prior art, the implementation method of this system is to abstract the infrastructure through the middleware to smooth the complexity and differences of different middleware configurations, reduce the learning curve of developers, and intuitively select and drag the project template instead of writing the application configuration of different middleware in code, freeing the application developer from the cumbersome details of the underlying configuration so that they can concentrate on the development of the business layer. Therefore, the project templates, project creation tools, debugging and running tools, and packaging and publishing tools in this application constitute a set of graphical development tools, and by providing sufficient built-in components for instantiation, debugging, and packaging and publishing, the development, debugging, packaging and publishing processes are all completed in a set of codes, ensuring the uniformity of the interaction of each process, and facilitating users to quickly create autonomous driving web-side desktop applications in the graphical interface according to actual needs, reducing the difficulty of users, and being suitable for a variety of application scenarios. It realizes convenient project creation and free and flexible configuration, realizes the rapid creation and efficient debugging of autonomous driving projects, and solves the problem of functional expansion during the operation of the project in the field of autonomous driving, so as to achieve the effect of improving the development efficiency of web-side desktop applications in the field of autonomous driving.
[0101] Figure 3 A schematic diagram of a graphical development process for an autonomous driving application provided in this application Figure 2 ,like Figure 3 As shown, in this embodiment Figure 2 Based on the embodiment, a graphical development processing method for an autonomous driving application is described in detail, and the method includes:
[0102] S301 . In response to a drag operation on a preset graphical interface, a preset project creation tool is used to parse and process the project template indicated by the drag operation to obtain a format of the project template.
[0103] In one example, creating a plug-in, debugging a plug-in, and packaging a plug-in are all generated based on a preset configuration file; the configuration file includes configuration information for creating a plug-in, debugging a plug-in, and packaging a plug-in; in response to a configuration request for the configuration file, any configuration information in the configuration file is configured to obtain the configured configuration information.
[0104] For example, the configuration information of each plug-in, the preset configuration file, and each plug-in in the configuration file in this step can be found in Figure 1 Step 201 in the above is not described in detail here. On the preset graphical interface, the electronic device can respond to the user's drag operation, call the preset project creation tool, parse the project template indicated by the drag operation, and obtain the format of the project template.
[0105] S302: Determine a target creation plug-in corresponding to the format of the project template among multiple creation plug-ins included in the project creation tool.
[0106] Exemplarily, the electronic device may search and determine a target creation plug-in corresponding to the format of the project template among a plurality of creation plug-ins included in the project creation tool.
[0107] S303: Call the target creation plug-in to instantiate the project template and generate a project instance.
[0108] In one example, before S303, it also includes: loading the verification function of the target plug-in, and obtaining preset signature information according to the verification function; wherein the signature information includes a signature algorithm, signature data, and a signature interface; obtaining the self-signed content returned to the target plug-in; verifying the self-signed content according to the signature algorithm, signature data, and signature interface; if it is determined that the self-signed content is correct, then determining that the self-signed content of the target creation plug-in is in a secure state.
[0109] Exemplarily, the electronic device first performs a signature verification on the loaded target creation plug-in. When the verification result is correct, the target creation plug-in is called to instantiate the project template to generate a project instance. Specifically, since the implementation level of the business plug-in of the system framework is based on the design principles of low coupling and high cohesion, the architecture design of the business plug-in mainly focuses on the security and life cycle integrity of the plug-in. Figure 4 A schematic diagram of a graphical development process for an autonomous driving application provided in this application Figure 3 ,like Figure 4 As shown in the figure, it is divided into the following execution stages:
[0110] 1.1 Signature Verification Phase
[0111] The framework calls the plugin's register regSignData and passes in the signature algorithm, signature data, and signature interface supported by the current version of the framework, informing the plugin that the framework is ready. After the plugin is loaded, getFingerprint returns the content of the plugin's self-signature. When the framework is running, the self-signature content will be verified based on the signature algorithm, signature data, and signature interface to ensure that the plugin signature is not tampered with.
[0112] 1.2 Compile, debug and run phase
[0113] During different life cycles, the framework will notify the plug-in through the onTape function and provide the corresponding message content to facilitate the plug-in to achieve the corresponding needs. For example, SignFinished means that the framework has completed the verification process for all plug-ins and provides the content of SignSuccess / SignFail for the plug-in to act later; Emmit means that the framework has completed initialization and is preparing to read user configuration items for compilation.
[0114] 1.3 Compilation and debugging completion stage
[0115] In the final stage, when the compilation and packaging are completed, the framework will call the plug-in's onTape to notify the plug-in that the compilation and debugging phase is complete and enter the runtime phase of the user platform. The plug-in obtains the framework's serialization function through the getRuntime method to serialize the secure user-mode configuration items, and returns the runtime entry and the corresponding serialized configuration.
[0116] 1.4 User environment operation stage
[0117] The framework will use the serialized user-mode configuration items at runtime to call the entry function registered by the corresponding plug-in through RPC.
[0118] S304. Displaying the project instance in the editing area of the graphical interface.
[0119] Exemplarily, the electronic device may display editable project examples in an editing area of a graphical interface.
[0120] S305: In response to the connection request, connect to the debugging server in the connection request.
[0121] Exemplarily, the electronic device may connect to the debugging server specified in the connection request in response to the connection request issued by the user.
[0122] S306: In response to the start request, start the debugging server.
[0123] Exemplarily, the electronic device may start the debugging server in response to the start request.
[0124] S307: Based on the debugging server, in response to the debugging request, the debugging plug-in in the preset debugging and running tool is called, and the debugging plug-in is used to debug the project instance to obtain the target instance.
[0125] Exemplarily, for project runtime, this application encapsulates a set of custom cli commands to support project operation. The custom cli commands mainly expose: gaff dev and gaff test. Before the project is executed, a debugging server devServer is automatically started, based on ESM's module hot update (Hot Module Replacement, HMR), and uses the browser cache strategy to increase the speed. The principle is to hijack the browser's HTTP and intercept the client code request in the form of injected code, and perform corresponding processing in devServer. The files used in the project are simply decomposed and integrated, and then returned to the browser in ESM format. The entire implementation process can be divided into the following four steps:
[0126] 1. Read the relevant system context and get the startup status; 2. Process the content of cross-end communication and check whether the developer's files are complete; 3. Read the developer's configuration items and process the relevant plug-ins during development. Cache the files in the node_modules / .gaff / folder. Determine whether to re-execute the pre-build based on the following places; 4. Perform updates of different operations based on the HMR information and record the module dependency graph of the entire application; 5. Start the debug server devServer, respond to the debug request, call the debug plug-in in the preset debug run tool, and debug the project instance through the debug plug-in to obtain the target instance.
[0127] Furthermore, gaff supports different contexts for specific content. For example, when starting a hot update, the createWebSocketServer method is called, including before the dev server is started, to prepare for HMR: for example, creating a websocket service, using chokidar to create a watcher object to monitor file modifications, etc. The WebSocket service is created through the createWebSocketServer method and errors are handled, and finally the encapsulated on, off, send, and close methods are returned for subsequent server-side message push and service shutdown.
[0128] When performing hot updates, the moduleGraph+handleHMRUpdate module is called. Specifically, the callback for receiving file changes is mainly two operations: moduleGraph.onFileChange modifies the file cache and handleHMRUpdate performs hot updates. moduleGraph is a class defined by Vite to record the module dependency graph of the entire application. In addition, there is moduleNode. moduleGraph is composed of a series of maps, and these maps are mappings of url, id, file, etc. to ModuleNode. Among them, handleHMRUpdate mainly monitors file changes, processes and judges, sends messages to the client through WebSocket to notify the client to request new module code, and provides instant compilation functions for files such as .ts and .tsx.
[0129] S308: Obtain a packaged publishing request; wherein the packaged publishing request includes a compressed format.
[0130] Exemplarily, the electronic device may obtain a package publishing request, where the package publishing request includes a compression format, wherein the user may select a corresponding compression format according to actual needs.
[0131] S309: calling a compression algorithm corresponding to the compression format, and packaging and publishing the target example to the vehicle terminal through a preset packaging and publishing tool, compression format, and compression algorithm.
[0132] Exemplarily, the Gaff-builder in the framework supports different platform configuration parameters, such as win64, macos, etc., and finally generates executable files under different platforms. For packaging, Gaff-builder is centered on context isolation, which can ensure that the developer's code is isolated from the logic of the native OS, and that the developer's code is always kept running in a sandbox to prevent the entire software from crashing when the developer's code goes wrong. Although the developer and the renderer attached by the developer share a window variable globally, the developer cannot modify the window directly from it because the context isolation of gaff is the default. The relevant content is exposed in the form of the builder field in the gaff.config file, allowing the developer to configure it.
[0133] The requirements for personalized installation processes in different formats are not complicated. You just need to modify the installation location, uninstall prompts, and other simple operations. Gaff supports the use of include configuration. If you also need a cool installation process, you can also use script for complete customization.
[0134] For packaged gaff, it supports automatic updates and compression formats for multiple targets. Among them, automatic updates mean that developers only need to provide a signed remote URL path and upload resources to their own static server to start the automatic update function. It also supports obtaining download progress and provides clearer feedback. The compression formats for multiple targets support the compression formats of all platforms, including 7z, zip, tar, xz, and the corresponding compression algorithms, such as Lz, tar, gz, etc., without limitation. It supports dmg, pkg for macOS systems; AppImage, snap, deb, rpm for Linux platforms; nsis (installer), portable (portable application that does not require installation), AppX packaging format, etc. for Windows systems.
[0135] In this step, among the multiple pre-stored compression algorithms, the compression algorithm corresponding to the compression format is called, and the target example is packaged and published to the vehicle terminal through the preset packaging and publishing tool, compression format, and compression algorithm, so that the vehicle terminal can deploy the autonomous driving application according to the packaged target example. Therefore, through multiple compression formats and compression algorithms, the development kit in this application supports cross-platform, which is convenient for development and management on different basic platforms.
[0136] S310: On a graphical interface, the operation data of the vehicle terminal is obtained and displayed through the autonomous driving application.
[0137] Exemplarily, on the graphical interface of the web page, the operating data of the vehicle terminal is obtained and displayed through the autonomous driving application. The operating data includes log data during the debugging operation, the status of the subsequent vehicle terminal, data in each status, etc.
[0138] The graphical development processing method of the autonomous driving application provided in the embodiment of the present application is, on a preset graphical interface, in response to a drag operation, through a preset engineering creation tool, the engineering template indicated by the drag operation is parsed and processed to obtain the format of the engineering template. Among the multiple creation plug-ins contained in the engineering creation tool, a target creation plug-in corresponding to the format of the engineering template is determined to call the target creation plug-in to instantiate the engineering template to generate an engineering instance. The engineering instance is displayed in the editing area of the graphical interface. In response to a connection request, the debugging server in the connection request is connected. In response to a start request, the debugging server is started. Based on the debugging server, in response to the debugging request, the debugging plug-in in the preset debugging and running tool is called, and the engineering instance is debugged through the debugging plug-in to obtain the target instance. A package release request is obtained; wherein the package release request includes a compression format. The compression algorithm corresponding to the compression format is called, and the target example is packaged and released to the vehicle terminal through the preset package release tool, compression format, and compression algorithm. On the graphical interface, the operation data of the vehicle terminal is obtained and displayed through the autonomous driving application. Therefore, the project templates, project creation tools, debugging and running tools, and packaging and publishing tools in this application constitute a set of graphical development tools, and by providing sufficient built-in components for instantiation, debugging, and packaging and publishing, each process such as development, debugging, and packaging and publishing is completed in a set of codes, ensuring the uniformity of the interaction of each process, and facilitating users to quickly create autonomous driving web-based desktop applications in a graphical interface according to actual needs, reducing the difficulty of use for users, being suitable for a variety of application scenarios, and realizing convenient project creation and free and flexible configuration, realizing rapid creation and efficient debugging of autonomous driving projects, and solving the problem of functional expansion during the operation of projects in the field of autonomous driving, so as to achieve the effect of improving the development efficiency of web-based desktop applications in the field of autonomous driving.
[0139] Figure 5 A schematic diagram of a graphical development process for an autonomous driving application provided in this application Figure 4 ,like Figure 5 As shown, it includes executing the create command; entering the project name; selecting a template from multiple project templates: basic template, data visualization template, log project template, or XXX template; configuring the project plug-in and environment; completing version control; echoing the console; and completing dependency installation.
[0140] Therefore, using the configuration tool of the development framework, after the above operations, you can successfully create a web-based desktop application project. According to different template configuration information, you can also customize the corresponding subsequent execution and debugging operations for different projects. Combined with the framework's autonomous driving related plug-ins such as communication plug-ins and data visualization plug-ins, you can easily implement an autonomous driving simulation project.
[0141] Figure 6 A schematic diagram of a graphical development process for an autonomous driving application provided in this application Figure 5 ,like Figure 6 As shown, it includes: project template, project creation tool, creation plug-in under the project creation tool, debugging and running tool, debugging plug-in under the debugging and running tool, packaging and publishing tool, packaging plug-in under the packaging and publishing tool, project instance obtained by the project creation tool, debugging server, desktop program finally obtained, business plug-in, and data service put into use later. Among them, the dual plug-in in this application includes: functional plug-in (creation plug-in, debugging plug-in, packaging plug-in) and business plug-in.
[0142] Therefore, in response to existing technical solutions and problems, the framework adopts a dual plug-in design to optimize the overall framework design, making it more independent and universal, and at the same time better integrating the business of autonomous driving web-based desktop applications. In order to solve the inadequacy of ordinary frameworks in supporting autonomous driving business, business-specific templates are introduced based on the framework tool level to speed up development efficiency. The project template consists of module plug-ins. Each functional module should have clear input and output interfaces and be easy to replace and upgrade. On this basis, standardized interfaces are provided and unified plug-in interface standards are formulated to ensure that plug-ins between different systems or platforms can be seamlessly integrated. This will facilitate the creation and debugging of cross-platform or cross-system projects and greatly improve the flexibility of the framework.
[0143] Based on the plug-in runtime interface, the framework strengthens debugging and troubleshooting capabilities and provides detailed logging functions. The level of detail of logging is increased, including data interaction between modules, exception information, etc. This helps users quickly locate problems and troubleshoot faults. It also provides built-in plug-ins for rollback and retry, and supports requests for multiple protocols. This makes it easier for developers in the field of autonomous driving to debug.
[0144] In addition, compared with the manual data command line using command line tools in the prior art, this application optimizes the interactive design of the command line CLI at the beginning, directly selects the corresponding project template for creation, and the configuration tool uses a CLI command line parsing tool to avoid manual data command lines. Only a few choices are needed to create and debug the project without in-depth understanding of the underlying details, making the operation more concise and efficient, and reducing the complexity of user operations. It also provides the creation of project templates and component libraries, including common autonomous driving project structures and functional modules. In this way, developers can select templates and components as needed, quickly build new projects, and improve reusability.
[0145] Figure 7 A schematic diagram of the structure of a graphical development processing device for an autonomous driving application provided in this application, such as Figure 7 As shown, the graphical development processing device 40 for the autonomous driving application provided in this embodiment includes:
[0146] A first generating module 41 is used to instantiate the project template indicated by the dragging operation through a preset project creation tool on a preset graphical interface in response to the dragging operation, so as to generate a project instance;
[0147] The display module 42 is used to display the project example in the editing area of the graphical interface.
[0148] The connection module 43 is used to connect to the debugging server in the connection request in response to the connection request.
[0149] The second generating module 44 is used to debug the project instance through a preset debugging running tool based on the debugging server in response to the debugging request to obtain the target instance.
[0150] The third generation module 45 is used to package and publish the target example to the vehicle terminal through a preset packaging and publishing tool; wherein the packaged and published target example is used to generate and deploy the autonomous driving application in the vehicle terminal.
[0151] The display module 46 is used to obtain and display the operation data of the vehicle terminal through the autonomous driving application on a graphical interface.
[0152] exist Figure 7 Based on the illustrated embodiment, the present application provides a graphical development processing device for an autonomous driving application, including:
[0153] The first generating module 42 is specifically used for:
[0154] On a preset graphical interface, in response to a drag operation, a preset project creation tool is used to parse and process the project template indicated by the drag operation to obtain a format of the project template.
[0155] Among a plurality of creation plug-ins included in the project creation tool, a target creation plug-in corresponding to the format of the project template is determined.
[0156] Call the target creation plug-in to instantiate the project template and generate a project instance.
[0157] In a possible implementation, the device is further specifically used for:
[0158] Before calling the target creation plug-in to instantiate the project template and generate a project instance, load the verification function of the target creation plug-in, and obtain the preset signature information according to the verification function; wherein the signature information includes the signature algorithm, signature data and signature interface.
[0159] Get returns the self-signed content of the target creation plugin.
[0160] Verify the self-signed content based on the signature algorithm, signature data and signature interface.
[0161] If it is determined that the self-signed content is correct, the self-signed content of the target creation plug-in is determined to be in a secure state.
[0162] In a possible implementation, the second generating module 44 is specifically configured to:
[0163] In response to the start request, the debug server is started.
[0164] Based on the debugging server, in response to the debugging request, the debugging plug-in in the preset debugging running tool is called, and the engineering instance is debugged through the debugging plug-in to obtain the target instance.
[0165] In a possible implementation, the third generating module 45 is specifically configured to:
[0166] Obtain a package publishing request; wherein the package publishing request includes a compression format.
[0167] The compression algorithm corresponding to the compression format is called, and the target example is packaged and published to the vehicle terminal through the preset packaging and publishing tool, compression format, and compression algorithm.
[0168] In a possible implementation, creating a plug-in, debugging a plug-in, and packaging a plug-in are all generated according to a preset configuration file; the configuration file includes configuration information for creating a plug-in, configuration information for debugging a plug-in, and configuration information for packaging a plug-in; the device is also specifically used for:
[0169] In response to a configuration request for a configuration file, any configuration information in the configuration file is configured to obtain the configured configuration information.
[0170] The graphical development and processing device for autonomous driving applications provided in this embodiment can execute the method provided in the above method embodiment. Its implementation principle and technical effects are similar, and are not described in detail in this embodiment.
[0171] Figure 8 This is a schematic diagram of the structure of the electronic device provided in this application. Figure 8 As shown, the electronic device 50 provided in this embodiment includes: at least one processor 501 and a memory 502. Optionally, the device 50 also includes a communication component 503. The processor 501, the memory 502 and the communication component 503 are connected via a bus 504.
[0172] In a specific implementation process, at least one processor 501 executes the computer-executable instructions stored in the memory 502, so that at least one processor 501 executes the above method.
[0173] The specific implementation process of the processor 501 can be found in the above method embodiment, and its implementation principle and technical effect are similar, so this embodiment will not be repeated here.
[0174] In the above embodiments, it should be understood that the processor may be a central processing unit (CPU), or other general-purpose processors, digital signal processors (DSP), application-specific integrated circuits (ASIC), etc. A general-purpose processor may be a microprocessor or any conventional processor. The steps of the method disclosed in the invention may be directly implemented as being executed by a hardware processor, or may be executed by a combination of hardware and software modules in the processor.
[0175] The memory may include a high-speed memory (Random Access Memory, RAM), and may also include a non-volatile memory (Non-volatile Memory, NVM), such as at least one disk memory.
[0176] The bus may be an Industry Standard Architecture (ISA) bus, a Peripheral Component Interconnect (PCI) bus, or an Extended Industry Standard Architecture (EISA) bus, etc. The bus may be divided into an address bus, a data bus, a control bus, etc. For ease of representation, the bus in the drawings of the present application is not limited to only one bus or one type of bus.
[0177] The present application also provides a computer program product, including a computer program, which implements the above method when executed by a processor.
[0178] The present application also provides a computer-readable storage medium, in which computer-executable instructions are stored. When a processor executes the computer-executable instructions, the above method is implemented.
[0179] The above-mentioned readable storage medium can be implemented by any type of volatile or non-volatile storage device or a combination thereof, such as static random access memory (SRAM), electrically erasable programmable read-only memory (EEPROM), erasable programmable read-only memory (EPROM), programmable read-only memory (PROM), read-only memory (ROM), magnetic memory, flash memory, magnetic disk or optical disk. The readable storage medium can be any available medium that can be accessed by a general or special-purpose computer.
[0180] An exemplary readable storage medium is coupled to a processor so that the processor can read information from the readable storage medium and write information to the readable storage medium. Of course, the readable storage medium can also be a component of the processor. The processor and the readable storage medium can be located in an application specific integrated circuit (Application Specific Integrated Circuits, referred to as: ASIC). Of course, the processor and the readable storage medium can also exist in the device as discrete components.
[0181] The division of units is only a logical function division, and there may be other divisions in actual implementation, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be an indirect coupling or communication connection through some interface, device or unit, which can be electrical, mechanical or other forms.
[0182] The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.
[0183] In addition, each functional unit in each embodiment of the present invention may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.
[0184] If the function is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present invention, or the part that contributes to the prior art, or the part of the technical solution, can be embodied in the form of a software product. The computer software product is stored in a storage medium, including several instructions for a computer device (which can be a personal computer, server, or network device, etc.) to perform all or part of the steps of the methods of each embodiment of the present invention. The aforementioned storage medium includes: U disk, mobile hard disk, read-only memory (ROM, Read-Only Memory), random access memory (RAM, Random Access Memory), disk or optical disk, etc. Various media that can store program codes.
[0185] Those skilled in the art can understand that all or part of the steps of implementing the above-mentioned method embodiments can be completed by hardware related to program instructions. The aforementioned program can be stored in a computer-readable storage medium. When the program is executed, the steps of the above-mentioned method embodiments are executed; and the aforementioned storage medium includes: ROM, RAM, disk or optical disk and other media that can store program codes.
[0186] Finally, it should be noted that those skilled in the art will readily conceive of other embodiments of the present invention after considering the specification and practicing the invention disclosed herein. The present invention is intended to cover any variations, uses or adaptations of the present invention, which follow the general principles of the present invention and include common knowledge or customary technical means in the art not disclosed by the present invention, are not limited to the precise structure described above and shown in the drawings, and may be modified and changed in various ways without departing from the scope thereof. The scope of the present invention is limited only by the appended claims.
Claims
1. A graphical development and processing method for an autonomous driving application, characterized in that: include: In response to the drag operation, on a preset graphical interface, instantiate the project template indicated by the drag operation through a preset project creation tool to generate a project instance; and display the project instance in an editing area of the graphical interface; In response to the connection request, connecting to the debugging server in the connection request; Based on the debugging server, in response to the debugging request, the engineering instance is debugged by a preset debugging operation tool to obtain a target instance; The target example is packaged and published to the vehicle terminal through a preset packaging and publishing tool; wherein the packaged and published target example is used to generate and deploy the autonomous driving application on the vehicle terminal; On the graphical interface, the operating data of the vehicle terminal is acquired and displayed through the autonomous driving application.
2. The method according to claim 1, characterized in that In response to the drag operation, on the preset graphical interface, instantiating the project template indicated by the drag operation through a preset project creation tool to generate a project instance includes: In response to the drag operation, on a preset graphical interface, the project template indicated by the drag operation is parsed by a preset project creation tool to obtain the format of the project template; Determining a target creation plug-in corresponding to the format of the project template among a plurality of creation plug-ins included in the project creation tool; The target creation plug-in is called to instantiate the project template to generate a project instance.
3. The method according to claim 2, characterized in that Before calling the target creation plug-in to instantiate the project template and generate a project instance, the method further includes: Loading the verification function of the target creation plug-in, and obtaining preset signature information according to the verification function; wherein the signature information includes a signature algorithm, signature data, and a signature interface; Get and return the self-signed content of the target creation plug-in; Verifying the self-signed content according to the signature algorithm, the signature data and the signature interface; If it is determined that the self-signed content is correct, then it is determined that the self-signed content of the target creation plug-in is in a safe state.
4. The method according to claim 1, characterized in that: The debugging server, in response to the debugging request, performs debugging processing on the project instance through a preset debugging operation tool to obtain a target instance, including: In response to the start request, start the debugging server; Based on the debugging server, in response to the debugging request, the debugging plug-in in the preset debugging and running tool is called, and the debugging plug-in is used to debug the project instance to obtain the target instance.
5. The method according to claim 1, characterized in that The step of packaging and publishing the target example to the vehicle terminal through a preset packaging and publishing tool includes: Obtaining a package publishing request; wherein the package publishing request includes a compressed format; A compression algorithm corresponding to the compression format is called, and the target example is packaged and published to a vehicle terminal through a preset packaging and publishing tool, the compression format, and the compression algorithm.
6. The method according to any one of claims 1 to 5, characterized in that: Creating plugins, debugging plugins, and packaging plugins are all generated based on preset configuration files; The configuration file includes the configuration information of the created plug-in, the configuration information of the debugged plug-in, and the configuration information of the packaged plug-in; The method further comprises: In response to a configuration request for a configuration file, any configuration information in the configuration file is configured to obtain configured configuration information.
7. A graphical development processing device for an autonomous driving application, characterized in that: include: A first generating module is used to instantiate the project template indicated by the dragging operation on a preset graphical interface in response to the dragging operation through a preset project creation tool to generate a project instance; A display module, used for displaying the engineering example in the editing area of the graphical interface; A connection module, configured to connect to a debugging server in the connection request in response to the connection request; A second generating module is used to debug the project instance based on the debugging server and in response to the debugging request through a preset debugging running tool to obtain a target instance; A third generation module is used to package and publish the target example to the vehicle terminal through a preset packaging and publishing tool; wherein the packaged and published target example is used to generate and deploy the autonomous driving application on the vehicle terminal; A display module is used to obtain and display the operating data of the vehicle terminal through the autonomous driving application on the graphical interface.
8. An electronic device, characterized in that: include: Memory, processor; The memory stores computer-executable instructions; The processor executes the computer-executable instructions stored in the memory, so that the processor performs the method according to any one of claims 1 to 6.
9. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores computer-executable instructions, which are used to implement the method according to any one of claims 1 to 6 when executed by a processor.
10. A computer program product, comprising a computer program, wherein when the computer program is executed by a processor, the method according to any one of claims 1 to 6 is implemented.