Data processing method and device for automatic driving application graphical developer
By deploying agent services in the intelligent driving computing platform, unifying the data format between the tool chain and the intelligent driving computing platform, the problems of interface incompatibility and data format differences are solved, and efficient development and testing of autonomous driving applications are realized.
Patent Information
- Application Number
- CN202411999654.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-31
- Publication Date
- 2025-05-13
AI Technical Summary
In the prior art, the interface between the toolchain and the middleware/intelligent driving computing platform is incompatible, resulting in data format differences, and developers need to perform repeated adaptation development, which increases workload and cost, and affects development and testing efficiency.
Deploy agent services in the intelligent driving computing platform, and realize communication connection between the toolchain and the intelligent driving computing platform through the agent service, unify the data format, and reduce adaptive development needs.
Through the unified data format of the proxy service, autonomous driving applications under different toolchains and middleware can directly communicate data, reducing the workload of developers, reducing development costs, and improving the flexibility, diversity and efficiency of development and testing.
Smart Images

Figure CN119987750A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of autonomous driving technology, and in particular to a data processing method and device for an autonomous driving application graphical developer. Background Art
[0002] Against the backdrop of the rapid development of intelligent driving technology, various tool chains, middleware and intelligent driving computing platforms are becoming more and more numerous.
[0003] Generally, the connection between the tool chain and the middleware / intelligent driving computing platform is fixed, thereby ensuring accurate communication between the tool chain and the middleware / intelligent driving computing platform.
[0004] At this time, if you need to replace any of the tool chain, middleware, or intelligent driving computing platform, problems such as interface incompatibility and differences in data formats will arise, requiring developers to redevelop and adapt. This not only adds a lot of repetitive work, but also increases costs and affects development and testing efficiency. Summary of the invention
[0005] The embodiments of the present application provide a data processing method and device for an autonomous driving application graphical developer, so as to achieve accurate docking between different tool chains and different middleware / intelligent driving computing platforms, thereby enabling the tool chain to be used simply and directly to develop and test autonomous driving applications.
[0006] In a first aspect, an embodiment of the present application provides a data processing method of an autonomous driving application graphical developer, which is applied to an intelligent driving computing platform; the intelligent driving computing platform includes at least one proxy service and at least one autonomous driving application developed according to the autonomous driving application graphical developer; the proxy service is used to establish a communication connection between the intelligent driving computing platform and a client; the method includes:
[0007] receiving a data processing request sent by the client, and sending the data processing request to a corresponding target proxy service; wherein the data processing request is used to request processing of autonomous driving related data;
[0008] Based on the target proxy service, the autonomous driving related data requested to be processed by the data processing request is sent to the corresponding target application for processing to obtain a data processing result;
[0009] The data processing result is sent to the target proxy service, and after the data processing result is verified based on the target proxy service, the data processing result is returned to the client.
[0010] Optionally, a gateway module is further deployed in the intelligent driving computing platform; the gateway module is used to receive and forward data from the intelligent driving computing platform and the client; receive a data processing request sent by the client, and send the data processing request to a corresponding target proxy service, including:
[0011] After receiving the data processing request sent by the client, the data processing request is parsed and processed based on the gateway module to obtain a data processing location corresponding to the data processing request; wherein the data processing location is used to determine a target proxy service from the at least one proxy service;
[0012] The autonomous driving related data requested to be processed by the data processing request is sent to the target proxy service determined by the data processing location.
[0013] Optionally, after receiving the data processing request sent by the client, parsing the data processing request based on the gateway module to obtain a data processing location corresponding to the data processing request includes:
[0014] After receiving the data processing request sent by the client, determining the request type corresponding to the data processing request;
[0015] Based on the request type, determining request header information included in the data processing request;
[0016] Based on the request header information, a data processing location corresponding to the data processing request is determined.
[0017] Optionally, sending the autonomous driving related data requested to be processed by the data processing request to a target proxy service determined by the data processing location includes:
[0018] Based on the gateway module, the autonomous driving related data requested for processing by the data processing request is serialized and sent to the target proxy service determined by the data processing location.
[0019] Optionally, the proxy service includes a proxy module and a data processing tool; the proxy module is used to communicate with the autonomous driving application through the data processing tool; based on the target proxy service, the autonomous driving related data requested to be processed by the data processing request is sent to the corresponding target application for processing, and the data processing result is obtained, including:
[0020] Based on the proxy module in the target proxy service, sending the autonomous driving related data requested to be processed by the data processing request to the target application, so that the target application processes the autonomous driving related data to obtain an initial processing result;
[0021] The data processing result is determined from the initial processing result based on the data processing tool included in the target proxy service.
[0022] Optionally, sending the data processing result to the target proxy service includes:
[0023] Determining a data transmission method between the proxy module and the data processing tool;
[0024] Based on the data transmission mode, the data processing result is sent to the proxy module of the target proxy service.
[0025] Optionally, the proxy module includes a cache module; the cache module is used to cache data processing results; the proxy module is also used to verify the data processing results; verifying the data processing results based on the target proxy service includes:
[0026] Based on the proxy module, according to the data receiving requirements of the client, verify the data processing result;
[0027] After determining that the verification is passed, if it is determined that the data volume corresponding to the data processing result is greater than a preset data volume threshold, the data processing result is saved in the cache module.
[0028] Optionally, the number of target proxy services corresponding to the data processing request is multiple; a gateway module is deployed in the intelligent driving computing platform; after verifying the data processing result based on the target proxy service, returning the data processing result to the client, including:
[0029] After verifying the data processing results based on the target proxy service, the data processing results corresponding to each target proxy service are sent to the gateway module;
[0030] After the gateway module aggregates the data processing results returned by each of the target proxy services, each of the data processing results is returned to the client according to the data feedback method configured by the gateway module.
[0031] Optionally, before receiving the data processing request sent by the client, the method further includes:
[0032] In response to a startup instruction for the intelligent driving computing platform, a preset configuration file is loaded; wherein the preset configuration file is used to establish a communication connection between the client and the intelligent driving computing platform based on the proxy service;
[0033] After the preset configuration file is verified, a communication connection is established among the client, the proxy service, and the intelligent driving computing platform.
[0034] In a second aspect, the present application provides a data processing device of an autonomous driving application graphical developer, which is applied to an intelligent driving computing platform; the intelligent driving computing platform includes at least one proxy service and at least one autonomous driving application developed according to the autonomous driving application graphical developer; the proxy service is used to establish a communication connection between the intelligent driving computing platform and a client; the device includes:
[0035] A receiving unit, configured to receive a data processing request sent by the client, and send the data processing request to a corresponding target proxy service; wherein the data processing request is used to request processing of autonomous driving related data;
[0036] a processing unit, configured to send the autonomous driving related data requested to be processed by the data processing request to a corresponding target application for processing based on the target proxy service, and obtain a data processing result;
[0037] A feedback unit is used to send the data processing result to the target proxy service, and after verifying the data processing result based on the target proxy service, return the data processing result to the client.
[0038] Optionally, a gateway module is further deployed in the intelligent driving computing platform; the gateway module is used to receive and forward data from the intelligent driving computing platform and the client; in this case, the receiving unit is used to:
[0039] After receiving the data processing request sent by the client, the data processing request is parsed and processed based on the gateway module to obtain a data processing location corresponding to the data processing request; wherein the data processing location is used to determine a target proxy service from the at least one proxy service;
[0040] The autonomous driving related data requested to be processed by the data processing request is sent to the target proxy service determined by the data processing location.
[0041] Optionally, a receiving unit, for:
[0042] After receiving the data processing request sent by the client, determining the request type corresponding to the data processing request;
[0043] Based on the request type, determining request header information included in the data processing request;
[0044] Based on the request header information, a data processing location corresponding to the data processing request is determined.
[0045] Optionally, a receiving unit, for:
[0046] Based on the gateway module, the autonomous driving related data requested for processing by the data processing request is serialized and sent to the target proxy service determined by the data processing location.
[0047] Optionally, the proxy service includes a proxy module and a data processing tool; the proxy module is used to communicate with the autonomous driving application through the data processing tool; in this case, the processing unit is used to:
[0048] Based on the proxy module in the target proxy service, sending the autonomous driving related data requested to be processed by the data processing request to the target application, so that the target application processes the autonomous driving related data to obtain an initial processing result;
[0049] The data processing result is determined from the initial processing result based on the data processing tool included in the target proxy service.
[0050] Optionally, the proxy module is further used to verify the data processing result; in this case, the processing unit is used to:
[0051] The data processing result is sent to the proxy module in the target proxy service, so that the proxy module in the target proxy service verifies the data processing result according to the data receiving requirement of the client.
[0052] Optional, feedback unit for:
[0053] Determining a data transmission method between the proxy module and the data processing tool;
[0054] Based on the data transmission mode, the data processing result is sent to the proxy module of the target proxy service.
[0055] Optionally, the number of target proxy services corresponding to the data processing request is multiple; a gateway module is deployed in the intelligent driving computing platform; in this case, the feedback unit is used to:
[0056] After verifying the data processing results based on the target proxy service, the data processing results corresponding to each target proxy service are sent to the gateway module;
[0057] After the gateway module aggregates the data processing results returned by each of the target proxy services, each of the data processing results is returned to the client according to the data feedback method configured by the gateway module.
[0058] Optionally, the device further comprises a configuration unit, configured to:
[0059] Before receiving the data processing request sent by the client, in response to a startup instruction for the intelligent driving computing platform, loading a preset configuration file; wherein the preset configuration file is used to establish a communication connection between the client and the intelligent driving computing platform based on the proxy service;
[0060] After the preset configuration file is verified, a communication connection is established among the client, the proxy service, and the intelligent driving computing platform.
[0061] In a third aspect, an embodiment of the present application provides an electronic device, including: a memory, a processor;
[0062] The memory stores computer-executable instructions;
[0063] The processor executes the computer-executable instructions stored in the memory, so that the processor executes the above-mentioned first aspect and / or various possible implementations of the first aspect.
[0064] 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.
[0065] 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.
[0066] The data processing method and device of the graphical developer of the autonomous driving application provided in the embodiment of the present application realize the communication connection between the tool chain and the intelligent driving computing platform by deploying a proxy service in the intelligent driving computing platform, that is, the intelligent driving computing platform can receive the data processing request sent by the client, and send the data processing request to the corresponding target proxy service; then, based on the target proxy service, the autonomous driving related data requested by the data processing request is sent to the corresponding target application for processing to obtain the data processing result; finally, the data processing result is sent to the target proxy service, and after the data processing result is verified based on the target proxy service, the data processing result is returned to the client. This implementation method can unify the format of the data communicated between the client and the intelligent driving computing platform through the proxy service, so that different tool chains and / or autonomous driving applications under different middleware can directly communicate data without adaptation development, which reduces the workload of developers, reduces development costs, and improves the flexibility, diversity and efficiency of development and testing of autonomous driving applications. BRIEF DESCRIPTION OF THE DRAWINGS
[0067] 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.
[0068] Figure 1 A flowchart of a data processing method for an autonomous driving application graphical developer provided in an embodiment of the present application Figure 1 ;
[0069] Figure 2 A flowchart of a data processing method for an autonomous driving application graphical developer provided in an embodiment of the present application Figure 2 ;
[0070] Figure 3 A schematic diagram of a structure for data communication between a client and a gateway provided in an embodiment of the present application;
[0071] Figure 4 A schematic diagram of a flow chart of a gateway module processing a data processing request provided in an embodiment of the present application;
[0072] Figure 5 A schematic diagram of a process for deploying a data development tool in a proxy service provided in an embodiment of the present application;
[0073] Figure 6 A schematic diagram of a process for determining a data development tool based on a software development tool kit provided in an embodiment of the present application;
[0074] Figure 7A schematic diagram of a process of compiling and running a data processing tool provided in an embodiment of the present application;
[0075] Figure 8 A schematic diagram of a process for performing data processing through a target proxy service provided in an embodiment of the present application;
[0076] Fig. 9 A schematic diagram of a process for loading a preset configuration file provided in an embodiment of the present application;
[0077] Fig.10 Schematic diagram of a data processing method for an autonomous driving application graphical developer provided in an embodiment of the present application Figure 1 ;
[0078] Fig.11 Schematic diagram of a data processing method for an autonomous driving application graphical developer provided in an embodiment of the present application Figure 2 ;
[0079] Fig.12 A schematic diagram of the structure of a data processing device of a graphical developer of an autonomous driving application provided in an embodiment of the present application;
[0080] Fig.13 A schematic diagram of the structure of a data processing device of another autonomous driving application graphical developer provided in an embodiment of the present application;
[0081] Fig.14 A schematic diagram of the structure of an electronic device provided in an embodiment of the present application.
[0082] 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
[0083] 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.
[0084] First, the terms involved in this application are explained:
[0085] Toolchain: is a multifunctional component that can call various tools to query and process tasks;
[0086] Middleware: Middleware is a software layer that sits between the operating system and applications and provides a range of services and functions to simplify application development, deployment, and integration;
[0087] Intelligent driving computing platform: It is one of the core technologies that support the operation of autonomous vehicles. It generally includes hardware and software components that can process data from vehicle sensors and perform complex computing tasks to realize the vehicle's autonomous driving function;
[0088] API: Application Programming Interface, application programming interface;
[0089] JSON: JavaScript Object Notation, JavaScript Object Notation, is an open standard file format and data exchange format that is easy for people to read and write, and easy for machines to parse and generate;
[0090] Protocol Buffers: is a data description language that can serialize structured data and can be used for data storage, communication protocols, etc.
[0091] HTTP: Hypertext Transfer Protocol, a request-response protocol;
[0092] RPC: high-performance remote procedure call protocol;
[0093] WebSocket: is a full-duplex communication protocol;
[0094] IoT: Internet of Things;
[0095] MQTT: Message Queue Telemetry Transport, a messaging protocol based on the publish-subscribe paradigm, can be applied to the Internet of Things;
[0096] CoAP: The Constrained Application Protocol, a computer protocol used in the Internet of Things;
[0097] SDK: Software Development Kit, software development kit.
[0098] Against the backdrop of the rapid development of intelligent driving technology, various tool chains, middleware and intelligent driving computing platforms are becoming more and more numerous.
[0099] Generally, the connection between the tool chain and the middleware / intelligent driving computing platform is fixed, thereby ensuring accurate communication between the tool chain and the middleware / intelligent driving computing platform.
[0100] At this time, on the one hand, in the process of developing autonomous driving technology, if multiple tool chains are needed, then it is necessary to align the data of multiple tool chains, otherwise errors may occur, which not only increases the workload, but also requires developers to have a high level of professionalism, increases costs, and affects the efficiency of the development or testing of autonomous driving technology; on the other hand, if it is necessary to replace any of the tool chains, middleware, and intelligent driving computing platforms, there will be problems such as interface incompatibility and differences in data formats. At this time, developers need to redevelop and adapt, which further increases the workload and development costs, and affects the efficiency of development and testing. In addition, during the maintenance process, there may be interface data alignment errors due to docking problems between different development teams.
[0101] At the same time, since the industry has not formed a unified adaptation standard between various intelligent driving computing platforms and various tool chains, it has fallen into the dilemma of reinventing the wheel.
[0102] The data processing method of the graphical developer of an autonomous driving application provided in the embodiment of the present application deploys a proxy service in the intelligent driving computing platform, and realizes data communication between the intelligent driving computing platform and the client where the tool chain is located through the deployed proxy service, so that the data format between the intelligent driving computing platform and the tool chain can be unified through the proxy service, thereby solving the problem of needing to redevelop and adapt when data communication is carried out between different intelligent driving computing platforms and / or different tools, reducing the workload and improving the development and testing efficiency of autonomous driving applications.
[0103] 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.
[0104] Figure 1 A flowchart of a data processing method for an autonomous driving application graphical developer provided in an embodiment of the present application Figure 1 ,like Figure 1 As shown, the method includes:
[0105] S101, receiving a data processing request sent by a client, and sending the data processing request to a corresponding target proxy service.
[0106] Among them, the data processing request is used to request the processing of autonomous driving related data.
[0107] The data processing method of the autonomous driving application graphical developer provided in the embodiment of the present application can be applied to an intelligent driving computing platform; the intelligent driving computing platform includes at least one proxy service and at least one autonomous driving application developed according to the autonomous driving application graphical developer.
[0108] Among them, the autonomous driving application included in the intelligent driving computing platform can be an application developed and designed by the autonomous driving application graphical developer in the client based on at least one middleware. At this time, when the client (for example, the autonomous driving application graphical developer, debugging tool, etc. included in the client) needs to communicate data with the intelligent driving computing platform or the autonomous driving application included in the intelligent driving computing platform, the client is generally required to adapt to the intelligent driving computing platform / autonomous driving application (or the middleware corresponding to the autonomous driving application) to ensure accurate data communication.
[0109] Based on this, the embodiment of the present application can deploy a proxy service in the intelligent driving computing platform, thereby establishing a communication connection between the intelligent driving platform and the client based on the proxy service, that is, establishing a communication connection between the autonomous driving application / the middleware corresponding to the autonomous driving application and the client.
[0110] In one example, the number of proxy services included in the intelligent driving computing platform is associated with the number of system-level chips included in the intelligent driving computing platform. In this case, one proxy service can be deployed on each system-level chip, and each proxy service is used to communicate data with one or more autonomous driving applications / middleware to achieve data processing.
[0111] In an embodiment of the present application, a data processing request can be initiated through a client including a tool chain (for example, the tool chain can instruct an autonomous driving application graphical developer and various debugging tools), and the data processing request can be sent through a target proxy service to an intelligent driving computing platform / autonomous driving application for data processing.
[0112] In one example, the client can be understood as a computer terminal or a server terminal, which is not limited here.
[0113] In one example, a data processing request can be used to request to obtain data or to request to execute data. There is no limitation on the processing type corresponding to the data processing request, which is based on actual needs.
[0114] S102. Based on the target proxy service, the autonomous driving related data requested for processing by the data processing request is sent to the corresponding target application for processing to obtain the data processing result.
[0115] In one example, the autonomous driving related data requested to be processed by the data processing request may indicate test data for implementing the autonomous driving function, or may indicate monitoring data when the intelligent driving computing platform implements the autonomous driving function, or may indicate log data when the intelligent driving computing platform implements the autonomous driving function, etc. There is no limitation on the type of autonomous driving related data requested to be processed by the data processing request, and it shall be based on meeting actual needs.
[0116] S103: Send the data processing result to the target proxy service, verify the data processing result based on the target proxy service, and then return the data processing result to the client.
[0117] In one example, the target proxy service may perform data verification and format processing on the data processing result, thereby ensuring the accuracy of the data processing result returned to the client.
[0118] In an example, it is assumed that the tool chain corresponding to the client indicates a performance monitoring tool. At this time, a performance indicator data acquisition request can be initiated through the client where the performance monitoring tool is located, and the performance indicator data acquisition request can be sent to the corresponding target proxy service, so that the data parameter information requested by the performance indicator data acquisition request can be sent to the middleware of the intelligent driving computing platform through the target proxy service, thereby obtaining the corresponding performance indicator data and returning it to the client, thereby realizing the monitoring of the performance indicator data.
[0119] Alternatively, the tool chain corresponding to the client indicates an autonomous driving functional testing tool. In this case, a functional testing request can be initiated through the client where the autonomous driving functional testing tool is located, and the functional testing request can be sent to the corresponding target proxy service, so that the functional testing data requested for processing by the functional testing request can be sent through the target proxy service to the middleware of the intelligent driving computing platform for functional testing, and the functional testing results can be returned to the client.
[0120] From the above description, it can be seen that the embodiment of the present application realizes the communication connection between the tool chain and the intelligent driving computing platform by deploying a proxy service in the intelligent driving computing platform, that is, the intelligent driving computing platform can receive the data processing request sent by the client, and send the data processing request to the corresponding target proxy service; then, based on the target proxy service, the autonomous driving related data requested by the data processing request is sent to the corresponding target application for processing to obtain the data processing result; finally, the data processing result is sent to the target proxy service, and after the data processing result is verified based on the target proxy service, the data processing result is returned to the client. This implementation method can unify the format of the data communicated between the client and the intelligent driving computing platform through the proxy service, so that different tool chains and / or autonomous driving applications under different middleware can directly communicate data without adaptation development, which reduces the workload of developers, reduces development costs, and improves the flexibility, diversity and efficiency of development and testing of autonomous driving applications.
[0121] Figure 2 A flowchart of a data processing method for an autonomous driving application graphical developer provided in an embodiment of the present application Figure 2 The method is applied to an intelligent driving computing platform; the intelligent driving computing platform includes at least one proxy service and at least one autonomous driving application developed according to an autonomous driving application graphical developer; the proxy service is used to establish a communication connection between the intelligent driving computing platform and the client.
[0122] like Figure 2 As shown, the method includes:
[0123] S201, receiving a data processing request sent by a client, and sending the data processing request to a corresponding target proxy service.
[0124] Among them, the data processing request is used to request the processing of autonomous driving related data.
[0125] In a possible implementation, if the intelligent driving computing platform includes a proxy service, then after the intelligent driving computing platform receives a data processing request sent by a client, the autonomous driving related data requested for processing by the data processing request can be sent to the target proxy service in accordance with a preset data serialization format.
[0126] In an example, the preset data serialization format may be a JSON format, a Protocol Buffers format, or the like.
[0127] In another possible implementation, if the intelligent driving computing platform includes multiple proxy services, a gateway module may also be deployed in the intelligent driving computing platform; in this case, the gateway module is used to receive and forward data from the intelligent driving computing platform and the client. For example, the gateway module may forward data processing requests issued by the client, receive and forward data processing results transmitted by the target proxy service, etc.
[0128] Based on this, with respect to the above S201: receiving a data processing request sent by a client, and sending the data processing request to a corresponding target proxy service, the following process may be specifically included:
[0129] First, after receiving a data processing request sent by a client, the data processing request is parsed and processed based on the gateway module to obtain a data processing location corresponding to the data processing request; wherein the data processing location is used to determine a target proxy service from at least one proxy service.
[0130] Then, the autonomous driving related data requested for processing by the data processing request is sent to the target proxy service determined by the data processing location.
[0131] For example, based on the gateway module, the autonomous driving related data requested by the data processing request can be serialized and sent to the target proxy service determined by the data processing location. At this time, based on the gateway module, the autonomous driving related data requested by the data processing request can be serialized according to the above-mentioned preset data serialization format, thereby ensuring the uniformity of the format of the data sent to the target proxy service.
[0132] In one example, when a gateway module is deployed in the intelligent driving computing platform, the gateway module can be deployed as a separate module.
[0133] Alternatively, the gateway module may be deployed in any of the multiple proxy services. In this case, the proxy service deployed with the gateway module may receive the data processing request sent by the client, and after the gateway module determines the data processing location corresponding to the data processing request, the autonomous driving related data requested for processing by the data processing request may be sent to the target proxy service determined by the data processing location.
[0134] This implementation method can use the gateway module as the entry point to manage the inflow and outflow of client data processing requests, thereby ensuring that the data processing requests are sent to the corresponding target proxy service and the corresponding middleware for processing, thereby ensuring the accuracy of data processing.
[0135] Optionally, the embodiments of the present application can support a wide range of communication protocols, for example, including but not limited to: HTTP, RPC, WebSocket, IoT protocols (for example, MQTT protocol, CoAP protocol, etc.), which can not only ensure the real-time and accurate sending of data processing requests, but also simplify the integration between different systems and devices, avoid developing an adaptation layer separately for each communication protocol, and have high flexibility and strong scalability.
[0136] For example, see Figure 3 , Figure 3 A schematic diagram of a structure of data communication between a client and a gateway provided in an embodiment of the present application, such as Figure 3 As shown, after the client initiates a data processing request, it can use the network service corresponding to any data communication protocol supported by the gateway module (for example, Figure 3 The WebSocket service, HTTP service, RPC service, etc. shown in the figure) receives the data processing request and parses the data processing request.
[0137] At this time, after receiving the data processing request sent by the client, the intelligent driving computing platform parses and processes the data processing request based on the gateway module. When obtaining the data processing location corresponding to the data processing request, it can first determine the request type corresponding to the data processing request, and then, based on the request type, determine the request header information included in the data processing request. Finally, based on the request header information, determine the data processing location corresponding to the data processing request.
[0138] In one example, the gateway module may include a routing module, so that the data processing request can be routed to the corresponding target proxy service according to the routing module. At this time, the proxy service corresponding to the gateway module can be determined by configuring the routing module, so that the data communication between the client and the proxy service can be flexibly adjusted.
[0139] In one example, after parsing the data processing request based on the gateway module, in addition to determining the data processing location corresponding to the data processing request, the processing type of the autonomous driving related data requested to be processed by the data processing request can also be determined. Therefore, according to the processing type of the autonomous driving data, the autonomous driving related data requested to be processed by the data processing request is sent to the target proxy service determined by the data processing location.
[0140] For example, see Figure 4 , Figure 4 A schematic diagram of a flow chart of a gateway module processing a data processing request provided in an embodiment of the present application, such as Figure 4As shown, after the gateway module receives the data processing request sent by the client, the data processing request can be parsed and processed to determine the data processing location corresponding to the data processing request, and then the processing type corresponding to the data processing request can be determined. Then, the data processing request can be sent to the target proxy service corresponding to the data processing location, and the data processing queue corresponding to the data processing request can be determined according to the processing type, so as to send the autonomous driving related data requested by the data processing request to the corresponding data processing queue, and wait for the target proxy service to process it.
[0141] This implementation method can process data requests in parallel, thereby improving data processing efficiency and meeting the development and testing requirements of parallel autonomous driving applications. At the same time, it can also quickly integrate new data sources and implement new functions through data processing queues, which improves the flexibility and scalability of the development and testing of autonomous driving applications while reducing maintenance difficulty and costs.
[0142] In one example, if the intelligent driving computing platform includes multiple proxy services, a gateway module can also be deployed on the client side to receive and forward data from the intelligent driving computing platform and the client through the gateway module. For example, the gateway module can forward data processing requests issued by the client, receive and forward data processing results transmitted by the target proxy service, etc. For details, please refer to the above description, which will not be repeated here.
[0143] In one example, the proxy service includes a proxy module and a data processing tool; the proxy module is used to communicate with the autonomous driving application through the data processing tool.
[0144] In one example, the number of data processing tools included in the proxy service may be one or more. There is no limitation on the number of data processing tools included in the proxy service, and the number is determined based on actual needs.
[0145] In this case, after sending the data processing request to the corresponding target proxy service according to the process described above, the steps described below may be continued.
[0146] S202. Based on the proxy module in the target proxy service, the autonomous driving related data requested for processing by the data processing request is sent to the target application, so that the target application processes the autonomous driving related data to obtain an initial processing result.
[0147] S203: Determine a data processing result from the initial processing result based on the data processing tool included in the target proxy service.
[0148] In one example, an embodiment of the present application can deploy a data processing tool in a proxy service through a plug-in deployment method.
[0149] At this time, the data processing tool can obtain the data processing results from the initial data processing results without any sense of interference, so as to achieve seamless access, thereby avoiding affecting the normal operation of the autonomous driving application / target application.
[0150] For details, see Figure 5 , Figure 5 A flow chart of deploying a data development tool in a proxy service provided in an embodiment of the present application is as follows: Figure 5 As shown, the user can first upload or download the corresponding plug-in file, and then enter the corresponding command in the command line, so as to determine whether to load the plug-in, update the plug-in or uninstall the plug-in according to the type of the input command, thereby realizing the loading, updating or uninstalling of the plug-in, which not only realizes the flexible deployment of data processing tools, but also reduces unnecessary resource occupation and avoids redundant deployment.
[0151] In one possible implementation, the design and development of data development tools can be completed based on the software development kit provided by the proxy service. In this case, the software development kit provides communication protocols and data protocols supported by the proxy module, thereby constraining the data format and ensuring information security during data transmission.
[0152] See also Figure 6 , Figure 6 A flowchart of determining a data development tool based on a software development tool kit is provided in an embodiment of the present application, such as Figure 6 As shown, you can first obtain the software development kit provided by the proxy service, then create a development directory to paste the sample program corresponding to the software development kit, and determine the data processing tool by adaptively modifying the sample program. At this time, the data processing tool can be used to obtain data or execute data, thereby achieving data acquisition or data execution.
[0153] After at least one data processing tool is determined according to the above process, the configuration file in the proxy service can be modified to add data acquisition or data execution functions that can be implemented by the data processing tool, thereby achieving docking between the proxy module and the data processing tool.
[0154] Afterwards, the compilation script of the data processing tool can be modified (for example, the compilation parameters and compilation tools in the compilation script are modified) so as to compile and deploy the data processing tool in the intelligent driving computing platform.
[0155] In one example, the software development kit provided by the proxy service has the feature of being written once for multiple devices, so that the data processing tool can be compatible with different types of devices (i.e., smart driving computing platform, i.e., operating environment). Among them, multiple types of devices can indicate: Linux devices, Windows devices, macOS devices, etc.
[0156] At this time, if the operating environment corresponding to the proxy service changes, there is no need to rewrite the code. You only need to modify the compilation parameters and the compilation tools used in the compilation process to make the data processing tools adapt to the new intelligent driving computing platform / operating environment / device.
[0157] For example, see Figure 7 , Figure 7 A flowchart of a compiling and running data processing tool provided in an embodiment of the present application is shown in FIG. Figure 7 As shown, after the development of the data processing tool is completed using the software development kit provided by the proxy service, the data processing tool developed according to the software development kit can be compiled and run in the compilation module provided by the intelligent driving computing platform. Figure 7 As shown, the developed data processing tool can be run on an X86 host, an ARM host or other types of hosts through compilation parameters and compilation tools.
[0158] In the above implementation, the development and design of the data processing tool can be completed through the software development kit provided by the proxy service, so that the development of the data processing tool is simple and unified. At the same time, by modifying the compilation parameters and compilation tools of the data processing tool, the data processing tool can be compatible with different types of devices, which improves the flexibility of the data processing tool, thereby improving the application scenarios of the proxy service, thereby improving the application scenarios of the data processing method of the graphical developer of the autonomous driving application, and thus meeting the development and testing requirements of the autonomous driving application on different devices.
[0159] In one example, after obtaining the data processing result, the data processing result may be sent to the target proxy service. For details, please refer to the process described below.
[0160] S204: Determine the data transmission method between the proxy module and the data processing tool.
[0161] S205: Based on the data transmission method, the data processing result is sent to the proxy module of the target proxy service.
[0162] In an example, the data transmission mode may be: a post-request transmission mode or a real-time transmission mode.
[0163] For example, the post-request transmission method may be: the proxy module may request the data processing result from the data processing tool, thereby sending the data processing result to the proxy module, that is, the target proxy service.
[0164] The real-time transmission method is: after the data processing tool obtains the data processing result, it sends the data processing result to the proxy module, that is, the target proxy service method.
[0165] At this time, the proxy module may include a data acquisition module and a data receiving module, wherein the data acquisition module is used to actively pull data processing results from the data processing tool according to the data processing request; the data receiving module is used to receive the data processing results actively sent by the data processing tool.
[0166] This implementation can enrich the data transmission method between the proxy module and the data processing tool, thereby meeting the development and testing needs of various autonomous driving applications.
[0167] In one example, the data processing result is data integrated by a data processing tool provided by a proxy service. At this time, the data processing result can be sent to a proxy module in a target proxy service so that the data processing result can be verified again by the proxy module.
[0168] On the one hand, it can verify whether the data processing result matches the data processing request initiated by the client, and on the other hand, it can verify whether the data processing result meets the client's data receiving requirements, thereby further ensuring the accuracy of the data processing result returned to the client.
[0169] At this time, the proxy module is used to verify the data processing results (the proxy module here is the same as the above proxy module, used for different purposes); the proxy module includes a cache module; the cache module is used to cache the data processing results. At this time, the data processing results are verified based on the target proxy service, which can be specifically described as the following process.
[0170] Based on the proxy module, the data processing results are verified according to the client's data receiving requirements; after determining that the verification is passed, if it is determined that the data volume corresponding to the data processing results is greater than the preset data volume threshold, the data processing results are saved in the cache module.
[0171] This implementation method can perform verification processing before sending the data processing results to the client to ensure that the data can be adapted to the client and meet the requirements of the client.
[0172] At the same time, this implementation method can cache the data processing results through the cache module when the data volume corresponding to the data processing results is large. Not only can the cache module ensure the accuracy of the data processing results and avoid the loss of data processing results, but the cache module can also support fast query and access to data processing results, reduce direct calls to the underlying data source, thereby ensuring the accuracy and effectiveness of the data processing results obtained by the client during the development and testing of the autonomous driving application, thereby improving the accuracy of development and testing of developers of autonomous driving applications.
[0173] In one example, the proxy module can also clean up the data in the cache module regularly according to the timer. For example, after the data processing result is returned to the client, the cached data of the data processing result in the cache module can be promptly cleared. The data that has not been used for a long time can also be cleaned up regularly to ensure that the data cached in the cache module is the latest data and the performance of the cache module can be ensured. This implementation method can ensure that the cache module has sufficient cache space to cope with the development and testing process of the autonomous driving application, thereby ensuring that the development and testing of the autonomous driving application is carried out smoothly and effectively.
[0174] In one possible implementation, a coroutine pool may be introduced into the intelligent driving computing platform, so that the maximum concurrency can be controlled according to the performance of the intelligent driving computing platform, thereby making data processing more efficient and stable.
[0175] S206: After verifying the data processing result based on the target proxy service, the data processing result is returned to the client.
[0176] In a possible implementation, since the intelligent driving computing platform may include multiple proxy services, when a data processing request initiated by the client indicates data processing based on multiple target proxy services, the data processing results obtained by the multiple target proxy services can be aggregated together through the gateway module deployed in the intelligent driving computing platform and then sent to the client.
[0177] Specifically, when the number of target proxy services corresponding to the data processing request is multiple, a gateway module is also deployed in the intelligent driving computing platform; at this time, after verifying the data processing result based on the target proxy service, the process of returning the data processing result to the client can be described as follows.
[0178] First, after verifying the data processing results based on the target proxy service, the data processing results corresponding to each target proxy service are sent to the gateway module.
[0179] Then, after the data processing results returned by each target proxy service are aggregated based on the gateway module, each data processing result is returned to the client according to the data feedback mode configured by the gateway module.
[0180] In one example, the data feedback method can be understood as the data communication method between the gateway module and the client. For example, the data feedback method can include but is not limited to: the shortest time full response push method, the timed data push method, the sequential push method, etc.
[0181] Among them, the shortest time full response push mode can be understood as: pushing data within the response time, if the response time is exceeded, the data will not be pushed this time, and the data will be pushed within the next response time.
[0182] The timed data push method can be understood as: regularly pushing data at certain time intervals. At this time, the regularly pushed data may include empty data.
[0183] The sequential push mode can be understood as: only valid data is pushed. At this time, the data pushed in the sequential push mode does not include empty data.
[0184] At this time, you can choose the corresponding data push method, that is, the data feedback method, according to the actual business application scenario.
[0185] It should be noted here that, when the number of target proxy services is one, the data processing result may be returned to the client through the gateway module, or the data processing result may be directly returned to the client, which is not specifically limited here.
[0186] In the above implementation, the data push mode can be set through the gateway module to meet the data processing requirements of the actual business scenario. At the same time, the client can also have the ability to connect to multiple proxy services / multiple autonomous driving applications / multiple system-level chips at the same time, thereby improving the efficiency and performance of data processing.
[0187] At this time, the client can be used to develop and test autonomous driving applications under different middleware frameworks and / or autonomous driving applications running in different system-level chips, so that the autonomous driving applications can be developed and tested simply, directly, comprehensively and effectively, which not only improves the development efficiency of autonomous driving applications, but also improves the accuracy of autonomous driving application development.
[0188] In a possible implementation, before returning the data processing result to the client, the data processing result may be deserialized to obtain a data format that matches the client, and then the data processing result having the matching data format may be returned to the client. For example, in the case where a gateway module is included, the data processing result may be deserialized by the gateway module, or in the case where a gateway module is not included, the data processing result may be deserialized by a proxy service.
[0189] In a possible implementation, in addition to the above-mentioned data processing through the middleware deployed with the software development kit, it is also possible to initiate a command line instruction (the initiated command line instruction is also a data processing request) and send the command line instruction to the target proxy service. Then, the data processing operation matching the command line instruction can be directly executed in the target proxy service to complete the data processing.
[0190] See also Figure 8 , Figure 8 A flow chart of data processing by a target proxy service provided in an embodiment of the present application is as follows: Figure 8 As shown, the client can pull data through a data processing request, or receive data sent by a proxy service, or initiate a command through a command line to process data. At this time, after receiving the data processing request / command sent by the client, the proxy service can send the autonomous driving related data requested for processing by the data processing request to the data processing module through the data sending module included in the proxy service, so as to send the autonomous driving related data to the data processing tool through the data processing module, thereby obtaining data or executing data from the running autonomous driving application according to the data processing tool to obtain the data processing result. At this time, the proxy service can actively pull the data processing result (that is, pull data), or it can also receive the pushed data processing result (that is, push data), so that the data processing result is verified and processed by the data processing module. And after the verification is passed, on the one hand, it is directly returned to the client through the data sending module, and on the other hand, the data processing result can be first saved to the cache module, and when it is determined that the feedback requirements are met, the corresponding data processing result is obtained from the cache module according to the data sending module and returned to the client.
[0191] This implementation method can improve the flexibility of data processing through a variety of data processing methods, so as to quickly respond to various scenario requirements, reduce the user's start-up cost, reduce the complexity of operation, and thus simplify the user's development and testing operations for autonomous driving applications, and improve the efficiency of development and testing of autonomous driving applications. At the same time, this implementation method provides users with a more efficient and convenient data processing method, avoiding the delay caused by manual operation and the high cost of developing temporary programs, and shortening the cycle of autonomous driving application development and testing.
[0192] Furthermore, before performing data processing according to the various embodiments described above, it is necessary to first establish a network topology relationship between the client, various proxy services, and various autonomous driving applications (that is, the intelligent driving computing platform) so that the client and the autonomous driving application can establish a communication connection.
[0193] Specifically, a preset configuration file may be loaded in response to a startup instruction for the intelligent driving computing platform; after the preset configuration file is verified, a communication connection is established among the client, the proxy service, and the intelligent driving computing platform.
[0194] Among them, the preset configuration file is used to establish a communication connection between the client and the intelligent driving computing platform based on the proxy service.
[0195] In one example, the preset configuration file can be used at least to: configure the proxy service corresponding to the client, configure the proxy service connected to the gateway module, configure the routing module included in the gateway module, configure the data processing tool created according to the software development kit provided by the proxy service, etc.
[0196] At this time, when verifying the preset configuration file, you can verify whether the configuration parameters in the preset configuration file (for example, client address, intelligent driving computing platform address, intermediate point address, docking port name, software development kit, IP address, etc.) are complete and accurate, and after the preset configuration file is verified, establish a communication connection between the client, proxy service, and intelligent driving computing platform.
[0197] For an example, see Fig. 9 , Fig. 9 A schematic diagram of a process for loading a preset configuration file provided in an embodiment of the present application is shown in FIG. Fig. 9 As shown, in the intelligent driving platform, and the proxy service and middleware service included in the intelligent driving platform are started (that is, Fig. 9After the program shown in the figure is started, the preset configuration file can be loaded. At this time, it can be verified whether the preset configuration file has passed the verification. If it has passed, the communication protocol and data protocol supported by the preset configuration file are loaded, and the data processing tool is checked. After that, the intelligent driving computing platform, proxy service and middleware service can be run according to the configuration of the preset configuration file.
[0198] If it fails, first determine whether there is a configuration that has been successfully run. If so, use the configuration that was successfully run last time. If not, use the default configuration. After that, load the communication protocol, data protocol, and check the data processing tool. After that, you can run the autonomous driving application, proxy service, and middleware service in the intelligent driving computing platform according to the configuration of the preset configuration file.
[0199] See also Fig.10 , Fig.10 Schematic diagram of a data processing method for an autonomous driving application graphical developer provided in an embodiment of the present application Figure 1 ,like Fig.10 As shown, the front-end software in the client (that is, the tools included in the tool chain, such as graphical developers, debugging tools, etc.) can communicate with the intelligent driving computing platform to process data. At this time, the intelligent driving computing platform may include one or more system-level chips, such as Fig.10 As shown, the intelligent driving computing platform includes two system-level chips, namely system-level chip 1 and system-level chip 2. At this time, the system-level chip 1 can be deployed with a gateway module, a proxy service (including at least a proxy module and a data processing tool) and one or more autonomous driving applications.
[0200] At this time, each foreground software corresponding to the client can initiate a data processing request and perform data processing according to the various embodiments described above, which will not be described in detail here.
[0201] See also Fig.11 , Fig.11 Schematic diagram of a data processing method for an autonomous driving application graphical developer provided in an embodiment of the present application Figure 2 ,like Fig.11 As shown, the architecture may include at least a presentation layer, a gateway layer, a proxy layer and a data processing layer.
[0202] The presentation layer indicates the layer where the client is located. At this time, a data processing request can be initiated through the client included in the presentation layer.
[0203] The gateway layer is the entrance to the proxy service. At this time, after being configured according to the configuration module, the gateway layer is used to manage the inflow and outflow of data with the presentation layer. For example, it can be responsible for the conversion, reception, verification, routing, etc. of the communication protocol corresponding to the data processing request initiated by the presentation layer, thereby ensuring that the data processing request can be accurately and effectively transmitted to the corresponding proxy service.
[0204] At the same time, the data aggregation module can also aggregate the data processing results from multiple proxy services / proxy layers and send them to the presentation layer.
[0205] like Fig.11 As shown, the gateway layer may also include an independent command module for receiving commands and a log module for recording gateway logs.
[0206] The proxy layer may include a data acquisition module, a monitoring module, a communication module, a log module, a command module, and a persistence layer. The data acquisition module is used to pull or receive the data processing results obtained by the data processing layer; the monitoring module is used to monitor the proxy layer; the communication module is used to support the proxy layer to communicate with upstream and downstream; the log module is used to record the log data of the proxy layer; the command module is used to receive / execute commands; and the persistence layer is used to cache the data processing results.
[0207] The data processing layer may include data processing tools and communication modules created according to a software development kit, thereby enabling data processing and communication.
[0208] Fig.12 A schematic diagram of the structure of a data processing device of an autonomous driving application graphical developer provided in an embodiment of the present application, the device is applied to an intelligent driving computing platform; the intelligent driving computing platform includes at least one proxy service and at least one autonomous driving application developed according to the autonomous driving application graphical developer; the proxy service is used to establish a communication connection between the intelligent driving computing platform and the client. Fig.12 As shown, the data processing device 1200 provided in this embodiment includes:
[0209] The receiving unit 1201 is used to receive a data processing request sent by a client and send the data processing request to a corresponding target proxy service; wherein the data processing request is used to request processing of autonomous driving related data.
[0210] The processing unit 1202 is used to send the autonomous driving related data requested for processing by the data processing request to the corresponding target application for processing based on the target proxy service to obtain the data processing result.
[0211] The feedback unit 1203 is used to send the data processing result to the target proxy service, and after verifying the data processing result based on the target proxy service, return the data processing result to the client.
[0212] Fig.13 A structural diagram of another data processing device of an autonomous driving application graphical developer provided in an embodiment of the present application, the device is applied to an intelligent driving computing platform; the intelligent driving computing platform includes at least one proxy service and at least one autonomous driving application developed according to the autonomous driving application graphical developer; the proxy service is used to establish communication between the intelligent driving computing platform and the client. Fig.13 As shown, the data processing device 1300 provided in this embodiment includes:
[0213] The receiving unit 1301 is used to receive a data processing request sent by a client, and send the data processing request to a corresponding target proxy service; wherein the data processing request is used to request processing of autonomous driving related data;
[0214] The processing unit 1302 is used to send the autonomous driving related data requested to be processed by the data processing request to the corresponding target application for processing based on the target proxy service to obtain a data processing result;
[0215] The feedback unit 1303 is used to send the data processing result to the target proxy service, and after verifying the data processing result based on the target proxy service, return the data processing result to the client.
[0216] Optionally, a gateway module is also deployed in the intelligent driving computing platform; the gateway module is used to receive and forward data from the intelligent driving computing platform and the client; in this case, the receiving unit 1301 is used to:
[0217] After receiving the data processing request sent by the client, the data processing request is parsed and processed based on the gateway module to obtain a data processing location corresponding to the data processing request; wherein the data processing location is used to determine a target proxy service from at least one proxy service;
[0218] The autonomous driving related data requested for processing by the data processing request is sent to the target proxy service determined by the data processing location.
[0219] Optionally, the receiving unit 1301 is configured to:
[0220] After receiving the data processing request sent by the client, determine the request type corresponding to the data processing request;
[0221] Based on the request type, determine the request header information included in the data processing request;
[0222] Based on the request header information, determine the data processing location corresponding to the data processing request.
[0223] Optionally, the receiving unit 1301 is configured to:
[0224] Based on the gateway module, the autonomous driving related data requested by the data processing request is serialized and sent to the target proxy service determined by the data processing location.
[0225] Optionally, the proxy service includes a proxy module and a data processing tool; the proxy module is used to communicate with the autonomous driving application through the data processing tool; in this case, the processing unit 1302 is used to:
[0226] Based on the proxy module in the target proxy service, the autonomous driving related data requested to be processed by the data processing request is sent to the target application, so that the target application processes the autonomous driving related data to obtain an initial processing result;
[0227] Based on the data processing tools included in the target proxy service, a data processing result is determined from the initial processing result.
[0228] Optionally, the feedback unit 1303 is used to:
[0229] Determine the data transmission method between the data feedback method proxy module and the data feedback method data processing tool;
[0230] Based on the data feedback mode data transmission mode, the data feedback mode data processing result is sent to the proxy module of the data feedback mode target proxy service.
[0231] Optionally, the data feedback proxy module includes a cache module; the data feedback cache module is used to cache the data processing result; the data feedback proxy module is also used to verify the data processing result; in this case, the feedback unit 1303 is used to:
[0232] Based on the data feedback mode proxy module, the data feedback mode data processing result is verified according to the data receiving requirements of the data feedback mode client;
[0233] After determining that the verification is passed, if it is determined that the data volume corresponding to the data processing result of the data feedback mode is greater than the preset data volume threshold, the data processing result of the data feedback mode is saved in the data feedback mode cache module.
[0234] Optionally, there are multiple target proxy services corresponding to the data processing request; a gateway module is deployed in the intelligent driving computing platform; at this time, the feedback unit 1303 is used to:
[0235] After verifying the data processing results based on the target proxy service, the data processing results corresponding to each target proxy service are sent to the gateway module;
[0236] After the data processing results returned by each target proxy service are aggregated based on the gateway module, each data processing result is returned to the client according to the data feedback method configured by the gateway module.
[0237] Optionally, the apparatus further includes a configuration unit 1304, configured to:
[0238] Before receiving a data processing request sent by a client, in response to a startup instruction for the intelligent driving computing platform, a preset configuration file is loaded; wherein the preset configuration file is used to establish a communication connection between the client and the intelligent driving computing platform based on a proxy service;
[0239] After the preset configuration file is verified, a communication connection is established between the client, proxy service, and intelligent driving computing platform.
[0240] The data processing device of the autonomous driving application graphical developer provided in this embodiment can execute the method provided in the above method embodiment. Its implementation principle and technical effect are similar, and this embodiment will not be described in detail here.
[0241] Fig.14 This is a schematic diagram of the structure of an electronic device provided in an embodiment of the present application. Fig.14 As shown, the electronic device 1400 provided in this embodiment includes: at least one processor 1401 and a memory 1402. Optionally, the device 1400 also includes a communication component 1403. The processor 1401, the memory 1402 and the communication component 1403 are connected via a bus 1404.
[0242] In a specific implementation process, at least one processor 1401 executes the computer-executable instructions stored in the memory 1402, so that at least one processor 1401 executes the above method.
[0243] The specific implementation process of the processor 1401 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.
[0244] 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.
[0245] 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 storage.
[0246] 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.
[0247] The present application also provides a computer program product, including a computer program, which implements the above method when executed by a processor.
[0248] 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.
[0249] 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.
[0250] 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.
[0251] 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.
[0252] 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.
[0253] 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.
[0254] 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 enabling an electronic device (which can be a personal computer, server, or network device, etc.) to perform all or part of the steps of the methods of various embodiments 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, and other media that can store program codes.
[0255] 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.
[0256] 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 data processing method for an autonomous driving application graphical developer, characterized in that: Applied to an intelligent driving computing platform; the intelligent driving computing platform includes at least one proxy service and at least one autonomous driving application developed according to an autonomous driving application graphical developer; The proxy service is used to establish a communication connection between the intelligent driving computing platform and the client; the method includes: receiving a data processing request sent by the client, and sending the data processing request to a corresponding target proxy service; wherein the data processing request is used to request processing of autonomous driving related data; Based on the target proxy service, the autonomous driving related data requested to be processed by the data processing request is sent to the corresponding target application for processing to obtain a data processing result; The data processing result is sent to the target proxy service, and after the data processing result is verified based on the target proxy service, the data processing result is returned to the client.
2. The method according to claim 1, characterized in that A gateway module is also deployed in the intelligent driving computing platform; the gateway module is used to receive and forward data from the intelligent driving computing platform and the client; Receiving a data processing request sent by the client, and sending the data processing request to a corresponding target proxy service, including: After receiving the data processing request sent by the client, the data processing request is parsed and processed based on the gateway module to obtain a data processing location corresponding to the data processing request; wherein the data processing location is used to determine a target proxy service from the at least one proxy service; The autonomous driving related data requested to be processed by the data processing request is sent to the target proxy service determined by the data processing location.
3. The method according to claim 2, characterized in that After receiving the data processing request sent by the client, the data processing request is parsed and processed based on the gateway module to obtain the data processing location corresponding to the data processing request, including: After receiving the data processing request sent by the client, determining the request type corresponding to the data processing request; Based on the request type, determining request header information included in the data processing request; Based on the request header information, a data processing location corresponding to the data processing request is determined.
4. The method according to claim 2, characterized in that: Sending the autonomous driving related data requested to be processed by the data processing request to the target proxy service determined by the data processing location includes: Based on the gateway module, the autonomous driving related data requested for processing by the data processing request is serialized and sent to the target proxy service determined by the data processing location.
5. The method according to claim 1, characterized in that The proxy service includes a proxy module and a data processing tool; the proxy module is used to communicate with the autonomous driving application through the data processing tool; based on the target proxy service, the autonomous driving related data requested to be processed by the data processing request is sent to the corresponding target application for processing, and the data processing result is obtained, including: Based on the proxy module in the target proxy service, sending the autonomous driving related data requested to be processed by the data processing request to the target application, so that the target application processes the autonomous driving related data to obtain an initial processing result; The data processing result is determined from the initial processing result based on the data processing tool included in the target proxy service.
6. The method according to claim 5, characterized in that Sending the data processing result to the target proxy service includes: Determining a data transmission method between the proxy module and the data processing tool; Based on the data transmission mode, the data processing result is sent to the proxy module of the target proxy service.
7. The method according to claim 6, characterized in that The proxy module is also used to verify the data processing results; the proxy module includes a cache module; the cache module is used to cache the data processing results; Performing verification processing on the data processing result based on the target proxy service includes: Based on the proxy module, according to the data receiving requirements of the client, verify the data processing result; After determining that the verification is passed, if it is determined that the data volume corresponding to the data processing result is greater than a preset data volume threshold, the data processing result is saved in the cache module.
8. The method according to any one of claims 1 to 7, characterized in that The number of target proxy services corresponding to the data processing request is multiple; a gateway module is deployed in the intelligent driving computing platform; After verifying the data processing result based on the target proxy service, returning the data processing result to the client, including: After verifying the data processing results based on the target proxy service, the data processing results corresponding to each target proxy service are sent to the gateway module; After the gateway module aggregates the data processing results returned by each of the target proxy services, each of the data processing results is returned to the client according to the data feedback method configured by the gateway module.
9. The method according to any one of claims 1 to 7, characterized in that: Before receiving the data processing request sent by the client, the method further includes: In response to a startup instruction for the intelligent driving computing platform, a preset configuration file is loaded; wherein the preset configuration file is used to establish a communication connection between the client and the intelligent driving computing platform based on the proxy service; After the preset configuration file is verified, a communication connection is established among the client, the proxy service, and the intelligent driving computing platform.
10. A data processing device for an autonomous driving application graphical developer, characterized in that: Applied to an intelligent driving computing platform; the intelligent driving computing platform includes at least one proxy service and at least one autonomous driving application developed according to an autonomous driving application graphical developer; The proxy service is used to establish a communication connection between the intelligent driving computing platform and the client; the device includes: A receiving unit, configured to receive a data processing request sent by the client, and send the data processing request to a corresponding target proxy service; wherein the data processing request is used to request processing of autonomous driving related data; a processing unit, configured to send the autonomous driving related data requested to be processed by the data processing request to a corresponding target application for processing based on the target proxy service, and obtain a data processing result; A feedback unit is used to send the data processing result to the target proxy service, and after verifying the data processing result based on the target proxy service, return the data processing result to the client.