Application operation method and device based on intelligent driving, equipment and medium
Through double-layer verification and dynamic resource allocation of intelligent driving status, the problem of insufficient safety of three-party applications in intelligent driving systems is solved, and the overall safety of the system and the stability of the application operation are improved.
Patent Information
- Application Number
- CN202411212170.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-08-30
- Publication Date
- 2024-12-20
AI Technical Summary
In existing intelligent driving systems, application sandboxes cannot effectively protect the security of three-party applications, which may lead to malicious tampering and affect the operation of basic applications and reduce the safety of intelligent driving.
The two-layer verification method is adopted to determine the application's resource call permissions through process tags and intelligent driving status, ensuring that only trusted applications can allocate system resources, prevent malicious tampering, and dynamically adjust resource allocation to adapt to intelligent driving status.
It improves the security of the intelligent driving system, prevents the risks of malicious tampering and resource call permissions, and ensures the normal operation of intelligent driving applications.
Smart Images

Figure CN119167355A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of intelligent driving technology, and in particular to an application operation method, device, equipment and medium based on intelligent driving. Background Art
[0002] With the rapid development of intelligent driving technology, intelligent driving applications have become a key component of vehicle control. However, with the increase in intelligent applications, intelligent driving systems are facing increasingly complex and diverse safety challenges. How to improve the safety of intelligent driving systems has become a difficult problem that needs to be solved in the field of intelligent driving.
[0003] At present, the related technology uses application sandbox to isolate different applications, such as basic applications jointly defined by automobile manufacturers and parts suppliers and third-party applications installed by users. Through application sandbox, they can be run in different system resources (such as processors and memory). However, this method cannot guarantee the security of the operation of third-party applications. There may be situations where third-party applications are maliciously tampered with and affect the operation of basic applications, affecting the safety of intelligent driving. Summary of the invention
[0004] One of the objects of the present invention is to provide an application running method based on intelligent driving to solve the problem that application running in the prior art may affect intelligent driving and lead to low safety of intelligent driving; the second object is to provide an application running device based on intelligent driving; the third object is to provide an electronic device; the fourth object is to provide a computer-readable storage medium; the fifth object is to provide a computer program product; and the sixth object is to provide a car.
[0005] In order to achieve the above object, the technical solution adopted by the present invention is as follows:
[0006] An application operation method based on intelligent driving, comprising:
[0007] Receive a target resource call request; wherein the target resource call request is used to instruct a process based on a target application to call a target system resource of a vehicle intelligent driving system; the target resource call request has a process tag;
[0008] If it is determined according to the process tag of the target resource calling request that the target resource calling request has resource calling authority, determining whether the target application is a trusted application;
[0009] If it is determined that the target application is a trusted application, the current intelligent driving state of the vehicle and the target application sandbox corresponding to the target application are obtained; and according to the intelligent driving state and the process tag of the target resource call request, the target system resources in the target application sandbox are allocated to the target application;
[0010] The target application is run based on the target system resources in the target application sandbox.
[0011] According to the above-mentioned technical means, a double-layer verification method is used to prevent malicious tampering of application resource calling permissions, ensure the security of system resources, and allocate system resources to target applications based on the intelligent driving status to ensure the normal operation of intelligent driving applications and improve the safety of intelligent driving.
[0012] Further, allocating target system resources in the target application sandbox to the target application according to the intelligent driving state and the process tag of the target resource call request includes:
[0013] Obtaining a resource call identifier corresponding to the target application sandbox; wherein the resource call identifier indicates callable system resource information;
[0014] Determine a resource call identifier corresponding to the target resource call request according to the process tag of the target resource call request and the intelligent driving state;
[0015] According to the resource calling identifier, a target system resource in the target application sandbox is allocated to the target application.
[0016] According to the above technical means, the domain controller can dynamically adjust the system resources allocated to the target application in the target application sandbox based on different intelligent driving states and resource call identifiers.
[0017] Further, the process tag includes a process identifier; and determining the resource call identifier corresponding to the target resource call request according to the process tag of the target resource call request and the intelligent driving state includes:
[0018] Determine the resource call identifier corresponding to the target resource call request according to the process identifier of the target resource call request, the intelligent driving state and a preset mapping relationship; wherein the mapping relationship is used to describe the correspondence between the process identifier, the intelligent driving state and the resource call identifier.
[0019] According to the above technical means, the domain controller can determine the resource call identifier based on the intelligent driving status, comprehensively consider the target system resources and intelligent driving status required by the target application to accurately allocate system resources to the target application, and ensure the normal operation of the intelligent driving application.
[0020] Furthermore, the method further comprises:
[0021] If it is determined that the target application is a third-party application installed by the user, the current intelligent driving state of the vehicle is obtained;
[0022] If it is determined according to the intelligent driving state that the target application can be run, a target application sandbox corresponding to the target application is determined; if it is determined according to the intelligent driving state that the target application cannot be run, an operation failure prompt message is output.
[0023] According to the above technical means, whether the target application can be run is determined in advance according to the intelligent driving status, and system resources are allocated to the target application after it is determined that it can be run, thereby saving the overhead of the intelligent driving system.
[0024] Further, the process tag includes a list of callable system resources; and determining, based on the process tag of the target resource call request, that the target resource call request has resource call authority includes:
[0025] If it is determined that the target system resource indicated by the target resource calling request exists in the callable system resource list of the process tag of the target resource calling request, it is determined that the target resource calling request has resource calling authority.
[0026] Based on the above technical means, the domain controller can determine whether the target application has the authority to call the target system resources, implement the first layer of security protection, intercept resource call requests that do not have authority, and improve the security of the intelligent driving system.
[0027] Further, determining whether the target application is a trusted application includes:
[0028] Determining an application identifier of the target application according to a process tag of the target resource call request;
[0029] If it is determined that the application identifier exists in the preset trusted application list, the target application is determined to be a trusted application; if it is determined that the application identifier does not exist in the preset trusted application list, the target application is determined to be an untrusted application.
[0030] According to the above-mentioned technical means, after determining that the target application has the permission to call the target system resources, the domain controller can further determine whether the target application is a trusted application, thereby realizing the second layer of security protection. This can prevent malicious tampering of process labels from causing the application to have the permission to call system resources, thereby affecting the safety of intelligent driving, thereby further improving the safety of intelligent driving.
[0031] Further, after determining that the target application is an untrusted application, the method further includes:
[0032] Generate exception information according to the target resource call request, and report the exception information.
[0033] According to the above technical means, it is possible to monitor abnormal information, and then monitor whether the operation of each application in the vehicle is abnormal, thereby improving the security of application operation.
[0034] Furthermore, the process tag has a process identifier; the method further includes:
[0035] If it is determined according to the process tag of the target resource calling request that the target resource calling request does not have resource calling authority, other resource calling requests having the same process identifier as the process tag of the target resource calling request are intercepted.
[0036] According to the above technical means, the domain controller can intercept resource call requests that do not have resource call permissions, thereby improving the performance of the intelligent driving system.
[0037] An application running device based on intelligent driving, comprising:
[0038] A receiving module, configured to receive a target resource calling request; wherein the target resource calling request is used to instruct a process based on a target application to call a target system resource of a vehicle intelligent driving system; and the target resource calling request has a process tag;
[0039] a system call interception module, configured to determine whether the target application is a trusted application if it is determined, based on a process tag of the target resource call request, that the target resource call request has resource call authority;
[0040] A system resource monitoring module, configured to obtain the current intelligent driving state of the vehicle and the target application sandbox corresponding to the target application if the target application is determined to be a trusted application; and allocate target system resources in the target application sandbox to the target application according to the intelligent driving state and the process tag of the target resource call request;
[0041] The running module is used to run the target application based on the target system resources in the target application sandbox.
[0042] Furthermore, the system resource monitoring module is specifically used for:
[0043] Obtaining a resource call identifier corresponding to the target application sandbox; wherein the resource call identifier indicates callable system resource information;
[0044] Determine a resource call identifier corresponding to the target resource call request according to the process tag of the target resource call request and the intelligent driving state;
[0045] According to the resource calling identifier, a target system resource in the target application sandbox is allocated to the target application.
[0046] Further, the process tag includes a process identifier; a system resource monitoring module, specifically used for:
[0047] Determine the resource call identifier corresponding to the target resource call request according to the process identifier of the target resource call request, the intelligent driving state and a preset mapping relationship; wherein the mapping relationship is used to describe the correspondence between the process identifier, the intelligent driving state and the resource call identifier.
[0048] Furthermore, the system resource monitoring module is specifically used for:
[0049] If it is determined that the target application is a third-party application installed by the user, the current intelligent driving state of the vehicle is obtained;
[0050] If it is determined according to the intelligent driving state that the target application can be run, a target application sandbox corresponding to the target application is determined; if it is determined according to the intelligent driving state that the target application cannot be run, an operation failure prompt message is output.
[0051] Furthermore, the process tag includes a list of callable system resources; a system call interception module, specifically used for:
[0052] If it is determined that the target system resource indicated by the target resource calling request exists in the callable system resource list of the process tag of the target resource calling request, it is determined that the target resource calling request has resource calling authority.
[0053] Furthermore, the system resource monitoring module is specifically used for:
[0054] Determining an application identifier of the target application according to a process tag of the target resource call request;
[0055] If it is determined that the application identifier exists in the preset trusted application list, the target application is determined to be a trusted application; if it is determined that the application identifier does not exist in the preset trusted application list, the target application is determined to be an untrusted application.
[0056] Furthermore, the system resource monitoring module is specifically used for:
[0057] Generate exception information according to the target resource call request, and report the exception information.
[0058] Further, the process tag has a process identifier; the system call interception module is specifically used to:
[0059] If it is determined according to the process tag of the target resource calling request that the target resource calling request does not have resource calling authority, other resource calling requests having the same process identifier as the process tag of the target resource calling request are intercepted.
[0060] An electronic device comprising a memory and a processor;
[0061] The memory stores computer-executable instructions;
[0062] 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.
[0063] A computer-readable storage medium stores computer-executable instructions, which, when executed by a processor, are used to implement the above first aspect and / or various possible implementations of the first aspect.
[0064] A computer program product comprises a computer program, wherein when the computer program is executed by a processor, the computer program implements the above first aspect and / or various possible implementation modes of the first aspect.
[0065] A car comprises an electronic device for implementing the above first aspect and / or various possible implementations of the first aspect.
[0066] Beneficial effects of the present invention:
[0067] (1) The present invention uses a double-layer verification method to prevent malicious tampering of application resource calling permissions and ensure the security of system resources;
[0068] (2) The present invention allocates system resources to target applications based on the intelligent driving status, ensures the normal operation of the intelligent driving application, and improves the safety of intelligent driving. BRIEF DESCRIPTION OF THE DRAWINGS
[0069] Figure 1 A schematic diagram of the structure of an intelligent driving system provided by an embodiment of the present invention;
[0070] Figure 2 A flowchart of an application operation method based on intelligent driving provided by an embodiment of the present invention;
[0071] Figure 3 A flowchart of an application operation method based on intelligent driving provided by an embodiment of the present invention;
[0072] Figure 4 A schematic diagram of the structure of an application running device based on intelligent driving provided by an embodiment of the present invention;
[0073] Figure 5A schematic diagram of the structure of an electronic device provided by an embodiment of the present invention. DETAILED DESCRIPTION
[0074] The following will describe the embodiments of the present invention with reference to the accompanying drawings and preferred embodiments. Those skilled in the art can easily understand other advantages and effects of the present invention from the contents disclosed in this specification. The present invention can also be implemented or applied through other different specific embodiments, and the details in this specification can also be modified or changed in various ways based on different viewpoints and applications without departing from the spirit of the present invention. It should be understood that the preferred embodiments are only for illustrating the present invention, not for limiting the scope of protection of the present invention.
[0075] It should be noted that the illustrations provided in the following embodiments are only schematic illustrations of the basic concept of the present invention, and thus the drawings only show components related to the present invention rather than being drawn according to the number, shape and size of components in actual implementation. In actual implementation, the type, quantity and proportion of each component may be changed arbitrarily, and the component layout may also be more complicated.
[0076] It should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, stored data, displayed data, etc.) involved in the present invention are all information and data authorized by the user or fully authorized by all parties, and the collection, use and processing of relevant data must comply with relevant laws, regulations and standards, and corresponding operation entrances shall be provided for users to choose to authorize or refuse.
[0077] First, the nouns involved in the present invention are explained:
[0078] Application sandbox: A security mechanism used to limit the access and operation of applications or software modules to system resources.
[0079] With the development of intelligent driving technology, vehicles can recognize, perceive and make decisions on data from various sensors by running various applications of intelligent driving systems, thus realizing a series of intelligent driving functions, such as Adaptive Cruise Control (ACC) and Auto Parking Assist (APA). Users can also customize the installation of third-party applications required based on the vehicle terminal, such as music applications or video playback applications. However, with the increase in applications, intelligent driving systems are facing increasingly complex and diverse security challenges.
[0080] At present, application sandboxes are used in related technologies to isolate different applications, such as basic applications defined by automobile manufacturers and parts suppliers and third-party applications installed by users. Application sandboxes can be used to run them in different system resources (such as processors and memory). However, this method cannot guarantee the security of the operation of third-party applications. There may be situations where third-party applications are maliciously tampered with and affect basic applications. For example, the system resources of the vehicle's intelligent driving system are limited. If third-party applications are maliciously tampered with, they are allowed to call the vehicle's system resources to run third-party applications during the intelligent driving process, resulting in the inability of the basic applications of intelligent driving to operate normally, which seriously affects the safety of intelligent driving.
[0081] In view of this, an embodiment of the present invention proposes an application running method based on intelligent driving, which performs double-layer verification on the system resource call request initiated by the application to prevent malicious tampering, and allocates the system resources required by the application in combination with the intelligent driving status of the vehicle to ensure the safety of the vehicle's intelligent driving.
[0082] Figure 1 This is a schematic diagram of the structure of an intelligent driving system provided by the present invention. Figure 1 As shown, the intelligent driving system may include an application layer and a control layer.
[0083] The above-mentioned application layer is used to process sensor data, perform route planning, control vehicle behavior, or interact with users. The application layer may include a variety of applications, among which the applications may include, for example, basic applications pre-installed when the vehicle leaves the factory and third-party applications installed by users. The above-mentioned basic applications may include applications related to intelligent driving and applications unrelated to intelligent driving. The applications related to intelligent driving may be, for example, perception models, fusion models, decision models, or planning models, and the applications unrelated to intelligent driving may be, for example, music player software or video player software. The above-mentioned third-party applications installed by users may be application software downloaded by users through the application store of the vehicle terminal, or application software imported by users through external devices, such as USB flash drives. It should be noted that the types of the above-mentioned third-party applications are not limited in the embodiments of the present invention, for example, they may be navigation software, music player software, or video player software.
[0084] The control layer is used to provide system resources so that the application of the application layer can be run based on the system resources to implement the functions corresponding to the application. The system resources may include computing resources (such as a central processing unit or a graphics processing unit), network resources, storage resources (such as memory occupancy) or system configuration files, etc., which are not limited in the embodiments of the present invention.
[0085] In some embodiments, the control layer may be preset with multiple application sandboxes, each of which is configured with preset system resources. Applications may run in the application sandboxes to achieve isolated operation of the applications.
[0086] For example, refer to Figure 1 As shown, the application layer includes multiple applications, and the control layer includes multiple application sandboxes. Figure 1 The example of two applications and two application sandboxes is used for illustration. The application layer can create a process based on the domain controller to initiate a resource call request to call the system resources in the application sandbox of the control layer to run the application and realize the application function.
[0087] The execution subject of the embodiment of the present invention may be a domain controller of a vehicle, which may be, for example, an intelligent driving domain controller or other domain controllers, and may be specifically configured according to actual needs.
[0088] The technical solution of the present invention is described in detail below through specific embodiments. It should be noted that the following specific embodiments can be combined with each other, and the same or similar concepts or processes may not be described in detail in some embodiments.
[0089] Figure 2 This is a flow chart of an application operation method based on intelligent driving provided by an embodiment of the present invention. Figure 2 As shown, the method includes:
[0090] S101: A domain controller receives a target resource call request.
[0091] Exemplarily, the target resource call request is used to instruct the process based on the target application to call the target system resource of the vehicle intelligent driving system. The target application can be an application in the aforementioned application layer, that is, it can be a basic application pre-installed when the vehicle leaves the factory or a third-party application customized and installed by the user. The target system resource can be, for example, a computing resource, a network resource, a storage resource, or a system configuration file, etc., which is not limited in the embodiment of the present invention and can be set according to actual needs.
[0092] In one possible implementation, when the domain controller determines that the target application has reached its runtime, it can automatically create a process for the target application, and initiate a target system resource call request through an interface provided by the process, so as to call the target system resource to implement the function of the target application. For example, in the process of intelligent driving, when the perception application determines that the perception application has reached its runtime based on a preset perception algorithm, the domain controller can automatically create a process for the perception application, and initiate a target system resource call request through an interface provided by the process. The target system resource call request can, for example, indicate a call to a central processing unit (CPU) to call the CPU to process the perception data.
[0093] In another possible implementation, the domain controller may receive a start request of a target application triggered by a user through a front-end display interface, create a process for the target application, and initiate a target system resource call request through an interface provided by the process to call the target system resources to implement the function of the target application.
[0094] S102: The domain controller determines whether the target resource calling request has resource calling authority according to the process tag of the target resource calling request.
[0095] Exemplarily, as mentioned above, the target application creates a process to initiate a target resource call request. The target resource call request may have a process tag, which may indicate the resource call permission of the target application. It should be noted that the embodiment of the present invention does not limit the way in which the process tag indicates the resource call permission. For example, the system resources that can be called by the target application may be listed in the form of a list of callable resources. It should be noted that for the basic applications preset when the vehicle leaves the factory, a process tag may be set for each application, or applications with similar functions may be grouped into an application group, and the same process tag may be set for all applications in the application group, for example, an application group related to perception. For third-party applications customized and installed by users, a fixed process tag with a small range of callable resources may be preset.
[0096] In one possible implementation, the domain controller can determine whether the target system resource indicated by the target resource call request exists in the process tag of the target resource call request. If so, it is determined that the target resource call request has resource call permission, and step S103 is executed; if not, it is determined that the target resource call request does not have resource call permission, and the target resource call request is intercepted.
[0097] Through this step, the domain controller can determine whether the target application has the permission to call the target system resources, implement the first layer of security protection, intercept resource call requests that do not have permission, and improve the security of the intelligent driving system.
[0098] S103: The domain controller determines whether the target application is a trusted application.
[0099] Exemplarily, the trusted application is used to indicate that the application is reliable. The trusted application may be a basic application preset when the vehicle leaves the factory or a third-party application customized and installed by the user.
[0100] In a possible implementation, the domain controller may preset a set of application identifiers for multiple applications, and the application identifier is used to uniquely characterize the application, for example, it may be an application name, an application ID, or a code assigned by the domain controller to each application. The domain controller may determine whether the target application indicated by the target resource request is a trusted application by determining whether the target application exists in the application identifier set. If it is determined to exist in the application identifier set, the target application is determined to be a trusted application, and step S104 is executed; if it is determined not to exist in the application identifier set, the target application is determined to be an untrusted application, and the target resource call request is intercepted.
[0101] Through this step, the domain controller can further determine whether the target application is a trusted application after determining that the target application has the permission to call the target system resources, thereby achieving a second layer of security protection. This can prevent malicious tampering of process tags from causing the application to have the permission to call system resources, affecting the safety of intelligent driving, and further improving the safety of intelligent driving.
[0102] S104. The domain controller obtains the current intelligent driving state of the vehicle and the target application sandbox corresponding to the target application.
[0103] Exemplarily, the above intelligent driving state is used to characterize the intelligent driving function currently running on the vehicle. The intelligent driving state may be a specific intelligent driving function running on the vehicle, such as ACC or APA, or may be a state where the intelligent driving function is not running. A plurality of application sandboxes are provided in the domain controller, and each application sandbox is allocated system resources in advance. The system resources may include computing resources, storage resources, and operating environment, for example. The above target application sandbox is used to run the target application.
[0104] In one possible implementation, the domain controller may determine the current intelligent driving state of the vehicle based on a startup request for the intelligent driving function selected by the user through the vehicle-mounted terminal; or the domain controller may obtain the current intelligent driving state based on a preset interface; or the vehicle may include an on-board monitoring system for real-time monitoring of the vehicle's position, state and operation, and the domain controller may communicate with the on-board monitoring system to obtain the current intelligent driving state; or the domain controller may communicate with a cloud server to obtain the current intelligent driving state.
[0105] In a possible implementation, the process tag may include a process identifier for uniquely identifying the process. The process identifier may be, for example, a process ID, or a code assigned by a domain controller, which is not limited in the embodiments of the present invention. A mapping relationship between a process identifier and an application sandbox identifier is preset, and the domain controller may determine the target application sandbox corresponding to the target application based on the process identifier in the process tag of the target resource call request and the mapping relationship. Alternatively, a mapping relationship between the application identifier and the application sandbox identifier may be preset, and the application sandbox of the target application may be determined based on the mapping relationship.
[0106] S105. The domain controller allocates target system resources in the target application sandbox to the target application according to the intelligent driving state and the process tag of the target resource call request.
[0107] Exemplarily, the target application sandbox may include various system resources, but the target application corresponding to the target resource call request can only access the system resources that the target application is allowed to access.
[0108] In one possible implementation, the domain controller presets multiple resource call identifiers in each application sandbox, wherein the resource call identifier can indicate the callable system resource information, such as the number of CPUs or the memory size, and presets a mapping relationship between the process label, the intelligent driving status and the resource call identifier. Then, according to the mapping relationship, the process label of the target resource call request and the intelligent driving status, the resource call identifier corresponding to the target resource call request can be determined, and then the target system resources are allocated to the target application according to the callable system resource information indicated by the resource call identifier.
[0109] For example, if the current smart driving state is that smart driving is not started, then the target resource call request can correspond to a system resource call identifier with abundant system resources. If the current smart driving state is in the smart driving state, then the target resource call request can correspond to a system resource call identifier that occupies fewer system resources, so as to ensure that the target application does not occupy more system resources, ensure that smart driving can run normally based on sufficient system resources, and improve the safety of smart driving.
[0110] In another possible implementation, the domain controller may preset an allocation model for each application sandbox, input the target system resources and intelligent driving status indicated by the target resource call request into the allocation model, output the resource call identifier corresponding to the target resource call request, and then allocate the target system resources to the target application according to the callable system resource information indicated by the resource call identifier. The allocation model may be, for example, a convolutional neural network model or other artificial intelligence model.
[0111] S106: The domain controller runs the target application based on the target system resources in the target application sandbox.
[0112] Exemplarily, as mentioned above, system resources are preset in the application sandbox, which may include computing resources, storage resources, system configuration files, and operating environment, etc. Therefore, after the target system resources in the target application sandbox are allocated to the target application according to the target resource call request, the target application can be run in isolation based on the target system resources in the target application sandbox to ensure that the operation of the target application is not affected by other applications. If the target application is an application related to intelligent driving, the isolation of the application sandbox can ensure the safe operation of applications related to intelligent driving and improve the safety of intelligent driving.
[0113] The application operation method based on intelligent driving provided by the embodiment of the present invention performs a double-layer verification on whether the target resource call request initiated by the process of the target application has the resource call permission and whether it is a trusted application. After the verification is passed, the target application is allocated the target system resources in the target application sandbox corresponding to the target application in combination with the current intelligent driving state of the vehicle, and the target application is operated based on the target system resources of the target application sandbox terminal. In this way, the double-layer verification method is used to prevent malicious tampering with the application resource call permission, ensure the security of system resources, and allocate system resources to the target application based on the intelligent driving state to ensure the normal operation of the intelligent driving application, thereby improving the safety of intelligent driving.
[0114] Figure 3 This is a flow chart of an application operation method based on intelligent driving provided by an embodiment of the present invention. Figure 3 As shown, in this embodiment Figure 2 Based on the illustrated embodiment, the application operation method based on intelligent driving provided by the present invention is described in detail, and the method includes:
[0115] S201. The domain controller receives a target resource call request.
[0116] It should be noted that this step is similar to the aforementioned step S101 and will not be described again here.
[0117] S202: The domain controller determines whether the target system resource indicated by the target resource call request exists in the callable system resource list of the process tag of the target resource call request.
[0118] Exemplarily, the process label may include a list of callable system resources and a process identifier, wherein the process identifier is used to uniquely characterize the process, such as a process ID, etc.; the list of callable system resources is used to indicate the system resources that the process can call, in other words, it can indicate whether the target resource call request has resource call permission. Table 1 is a schematic diagram of a process label provided in an embodiment of the present invention. Therefore, the domain controller can determine whether the target system resource indicated by the target resource call request is in the list of callable system resources with the process label based on the target system resource indicated by the target resource call request.
[0119] Table 1 Process Labels
[0120] Process ID Process 1 List of callable system resources CPU, memory, system configuration files
[0121] Referring to Table 1, if the domain controller determines that the target system resource indicated by the target resource request exists in the list of callable system resources of the process tag of the target resource request, then it is determined that the target resource call request has resource call permission, and step S203 is executed; if it is determined that the target system resource indicated by the target resource request does not exist in the list of callable system resources of the process tag of the target resource request, then it is determined that the target resource call request does not have resource call permission, and other resource call requests with the same process identifier as the process tag of the target resource call request are intercepted. In this way, the domain controller can intercept resource call requests that do not have resource call permission, thereby improving the performance of the intelligent driving system.
[0122] S203: The domain controller determines the application identifier of the target application according to the process tag of the target resource call request.
[0123] In a possible implementation, the process tag may also include an application identifier for characterizing the application corresponding to the process. Table 2 is a schematic diagram of another process tag provided by an embodiment of the present invention. Therefore, the domain controller may determine the application identifier of the target application according to the process tag of the target resource call request.
[0124] Table 2 Process Labels
[0125] Process ID Process 1 Application Identification Application 1 List of callable system resources CPU, memory, system configuration files
[0126] In another possible implementation, the domain controller may preset a mapping relationship between a process identifier and an application identifier, and determine the application identifier of the target application according to the mapping relationship and the process identifier of the process tag of the target resource call request.
[0127] S204: The domain controller determines whether the application identifier exists in a preset trusted application list.
[0128] Exemplarily, the trusted application list is used to indicate multiple trusted applications, and the trusted application list may be preset at the factory or acquired in advance by communicating with the cloud server. The cloud server may update the trusted application list and send it to the domain controller for storage.
[0129] If it is determined that the application identifier exists in the preset trusted application list, the target application is determined to be a trusted application, and step S205 is executed;
[0130] If it is determined that the application identifier does not exist in the preset trusted application list, the target application is determined to be an untrusted application, and exception information is generated according to the target resource call request, and the exception information is reported. For example, the domain controller can filter the exception information from the content related to the target resource call request based on the preset filtering rules, and send it to the cloud server. Among them, the above-mentioned preset filtering rules are used to indicate the content of the exception information; the above-mentioned content related to the target resource call request can be, for example, the content of the process label, or the target system resource indicated by the target resource call request, or the information of the target application, such as the application identifier, etc. The embodiment of the present invention does not limit the content of the exception information, and it can be set according to actual needs.
[0131] Optionally, the staff can analyze the abnormal information based on the cloud server and modify the above-mentioned trusted application list or the above-mentioned process label to ensure the safety of intelligent driving.
[0132] S205. The domain controller obtains the current intelligent driving state of the vehicle and the target application sandbox corresponding to the target application.
[0133] It should be noted that this step is similar to the aforementioned step S104 and will not be repeated here.
[0134] S206: The domain controller obtains a resource call identifier corresponding to the target application sandbox.
[0135] Exemplarily, the resource call identifier indicates the callable system resource information, which is used to indicate the quantity or capacity of system resources. As mentioned above, multiple resource call identifiers can be preset in the application sandbox, and the resource call identifier can further limit the callable system resource range of the target application.
[0136] S207. The domain controller determines a resource call identifier corresponding to the target resource call request according to the process tag and intelligent driving status of the target resource call request.
[0137] In a possible implementation, an allocation model is preset in the target application sandbox, the target system resources and intelligent driving status indicated by the target resource call request are input into the allocation model, and a resource call identifier corresponding to the target resource call request is output.
[0138] In another possible implementation, the process tag includes a process identifier, and the domain controller presets a mapping relationship between the process identifier, the intelligent driving state, and the resource call identifier. The domain controller can determine the resource call identifier corresponding to the target resource call request based on the mapping relationship, the process identifier of the process tag of the target resource call request, and the intelligent driving state. It should be noted that the mapping relationship between the process identifier, the intelligent driving state, and the resource call identifier can be preset when the vehicle leaves the factory, or it can be obtained by the domain controller communicating with the cloud server. For example, Table 3 is a schematic diagram of a mapping relationship between a process identifier, an intelligent driving state, and a resource call identifier provided in an embodiment of the present invention.
[0139] Table 3 Mapping relationship between process identifier, intelligent driving status and resource call identifier
[0140]
[0141]
[0142] In this way, the domain controller can dynamically adjust the system resources allocated to the target application in the target application sandbox based on different intelligent driving states and resource call identifiers. For example, referring to Table 3, if the process identifier corresponding to the target resource call request is process 1, no matter what intelligent driving state the vehicle is in, it corresponds to resource call identifier ID1, indicating that the copper resource call permission of the target application must be strictly controlled, and the target application can only call the system resources in the callable system resource information corresponding to resource call identifier ID1. If the process identifier corresponding to the target resource call request is process 2, when the vehicle is in the intelligent driving state of state 1 (for example, when the auxiliary intelligent driving function is started), the system resources in the callable system resource information corresponding to resource call identifier ID2 can be used, but when the vehicle is in the intelligent driving state of state 2 (for example, when the automatic driving function is started), the system resources in the callable system resource information corresponding to resource call identifier ID3 can be used to ensure the normal operation of a higher level of intelligent driving functions and improve the safety of intelligent driving.
[0143] S208: The domain controller allocates target system resources in the target application sandbox to the target application according to the resource call identifier.
[0144] Exemplarily, as mentioned above, the resource call identifier may indicate the callable system resource information, and therefore, the domain controller may allocate the target system resource to the target application based on the callable system resource information corresponding to the resource call identifier.
[0145] S209: The domain controller runs the target application based on the target system resources in the target application sandbox.
[0146] It should be noted that this step is similar to the aforementioned step S106 and will not be described again here.
[0147] In some possible implementations, before executing the aforementioned step S205, if the domain controller determines that the target application is a third-party application installed by the user, the domain controller may obtain the current intelligent driving state of the vehicle, and if it is determined that the target application can be run according to the intelligent driving state, the target application sandbox corresponding to the target application is determined; if it is determined that the target application cannot be run according to the intelligent driving state, an operation failure prompt message is output. Among them, the prompt message is used to prompt the user that the third-party application cannot be run. It should be noted that the embodiment of the present invention does not limit the output method of the prompt message, for example, it can be a pop-up window display on the vehicle terminal, or it can be a voice output.
[0148] For example, the domain controller can preset the mapping relationship between the application identifier, intelligent driving status, and whether the third-party application can be run. Before allocating target system resources to the third-party application, the domain controller can determine in advance whether the third-party application can be run in the intelligent driving state based on the mapping relationship, and determine the target application sandbox of the target application after determining that it can be run.
[0149] The application operation method based on intelligent driving provided by the embodiment of the present invention performs a double-layer verification on whether the target resource call request initiated by the process of the target application has resource call authority and whether it is a trusted application. After the verification is passed, the resource call identifier corresponding to the target resource call request is determined in combination with the current intelligent driving state of the vehicle, and then the target system resources in the target application sandbox corresponding to the target application can be allocated to the target application according to the resource call identifier, and the target application is operated based on the target system resources of the target application sandbox terminal. In this way, the double-layer verification method is used to prevent the malicious tampering of the application resource call authority, ensure the security of system resources, and allocate system resources to the target application based on the intelligent driving state to ensure the normal operation of the intelligent driving application, thereby improving the safety of intelligent driving. At the same time, when it is determined that the target application is a three-party application, it can also be determined in advance whether the target application can be run according to the intelligent driving state, and system resources can be allocated to the target application after it is determined that it can be run, saving the overhead of the intelligent driving system.
[0150] Figure 4A schematic diagram of the structure of an application running device based on intelligent driving provided by an embodiment of the present invention, such as Figure 4 As shown, the application running device 400 based on intelligent driving according to an embodiment of the present invention includes:
[0151] The receiving module 401 is used to receive a target resource calling request; wherein the target resource calling request is used to instruct a process based on a target application to call a target system resource of a vehicle intelligent driving system; the target resource calling request has a process tag;
[0152] The system call interception module 402 is used to determine whether the target application is a trusted application if it is determined that the target resource call request has resource call permission according to the process tag of the target resource call request;
[0153] The system resource monitoring module 403 is used to obtain the current intelligent driving state of the vehicle and the target application sandbox corresponding to the target application if it is determined that the target application is a trusted application; and allocate the target system resources in the target application sandbox to the target application according to the intelligent driving state and the process tag of the target resource call request;
[0154] The running module 404 is used to run the target application based on the target system resources in the target application sandbox.
[0155] In some embodiments, the system resource monitoring module 403 is specifically used to:
[0156] Obtaining a resource call identifier corresponding to the target application sandbox; wherein the resource call identifier indicates callable system resource information;
[0157] Determine a resource call identifier corresponding to the target resource call request according to the process tag of the target resource call request and the intelligent driving state;
[0158] According to the resource calling identifier, a target system resource in the target application sandbox is allocated to the target application.
[0159] In some embodiments, the process tag includes a process identifier; the system resource monitoring module 403 is specifically used to:
[0160] Determine the resource call identifier corresponding to the target resource call request according to the process identifier of the target resource call request, the intelligent driving state and a preset mapping relationship; wherein the mapping relationship is used to describe the correspondence between the process identifier, the intelligent driving state and the resource call identifier.
[0161] In some embodiments, the system resource monitoring module 403 is specifically used to:
[0162] If it is determined that the target application is a third-party application installed by the user, the current intelligent driving state of the vehicle is obtained;
[0163] If it is determined according to the intelligent driving state that the target application can be run, a target application sandbox corresponding to the target application is determined; if it is determined according to the intelligent driving state that the target application cannot be run, an operation failure prompt message is output.
[0164] In some embodiments, the process tag includes a list of callable system resources; the system call interception module 402 is specifically used to:
[0165] If it is determined that the target system resource indicated by the target resource calling request exists in the callable system resource list of the process tag of the target resource calling request, it is determined that the target resource calling request has resource calling authority.
[0166] In some embodiments, the system resource monitoring module 403 is specifically used to:
[0167] Determining an application identifier of the target application according to a process tag of the target resource call request;
[0168] If it is determined that the application identifier exists in the preset trusted application list, the target application is determined to be a trusted application; if it is determined that the application identifier does not exist in the preset trusted application list, the target application is determined to be an untrusted application.
[0169] In some embodiments, the system resource monitoring module 403 is specifically used to:
[0170] Generate exception information according to the target resource call request, and report the exception information.
[0171] In some embodiments, the process tag has a process identifier; the system call interception module 402 is specifically used to:
[0172] If it is determined according to the process tag of the target resource calling request that the target resource calling request does not have resource calling authority, other resource calling requests having the same process identifier as the process tag of the target resource calling request are intercepted.
[0173] The device of the embodiment of the present invention can be used to execute the technical solution of any of the above-mentioned method embodiments. Its implementation principle and technical effects are similar and will not be repeated here.
[0174] Figure 5 This is a schematic diagram of the structure of an electronic device provided by an embodiment of the present invention. Figure 5As shown, the electronic device 500 may include: at least one processor 501 and a memory 502 .
[0175] The memory 502 is used to store programs. Specifically, the programs may include program codes, and the program codes include computer-executable instructions.
[0176] The memory 502 may include a high-speed random access memory (RAM), and may also include a non-volatile memory (non-volatile memory), such as at least one disk memory.
[0177] The processor 501 is used to execute the computer-executable instructions stored in the memory 502 to implement the application operation method based on intelligent driving described in the aforementioned method embodiment. Among them, the processor 501 may be a central processing unit (CPU), or an application-specific integrated circuit (ASIC), or one or more integrated circuits configured to implement the embodiments of the present invention. Specifically, when implementing the application operation method based on intelligent driving described in the aforementioned method embodiment, the electronic device can be, for example, an electronic control unit, a server or a domain controller on a vehicle and other electronic devices with processing functions.
[0178] Optionally, the electronic device 500 may further include a communication interface 503. In a specific implementation, if the communication interface 503, the memory 502 and the processor 501 are implemented independently, the communication interface 503, the memory 502 and the processor 501 may be interconnected through a bus and communicate with each other. 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., but it does not mean that there is only one bus or one type of bus.
[0179] Optionally, in a specific implementation, if the communication interface 503, the memory 502 and the processor 501 are integrated on a chip, the communication interface 503, the memory 502 and the processor 501 can communicate through an internal interface.
[0180] The present invention also provides a computer-readable storage medium, in which computer program instructions are stored. When a processor executes the computer program instructions, the above-mentioned solution of the application operation method based on intelligent driving is implemented.
[0181] The present invention also provides a computer program product, including a computer program, which, when executed by a processor, implements the above-mentioned solution of the application running method based on intelligent driving.
[0182] The present invention also provides a vehicle, including an electronic device that implements the above-mentioned solution of the application running method based on intelligent driving.
[0183] The computer-readable storage medium mentioned above 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 storage, 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.
[0184] 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 a dedicated integrated circuit. Of course, the processor and the readable storage medium can also exist as discrete components in an application running device based on intelligent driving.
[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 the above embodiments are only preferred embodiments for fully illustrating the present invention, and the protection scope of the present invention is not limited thereto. Any equivalent substitution or change made by a person skilled in the art based on the present invention is within the protection scope of the present invention.
Claims
1. A method for running an application based on intelligent driving, characterized in that: The method comprises: Receive a target resource call request; wherein the target resource call request is used to instruct a process based on a target application to call a target system resource of a vehicle intelligent driving system; the target resource call request has a process tag; If it is determined according to the process tag of the target resource calling request that the target resource calling request has resource calling authority, determining whether the target application is a trusted application; If it is determined that the target application is a trusted application, the current intelligent driving state of the vehicle and the target application sandbox corresponding to the target application are obtained; and according to the intelligent driving state and the process tag of the target resource call request, the target system resources in the target application sandbox are allocated to the target application; The target application is run based on the target system resources in the target application sandbox.
2. The method according to claim 1, characterized in that The allocating the target system resource in the target application sandbox to the target application according to the intelligent driving state and the process tag of the target resource call request includes: Obtaining a resource call identifier corresponding to the target application sandbox; wherein the resource call identifier indicates callable system resource information; Determine a resource call identifier corresponding to the target resource call request according to the process tag of the target resource call request and the intelligent driving state; According to the resource calling identifier, a target system resource in the target application sandbox is allocated to the target application.
3. The method according to claim 2, characterized in that The process tag includes a process identifier; and determining the resource call identifier corresponding to the target resource call request according to the process tag of the target resource call request and the intelligent driving state includes: Determine the resource call identifier corresponding to the target resource call request according to the process identifier of the target resource call request, the intelligent driving state and a preset mapping relationship; wherein the mapping relationship is used to describe the correspondence between the process identifier, the intelligent driving state and the resource call identifier.
4. The method according to claim 1, characterized in that: The method further comprises: If it is determined that the target application is a third-party application installed by the user, the current intelligent driving state of the vehicle is obtained; If it is determined according to the intelligent driving state that the target application can be run, a target application sandbox corresponding to the target application is determined; if it is determined according to the intelligent driving state that the target application cannot be run, an operation failure prompt message is output.
5. The method according to claim 1, characterized in that The process tag includes a list of callable system resources; and determining, based on the process tag of the target resource call request, that the target resource call request has resource call authority includes: If it is determined that the target system resource indicated by the target resource calling request exists in the callable system resource list of the process tag of the target resource calling request, it is determined that the target resource calling request has resource calling authority.
6. The method according to claim 1, characterized in that The determining whether the target application is a trusted application includes: Determining an application identifier of the target application according to a process tag of the target resource call request; If it is determined that the application identifier exists in the preset trusted application list, the target application is determined to be a trusted application; if it is determined that the application identifier does not exist in the preset trusted application list, the target application is determined to be an untrusted application.
7. The method according to claim 6, characterized in that After determining that the target application is an untrusted application, the method further comprises: Generate exception information according to the target resource call request, and report the exception information.
8. The method according to any one of claims 1 to 7, characterized in that: The process tag has a process identifier; the method further includes: If it is determined according to the process tag of the target resource calling request that the target resource calling request does not have resource calling authority, other resource calling requests having the same process identifier as the process tag of the target resource calling request are intercepted.
9. An application running device based on intelligent driving, characterized in that: include: A receiving module, configured to receive a target resource calling request; wherein the target resource calling request is used to instruct a process based on a target application to call a target system resource of a vehicle intelligent driving system; and the target resource calling request has a process tag; a system call interception module, configured to determine whether the target application is a trusted application if it is determined, based on a process tag of the target resource call request, that the target resource call request has resource call authority; A system resource monitoring module, configured to obtain the current intelligent driving state of the vehicle and the target application sandbox corresponding to the target application if the target application is determined to be a trusted application; and allocate target system resources in the target application sandbox to the target application according to the intelligent driving state and the process tag of the target resource call request; The running module is used to run the target application based on the target system resources in the target application sandbox.
10. 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 8.
11. 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 8 when executed by a processor.
12. A computer program product, characterized in that The invention comprises a computer program, which implements the method according to any one of claims 1 to 8 when being executed by a processor.
13. A car, characterized in that: An electronic device comprising executing an application running method based on intelligent driving as described in any one of claims 1-8.
