Function transfer method, apparatus and intelligent driving device
The intelligent vehicle control system addresses data redundancy and deployment costs by migrating functions at a sub-function level using cross-domain cache zones, ensuring efficient and secure function deployment.
Patent Information
- Application Number
- JP2025528822
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2022-11-17
- Publication Date
- 2025-12-03
- Estimated Expiration
- 2042-11-17
AI Technical Summary
Existing intelligent vehicle control systems face challenges in efficiently migrating functions between domains due to data redundancy and high costs associated with repeated deployments, particularly when functions with dependencies are migrated, leading to deviations from service requirements.
A function migration method is implemented at a sub-function level, utilizing cross-domain cache zones to manage cross-domain calls and dependencies, reducing redundancy and enabling adaptive deployment adjustments based on actual service requirements.
This approach minimizes data redundancy and reduces labor costs by allowing precise sub-function migration, ensuring that deployed functions meet service requirements while maintaining security levels.
Smart Images

Figure 2025539126000001_ABST
Abstract
Description
[Technical Field]
[0001] The present application relates to the field of intelligent driving, and more particularly to a function transition method and apparatus, and an intelligent driving device. [Background technology]
[0002] In the field of intelligent vehicles, in order to improve the reliability and security of intelligent vehicle control systems, multiple functions of a domain controller are usually deployed to different domains. For example, functions with low functional security requirements are deployed to a zone with a low security level (hereinafter referred to as a common domain for short), and functions with high functional security requirements are deployed to a zone with a high security level (hereinafter referred to as a security domain for short). However, in the development stage, in order to improve efficiency, all functions are debugged in the common domain, and then functions with high security requirements are separated from all functions and migrated to the security domain.
[0003] Developers or users can perform function division and migration based on service requirements. Due to horizontal dependencies between functions and downward dependencies between some functions, during function migration, functions that have dependencies on functions (referred to as dependent functions) may also need to be migrated to the security domain. However, some dependent functions cannot be called across domains. Therefore, these dependent functions need to be repeatedly deployed in both the security domain and the common domain. If the granularity of function division and migration is large, repeated function deployment may cause large data redundancy. In addition, after a function is migrated and deployed, if the function deployment cannot meet the service requirements, the cost of changing the function deployment is high.
[0004] Considering this, there is an urgent need to develop a function migration solution that can facilitate the change of function deployment and reduce data redundancy. Summary of the Invention [Means for solving the problem]
[0005] The present application provides a function migration method and apparatus, and an intelligent driving device, to solve the problem of difficulty in changing deployment for large-scale function migration and the problem of data redundancy caused by repeated deployment of the same function in multiple domains, which helps reduce the complexity of function deployment of domain controllers so as to improve the efficiency of function deployment.
[0006] The methods provided in this application may be applied to an intelligent driving device. The intelligent driving device may be a vehicle in the broad sense, and may be a transportation means (e.g., a commercial vehicle, a passenger car, a truck, a motorcycle, an airplane, a train, or a ship), an industrial vehicle (e.g., a pallet truck, a trailer, or a tractor), an engineering vehicle (e.g., an excavator, a bulldozer, or a crane), an agricultural device (e.g., a lawn mower or a harvester), an entertainment device, or a toy vehicle. The type of vehicle is not particularly limited in this application.
[0007] According to a first aspect, the present application provides a function migration method. The method may be executed by an onboard domain controller of a vehicle or may be executed by a chip disposed in the onboard domain controller. The onboard domain controller includes a first zone and a second zone. The method includes generating first cross-domain call information, the first cross-domain call information indicating call information of a first sub-function for a function and / or data in the second zone, the first sub-function belonging to the first function and located in the first zone; and storing the first cross-domain call information, the stored first cross-domain call information being used to migrate the first sub-function from the first zone to the second zone.
[0008] In the above technical solution, function migration is performed at a small granularity, i.e., at sub-function level. This can avoid multi-domain deployment caused by function migration at a large granularity and helps reduce data redundancy caused by multi-domain deployment of the same function. In addition, when the stored first cross-domain call information is detected, a decision may be made to migrate the first sub-function based on the stored first cross-domain call information. As a result, if the actual execution status of the function deviates from the service requirements after the function is migrated and deployed (e.g., the actual security level of the function does not reach the expected security level), the user can determine the specific sub-function causing the deviation without re-analysis based on the service requirements, and facilitate adjustment of the function deployment (i.e., further sub-function migration or sub-function re-migration). This helps reduce the complexity and labor costs of function migration.
[0009] For example, the in-vehicle domain controller (sometimes referred to as domain controller for short) in this application may include an electronic control unit (ECU) of a vehicle or may include an in-vehicle computing platform, such as at least one of an advanced driving domain controller (ADC), a mobile data center (MDC), a vehicle domain controller (VDC), and a chassis domain controller (CDC). Alternatively, the in-vehicle domain controller may further include another computing platform, such as an in-car application server (ICAS) controller, a body domain controller (BDC), a special equipment system (SAS), a media graphics unit (MGU), a body super core (BSC), or an ADAS super core. This is not limited in this application. The ICAS may include at least one of a vehicle control server ICAS 1, an intelligent driving server ICAS 2, an intelligent cockpit server ICAS 3, and an infotainment server ICAS 4.
[0010] For example, storing the first cross-domain call information may include controlling storing the first cross-domain call information. For example, a module that controls a sub-function in an in-vehicle domain controller to perform a cross-domain call (e.g., a cross-domain call control module) controls storing the first cross-domain call information, or a module that manages a cache zone in the in-vehicle domain controller (e.g., a cache zone management module) controls storing the first cross-domain call information.
[0011] For example, the call information of the first sub-function for functions and / or data in the second zone may include information indicating that the cross-domain cost of the first sub-function is greater than or equal to a preset threshold.
[0012] For example, a call to a first sub-function for a function in a second zone may include a call to a sub-function of the first function in the second zone, or may include a call to another function deployed in the second zone, and a call to a first sub-function for data in the second zone may include a call to cross-domain shared data in the second zone.
[0013] Referring to the first aspect, in some implementation forms of the first aspect, generating the first cross-domain call information includes: recording cross-domain data of sub-functions in the first zone and the second zone in a first cache zone; when the cross-domain data of the first sub-function satisfies specified service requirements, obtaining the cross-domain data of the first sub-function from the first cache zone; and generating the first cross-domain call information based on the cross-domain data of the first sub-function and information regarding a service accessed by the first sub-function.
[0014] In the above technical solution, a cross-domain cache zone is set up, and cross-domain calls of the function (or sub-function) to be migrated and / or the migrated function (or sub-function) are implemented using the cross-domain cache zone. As a result, the same function does not need to be deployed separately in multiple domains during function migration, which helps reduce data redundancy caused by multi-domain deployment of the same function. Furthermore, cross-domain data recording and analysis are implemented based on the cross-domain cache zone. As a result, when the cross-domain data of a function meets certain conditions, cross-domain call information can be generated to indicate to a user or an in-vehicle domain controller to migrate the function. In addition, based on the above solution, adaptive division of sub-functions can be implemented based on actual service requirements (based on cross-domain data analysis) to reduce the workload caused by manual division.
[0015] With reference to the first aspect, in some implementation forms of the first aspect, storing the first cross-domain call information includes storing the first cross-domain call information in a second cache zone.
[0016] For example, storing the first cross-domain call information may include controlling storing the first cross-domain call information in a second cache zone.
[0017] In some possible implementations, the first zone and the second zone are zones with different security levels. For example, the security level of the first zone is higher than the security level of the second zone. If a sub-function in the first zone needs to frequently call functions and / or data in the second zone, when fast migration of the sub-function cannot be implemented due to service requirements (e.g., the sub-function requires a high security level), the cross-domain call of the sub-function may be implemented by using the first cache zone, which helps ensure the overall performance of the first function. In addition, if the cross-domain call information of the sub-function is stored in the second cache zone, it indicates that the sub-function is migratable and needs to be migrated. In this case, the sub-function may be controlled to be migrated based on the cross-domain call information of the second cache zone. After the sub-function is migrated, the cross-domain call pressure is reduced, thereby improving the overall performance of the first function.
[0018] In the above technical solution, the cross-domain call information stored in the second cache zone indicates the migration of the sub-function. After the sub-function is migrated, the cross-domain call pressure of the sub-function within the first function is reduced. Therefore, the performance of the first function is improved while the security level or security requirements of the first function are guaranteed.
[0019] In some possible implementations, for each sub-function having a cross-domain call requirement, the cross-domain data of the sub-function is recorded in a first cache zone, and when the cross-domain data meets the corresponding specified service requirement of the sub-function, the cross-domain data is stored in a second cache zone. Further, the in-vehicle domain controller calculates a cross-domain cost only for the cross-domain data of the sub-function stored in the second cache zone, and when the cross-domain cost corresponding to the sub-function (e.g., the first sub-function) is equal to or greater than a preset threshold, cross-domain call information for the sub-function is generated and the cross-domain call information is stored in the second cache zone.
[0020] In some possible implementations, after the cross-domain data of the sub-function is stored in the second cache zone, the cross-domain data of the sub-function is deleted from the first cache zone.
[0021] In the above technical solution, a first cache zone and a second cache zone are set up to respectively manage the complex data streams generated in the cross-domain call process. The first cache zone is used to store the cross-domain data of all sub-functions that need to be called across domains, and the second cache zone is used to store the cross-domain data of sub-functions that may need to be migrated. As a result, when determining which sub-functions need to be migrated, the in-vehicle domain controller only needs to pay attention to whether the sub-functions corresponding to the cross-domain data in the second cache zone need to be migrated (e.g., calculate the cross-domain cost of the corresponding sub-function based on the cross-domain data in the second cache zone), and does not need to determine whether each sub-function in the cross-migration needs to be migrated one by one. This helps reduce the calculation complexity during function migration.
[0022] With reference to the first aspect, in some implementations of the first aspect, the cross-domain data of the first sub-function includes at least one of a frequency, a delay tolerance, and a data amount of access to the second zone by the first sub-function.
[0023] In the above technical solution, since the cross-domain cache zone records the cross-domain data, users can analyze information such as the frequency and data amount of accessing shared data by sub-functions based on the cross-domain data, which further provides a reliable basis for users to balance the security and performance of functions.
[0024] With reference to the first aspect, in some implementation forms of the first aspect, before the step of generating first cross-domain call information, the method includes determining a first dependency of a first function, where the first function includes M sub-functions, the M sub-functions include a first sub-function, the first dependency indicating a call relationship between each of the M sub-functions and a second function, the first function and the second function are deployed in a first zone, the first dependency is used to control N sub-functions of the M sub-functions to be migrated to the second zone, the security level of the second zone is higher than the security level of the first zone, M is an integer greater than 1, and N is an integer greater than or equal to 1.
[0025] In some possible implementations, a sub-function other than the N sub-functions among the M sub-functions includes a first sub-function, in which case, after the N sub-functions are migrated to the second zone based on the first dependency, the first sub-function may need to call functions and / or data in the second zone, and first cross-domain call information may be generated.
[0026] In some possible implementations, the N sub-functions include a first sub-function, in which case the first cross-domain call information may be generated when a first dependency of the first function is determined.
[0027] In some possible implementations, the first dependency is associated with a function migration scenario. For example, if the first dependency indicates that the dependency between some sub-functions having low security level requirements and the first zone is complex, the function migration scenario may be to migrate the first function as a whole to the second zone and then migrate some sub-functions having low security level requirements back to the first zone. For example, sub-functions other than N sub-functions among the M sub-functions have low security level requirements, and the dependency between the sub-functions and the first zone is complex. In this case, the function migration scenario may be to migrate the first function to the second zone and then migrate sub-functions other than N sub-functions among the M sub-functions back to the first zone.
[0028] In the above technical solutions, dependencies of functions to be migrated can be determined to indicate specific scenarios of function migration (i.e., a function is migrated as a whole and then multiple sub-functions are migrated back to the initial deployment zone, or one or more sub-functions of a function are migrated from the initial deployment zone to a destination zone).
[0029] It should be noted that in this application, both the initial deployment zone and the destination zone are for a state in which the first function does not perform function migration. In the process of migrating the first function, the migration target zone may be a zone to which one or more sub-functions of the first function are migrated.
[0030] With reference to the first aspect, in some implementations of the first aspect, the method further includes migrating the first sub-function from the first zone to the second zone based on the first dependency and the first cross-domain call information.
[0031] For example, a first sub-function is migrated from a first zone to a second zone based on the first cross-domain call information and the complexity level of the dependency of the first sub-function indicated by the first dependency. For example, the complexity level of the dependency of the first sub-function may be determined based on at least one of the degree of complexity of the dependency between the first sub-function and a function in the first zone, the degree of complexity of the dependency between the first sub-function and data in the first zone, the degree of complexity of the dependency between the first sub-function and a function in the second zone, the degree of complexity of the dependency between the first sub-function and data in the second zone, and the migration difficulty of the dependent function of the first sub-function. The complexity level may be determined based on the amount of horizontally dependent functions, the amount of vertically dependent functions, etc.
[0032] In some possible implementations, the above-mentioned complexity level may further relate to the service features implemented by the first sub-function.
[0033] In the above technical solution, the migration of the first sub-function is controlled by referring to the first dependency relationship and the first cross-domain call information, which helps to improve the consistency between the actual execution status of the first function and the service requirements, so as to further reduce the number of function migrations.
[0034] In some possible implementations, the first cache zone is generated based on the requirements of the first sub-function to call the second zone within the first zone, in which case the first cache zone may be deleted (or formatted) when the first sub-function is migrated from the first zone to the second zone.
[0035] Referring to the first aspect, in some implementation forms of the first aspect, the method further includes: marking a cross-domain call application programming interface and / or a cross-domain data access pointer of the first sub-function by using a keyword; and generating a scheduling function based on the keyword, wherein the scheduling function is used to adjust the behavior of accessing the second zone by the first sub-function.
[0036] In the above technical solution, the first sub-function can perform cross-domain scheduling by using the scheduling function, and implement cross-domain migration (or deployment) of the function, and the code of the first sub-function can be separated, so that the user does not need to manually change the cross-domain scheduling function of the first sub-function, which helps to reduce the manual workload.
[0037] According to a second aspect, there is provided a function migration device, the device being disposed in an in-vehicle domain controller, the in-vehicle domain controller including a first zone and a second zone, the device including a generating unit and a storing unit, the generating unit configured to generate first cross-domain call information, the first cross-domain call information indicating call information of a first sub-function for a function and / or data in the second zone, the first sub-function belonging to the first function and located in the first zone, the storing unit configured to store the first cross-domain call information, the stored first cross-domain call information being used to migrate the first sub-function from the first zone to the second zone.
[0038] Referring to the second aspect, in some implementation forms of the second aspect, the storage unit includes a first cache zone, and the device further includes a recording unit, wherein the recording unit is configured to record cross-domain data of sub-functions in the first zone and the second zone in the first cache zone, and the generating unit is configured to obtain the cross-domain data of the first sub-function from the first cache zone when the cross-domain data of the first sub-function satisfies specified service requirements, and generate first cross-domain call information based on the cross-domain data of the first sub-function and information regarding the service accessed by the first sub-function.
[0039] Referring to the second aspect, in some implementation forms of the second aspect, the storage unit further includes a second cache zone, and the second cache zone is used to store the first cross-domain call information.
[0040] With reference to the second aspect, in some implementations of the second aspect, the cross-domain data of the first sub-function includes at least one of a frequency, a delay tolerance, and a data amount of access to the second zone by the first sub-function.
[0041] Referring to the second aspect, in some implementation forms of the second aspect, the apparatus further includes a determination unit, wherein the determination unit is configured to determine a first dependency of a first function, wherein the first function includes M sub-functions, wherein the M sub-functions include a first sub-function, wherein the first dependency indicates a call relationship between each of the M sub-functions and a second function, wherein the first function and the second function are deployed in a first zone, and the first dependency is used to control N sub-functions within the M sub-functions to be migrated to the second zone, wherein the security level of the second zone is higher than the security level of the first zone, wherein M is an integer greater than 1, and wherein N is an integer greater than or equal to 1.
[0042] Referring to the second aspect, in some implementation forms of the second aspect, the apparatus further includes a migration unit, where the migration unit is configured to migrate the first sub-function from the first zone to the second zone based on the first dependency and the first cross-domain call information.
[0043] Referring to the second aspect, in some implementation forms of the second aspect, the apparatus further includes a marking unit configured to mark a cross-domain call application programming interface and / or a cross-domain data access pointer of the first sub-function by using a keyword, and the generating unit is further configured to generate a scheduling function based on the keyword, and the scheduling function is used to adjust the behavior of accessing the second zone by the first sub-function.
[0044] According to a third aspect, there is provided a function migration apparatus, the apparatus including: a memory configured to store a computer program; and a processor configured to execute the computer program stored in the memory to enable the apparatus to perform a method according to any possible implementation of the first aspect.
[0045] According to a fourth aspect, there is provided a domain controller, the domain controller comprising an apparatus according to any possible implementation of the second or third aspect.
[0046] According to a fifth aspect, there is provided an intelligent driving device, the intelligent driving device including an apparatus according to any possible implementation form of the second aspect or the third aspect, or a domain controller according to any possible implementation form of the fourth aspect.
[0047] Referring to the fifth aspect, in some implementations of the fifth aspect, the intelligent driving device is a vehicle.
[0048] According to a sixth aspect, there is provided a computer program product, the computer program product comprising computer program code which, when executed on a computer, enables the computer to perform a method according to any possible implementation of the first aspect.
[0049] It should be noted that the computer program code may be completely or partially stored in the first storage medium, which may be encapsulated together with the processor or may be separate from the processor.
[0050] According to a seventh aspect, there is provided a computer-readable medium storing instructions that, when executed by a processor, enable the processor to implement a method according to any possible implementation of the first aspect.
[0051] According to an eighth aspect, there is provided a chip including a circuit configured to perform a method according to any possible implementation of the first aspect. [Brief explanation of the drawings]
[0052] [Figure 1] FIG. 1 is a diagram of a functional migration scenario. [Figure 2] FIG. 2 is a functional block diagram of an intelligent driving device according to an embodiment of the present application. [Figure 3(a)] FIG. 1 is a diagram of the system framework required for feature migration according to an embodiment of the present application. [Figure 3(b)] FIG. 1 is a diagram of the system framework required for feature migration according to an embodiment of the present application. [Figure 4] 1 is a schematic flowchart of a function migration method according to an embodiment of the present application; [Figure 5] 4 is another schematic flowchart of a function migration method according to an embodiment of the present application; [Figure 6] FIG. 2 is a diagram of an application scenario of a function migration method according to an embodiment of the present application; [Figure 7] FIG. 2 is another diagram of an application scenario of the function migration method according to an embodiment of the present application; [Figure 8A] FIG. 2 is another diagram of an application scenario of the function migration method according to an embodiment of the present application; [Figure 8B] FIG. 2 is another diagram of an application scenario of the function migration method according to an embodiment of the present application; [Figure 9] 1 is a block diagram of a function migration device according to an embodiment of the present application; [Figure 10] FIG. 2 is another block diagram of a function migration device according to an embodiment of the present application; DETAILED DESCRIPTION OF THE INVENTION
[0053] In the description of the embodiments of the present application, unless otherwise specified, " / " means "or." For example, A / B can refer to A or B. In this specification, "and / or" describes only the associative relationship between related objects and indicates that three relationships may exist. For example, A and / or B can refer to the following three cases: when only A is present, when both A and B are present, and when only B is present. In this application, "at least one" means one or more, and "plural" means two or more. "At least one" of the following items (moieties) or similar expressions means any combination of these items, including a singular item (moiety) or any combination of multiple items (moieties). For example, "at least one" of a, b, or c can refer to a, b, c, a and b, a and c, b and c, or a, b, and c, where a, b, and c may be singular or plural.
[0054] The prefix words "first," "second," etc. in the embodiments of the present application are merely intended to distinguish between different objects and do not impose limitations on the position, order, priority, quantity, content, etc. of the described objects. The use of prefixes such as ordinal numbers used to distinguish between described objects in the embodiments of the present application does not constitute limitations on the described objects. Please refer to the contextual description in the claims or embodiments for an explanation of the described objects, and the use of such prefixes should not constitute redundant limitations.
[0055] To facilitate understanding of the solutions in the embodiments of the present application, the concepts in the present application are first explained.
[0056] 1. Function: A function can be understood as a function implemented through a software program. The software program may be divided into one or more functional modules, and each functional module may complete a sub-function of the software program, and the whole including one or more functional modules may implement the function of the entire software program. In this application, function migration may include migration of a software program and / or migration of one or more functional modules within a software program.
[0057] For example, the on-board domain controller is a vehicle path planning controller, and the function of the domain controller is a path planning function. In the present application, the path planning function may be further divided into one or more sub-functions. For example, the path planning function may include one or more of a decision pre-processing sub-function, a pre-pre-processing sub-function, a path generation sub-function, an obstacle processing sub-function, and a track generation sub-function. The function transition may be transitioning the path planning function from the common domain to the security domain, transitioning one or more sub-functions of the path planning function from the common domain to the security domain, or transitioning one or more sub-functions of the path planning function from the security domain to the common domain.
[0058] It should be noted that multiple sub-functions of a function may have different security level requirements. For example, for some sub-functions, the security level of the common domain may satisfy the security level requirements of the sub-functions, while for other sub-functions, the security level of the security domain is required to satisfy the security level requirements of the sub-functions. As a result, for the entire function, the security level of the security domain must satisfy the security level requirements of the function.
[0059] 2. Horizontal Dependency: Horizontal dependency indicates that there is an interaction relationship (also called a call relationship) between functions of a domain controller, or an interaction relationship between subfunctions of a domain controller function. Furthermore, a function that has a horizontal dependency on a function to be migrated is called a horizontally dependent function.
[0060] 3. Vertical Dependency: If a function's function needs to be called due to the implementation of the function and / or sub-function of the domain controller, a vertical dependency exists between the function corresponding to the function and the function and / or sub-function of the domain controller. Furthermore, a function that has a vertical dependency on the function to be migrated is referred to as a vertically dependent function.
[0061] 4. Dependencies: Dependencies include horizontal dependencies and / or vertical dependencies.
[0062] 5. Service Requirements: Service requirements are conditions required to implement a function, and may include, for example, one or more of a security level requirement, a load balance requirement, and a delay performance requirement.
[0063] 6. Cross-domain call: A call made by a function (or sub-function) deployed in a first zone to a function (or sub-function) and / or data in a second zone, where the first zone and the second zone are different zones within a domain controller.
[0064] As mentioned above, in the field of intelligent vehicles, a multi-domain function deployment method is commonly used to improve the reliability and security of intelligent vehicle control systems. For example, functions with low security requirements are deployed to a common domain, and functions with high security requirements are deployed to a security domain. However, in the development stage, to improve efficiency, all functions are debugged in the common domain, and then functions with high security requirements are separated from all functions and migrated to the security domain.
[0065] In the current technical background, static dependency analysis of functions is performed for small functions (e.g., functions with simple dependencies). After the dependencies are determined, partitioning is performed manually on the functions to be migrated based on the security level requirements and the complexity of the dependencies. For large functions, the dependencies of the functions are identified through hotspot paths, and some shared data access code in the hotspot paths is automatically generated by using a tool, and partitioning is performed on the functions to be migrated. There are horizontal dependencies between the functions to be migrated and other functions, and vertical dependencies between the functions and the underlying hardware. As a result, when a function is migrated from the common domain to the security domain, the dependent functions may also need to be migrated to the security domain. Some dependent functions cannot be called across domains. Therefore, during function migration, the dependent functions may need to be deployed to both the common domain and the security domain. In addition, after a function is migrated and deployed, the actual execution status of the function may differ from the service requirements. Therefore, during the actual development and deployment process of functions into mass production of vehicles, the function deployment may need to be adjusted multiple times based on the degree of agreement between the actual execution status of the function and the service requirements. In other words, multiple function splitting and migration processes may need to be performed before the vehicle can be mass-produced.
[0066] The function division and migration scenario shown in Figure 1 is used as an example. Function A is a function that needs to be migrated, function X is a function that has horizontal dependency on function A, and function B, C, or D is a function that has vertical dependency on function A. In the current technical background, the function division and migration steps are as follows:
[0067] 1. Determine the function to be migrated (i.e., Function A) that needs to be migrated from Zone 1 to Zone 2.
[0068] 2. Determine the horizontally dependent function (i.e., function X) that has a horizontal dependency on the function to be migrated, and perform horizontal partitioning on the function to be migrated based on the horizontal dependency.
[0069] 3. Determine whether the horizontally dependent function supports cross-domain calls, and if cross-domain calls are supported, modify the call of the horizontally dependent function to a cross-domain call; if cross-domain calls are not supported, remove the dependency between the horizontally dependent function and the function to be migrated, or deploy the horizontally dependent function to both Zone 1 and Zone 2.
[0070] 4. Determine the vertically dependent functions (i.e., functions B, C, or D) that have a vertical dependency on the function to be migrated, and perform vertical partitioning on the function to be migrated based on the vertical dependency.
[0071] 5. Determine whether the vertically dependent function supports cross-domain calls, and if cross-domain calls are supported, modify the calls of the vertically dependent function to cross-domain calls; or if cross-domain calls are not supported, remove the dependency between the vertically dependent function and the function to be migrated, or deploy the vertically dependent function in both Zone 1 and Zone 2.
[0072] 6. Migrate the functionality to be migrated to Zone 2, determine whether the functionality to be migrated still needs to be used in Zone 1, and if the functionality to be migrated still needs to be used in Zone 1, reserve the functionality to be migrated in Zone 1 as well.
[0073] If Function A, Function B, Function C, Function D, and Function X cannot all be called across the entire domain, then a set of functions needs to be deployed to both Zone 1 and Zone 2, with Function A, Function B, Function C, Function D, and Function X reserved for Zone 1 and Migrated Function A', Migrated Function B', Migrated Function C', Migrated Function D', and Migrated Function X' deployed to Zone 2. It should be understood that Function A', Function B', Function C', Function D', and Function X' are the same as Function A, Function B, Function C, Function D, and Function X, respectively.
[0074] The above technical solutions have the following drawbacks. First, function partitioning and migration are performed based on coarse-grained functions, i.e., path planning functions, sensing functions, convergence functions, etc. are partitioned and migrated. During partitioning, multiple partitioning solutions coexist. As a result, after a function is migrated and deployed, its actual execution status may differ from the service requirements. In addition, when function execution deviates from the service requirements, re-partitioning and re-migration of the function consumes labor costs and lacks a reliable foundation. Second, if a function needs to provide services to two or more domains simultaneously, i.e., if one or more functions in two or more domains need to call the function, two or more sets of the same or similar function deployments must be maintained simultaneously in two or more domains. For some functions that do not need to be migrated (e.g., the migrated function does not require the service requirements of the domain to which it is migrated), multi-domain deployment of these functions may result in significant data redundancy, making it more likely that errors will occur during function development and deployment. In addition to the drawbacks, in the current technological context, the degree of function partitioning usually depends on the degree of reliability of the functions when accessing shared data within the service flow. The more complex the data flow generated by cross-domain calls, the more data is shared, and the greater the mutual impact between function security and function cross-domain access performance. However, this relationship cannot be inferred based on service requirements. As a result, it is difficult for users to balance function security and function performance during function division. In addition, the data used by each function is abstracted as a service and becomes a black box to the outside world. Data can be shared within a function, but cannot be shared from the outside (i.e., data cannot be shared between functions). Therefore, data sharing or multi-domain deployment must be taken into consideration during function division, which causes a heavy workload for function migration.
[0075] In consideration of this, embodiments of the present application provide a function migration method and apparatus, as well as an intelligent driving device. When a function is migrated from an initial deployment zone to a destination zone, the migration is performed in units of sub-functions within the function, and a cross-domain cache zone is set up to implement the cross-domain call of the function. In this way, the same function (or sub-function) does not need to be repeatedly deployed to two or more domains to solve the data redundancy problem caused by repeated deployment. Furthermore, the cross-domain call characteristics of the function are determined by using data in the cross-domain call process of the function recorded in the cross-domain cache zone. The cross-domain call characteristics indicate further migration of the function, for example, indicating that a sub-function of the function will be migrated from the initial deployment zone to the destination zone, or indicating that a sub-function of the function migrated to the destination zone will be migrated back to the initial deployment zone. As a result, if the actual execution status of the function deviates from the service requirements after the function is deployed, the function can be conveniently redeployed, which helps improve function migration and deployment efficiency.
[0076] The following describes the technical solutions of the embodiments in this application with reference to the accompanying drawings.
[0077] FIG. 2 is a functional block diagram of an intelligent driving device according to one embodiment of the present application. As shown in FIG. 2, the intelligent driving device 100 may include a sensing system 120 and a computing platform 150. The sensing system 120 may include multiple types of sensors configured to sense information about the environment surrounding the intelligent driving device 100. For example, the sensing system 120 may include a positioning system. The positioning system may be a global positioning system (GPS), a Beidou system, or another positioning system. In another example, the sensing system 120 may further include one or more of an inertial measurement unit (IMU), a lidar, a millimeter-wave radar, an ultrasonic radar, and an image capture device. Millimeter-wave radar can be classified as long-range radar and short- or medium-range radar. Currently, the sensing range of a lidar is approximately 80 meters to 150 meters, the sensing range of a long-range millimeter-wave radar is approximately 1 meter to 250 meters, the sensing range of a medium / short-range millimeter-wave radar is approximately 30 meters to 120 meters, the sensing range of a camera is approximately 50 meters to 200 meters, and the sensing range of an ultrasonic radar is approximately 0 meters to 5 meters.
[0078] Some or all of the functions of the intelligent driving device 100 may be controlled by a computing platform 150. The computing platform 150 may include processors 151 to 15n. A processor is a circuit having signal processing capabilities. In one implementation, the processor may be a circuit having instruction reading and execution capabilities, such as a central processing unit (CPU), a microprocessor, a graphics processing unit (GPU) (which may also be understood as a microprocessor), or a digital signal processor (DSP). In another implementation, the processor may implement a specific function based on the logical relationships of a hardware circuit. The logical relationships of the hardware circuit may be fixed or reconfigurable. For example, the processor may be a hardware circuit implemented by an application-specific integrated circuit (ASIC) or a programmable logic device (PLD), such as a field programmable gate array (FPGA). In a reconfigurable hardware circuit, the process of a processor loading a configuration document and implementing a hardware circuit configuration can be understood as the process of the processor loading instructions to implement some or all of the functions of a unit. In addition, the processor may alternatively be a hardware circuit designed for artificial intelligence and can be understood as an ASIC, such as a neural network processing unit (NPU), a tensor processing unit (TPU), or a deep learning processing unit (DPU). In addition, the computing platform 150 may further include a memory. The memory is configured to store instructions.Some or all of the processors 151 to 15n can call instructions in the memory to implement the corresponding functions.
[0079] The intelligent driving device 100 may include an advanced driving assistance system (ADAS). The ADAS acquires information about the surroundings of the intelligent driving device by using multiple sensors on the intelligent driving device (including, but not limited to, lidar, millimeter-wave radar, image capture devices, ultrasonic sensors, a global positioning system, and an inertial measurement unit), and analyzes and processes the acquired information to implement functions such as obstacle sensing, target recognition, intelligent driving device positioning, route planning, and driver monitoring / attention, thereby improving the driving safety, automation, and comfort of the intelligent driving device.
[0080] In terms of logical functions, an ADAS system generally includes three main functional modules: a sensing module, a decision-making module, and an execution module. The sensing module senses the environment around the vehicle through sensors and inputs corresponding real-time data to the decision-making module, which mainly includes on-board cameras, ultrasonic radar, millimeter-wave radar, and lidar. The decision-making module makes corresponding decisions based on the information acquired by the sensing module by using computing devices and algorithms. After receiving a decision-making signal from the decision-making module, the execution module takes corresponding actions, such as driving, changing lanes, steering, braking, or issuing an alert.
[0081] At different intelligent driving levels (L0 to L5), ADAS can implement different levels of autonomous driving assistance based on information obtained by using artificial intelligence algorithms and multiple sensors. The above intelligent driving levels (L0 to L5) are based on the rating standards of the Society of Automotive Engineers (SAE). Level L0 indicates no automation, Level L1 indicates driver assistance, Level L2 indicates partial automation, Level L3 indicates conditional automation, Level L4 indicates high automation, and Level L5 indicates full automation. At levels L1 to L3, the tasks of monitoring and responding to road conditions are completed jointly by the driver and the system, and the driver is required to take over the dynamic driving task. Levels L4 and L5 allow the driver to be fully transformed into a passenger. Currently, functions that can be implemented by ADAS mainly include, but are not limited to, adaptive cruise control, automatic emergency braking, automatic parking, blind spot monitoring, forward intersection traffic alert / braking, rearward intersection traffic alert / braking, leading vehicle collision warning, lane departure warning, lane keeping assist, rearward vehicle collision warning, traffic sign recognition, traffic jam assist, highway assist, etc. It should be understood that the above-mentioned functions may have specific modes at different intelligent driving levels (L0 to L5). A higher intelligent driving level indicates a more intelligent corresponding mode, requiring higher accuracy of sensing algorithms and higher accuracy of planning and control algorithms.
[0082] In some possible implementations, functional modules within an ADAS or functions (or other services) that may be implemented by the ADAS may require different security levels. For example, some functions may require a high security level. Therefore, during ADAS development, all functions are debugged in a common domain, and then functions with high security requirements are split and migrated to a security domain.
[0083] An embodiment of the present application provides a function migration method, in which function migration is performed by using one sub-function as a migration unit based on the dependencies of the sub-functions within the function. After the migration time, multiple sub-functions of the function may be deployed to two or more domains. Therefore, a sub-function may need to call a sub-function of a function in another domain and / or call another function and data in another domain. Figures 3(a) and 3(b) are diagrams of a system framework required for function migration according to an embodiment of the present application to implement cross-domain calls and further illustrate function migration.
[0084] In FIG. 3(a) (hereinafter referred to as FIG. 3a for short), subfunctions 3 to 5 of function 1 are migrated from the initial deployment zone (zone 1) of function 1 to the destination zone (zone 2) of the domain controller. After subfunctions 3 to 5 are migrated to zone 2, they need to call functions and / or data in zone 1. Therefore, a cross-domain call control module 301 and a cache zone management module 302 are deployed in zone 2. In addition, a cross-domain second cache module 303 and a cross-domain first cache module 304 are also deployed. For subfunctions that are located in zone 2 and need to call functions and / or data in zone 1, the cache zone management module 302 sets a cross-domain cache zone in the first cache module 304 to be used for the cross-domain calls of the subfunctions. Furthermore, the cross-domain call control module 301 controls the subfunctions to perform cross-domain calls. In addition, the cross-domain cache zone set for the sub-function in the first cache module 304 records the cross-domain data of the sub-function, and when the cross-domain data meets a preset condition, the cross-domain data is stored in the second cache module 303. The cache zone management module 302 determines and stores cross-domain call information of the sub-function based on the cross-domain data of the sub-function stored in the second cache module 303, and indicates transitioning the sub-function from zone 2 back to zone 1. It should be noted that after the sub-function is returned to zone 1, the cache zone management module 302 can delete the cross-domain cache zone set for the sub-function in the first cache module 304.
[0085] In FIG. 3(b) (hereinafter simply referred to as FIG. 3b), subfunctions 3 to 5 of function 1 are migrated from function 1's initial deployment zone (zone 1) to the domain controller's migration destination zone (zone 2). After subfunctions 3 to 5 are migrated, subfunction 1 and / or subfunction 2 in zone 1 need to call functions and / or data in zone 2. Therefore, the cross-domain call control module 305 and the cache zone management module 306 are deployed in zone 1. For subfunctions in zone 1 that need to call functions and / or data in zone 2, the cache zone management module 306 sets a cross-domain cache zone in the first cache module 304 to be used for the cross-domain calls of the subfunctions. Furthermore, the cross-domain call control module 305 controls the subfunctions to perform cross-domain calls. In addition, the cross-domain cache zone set for the subfunction in the first cache module 304 records the cross-domain data of the subfunction. When the cross-domain data meets a preset condition, the cross-domain data is stored in the second cache module 303. The cache zone management module 306 determines and stores cross-domain call information of the sub-function based on the cross-domain data of the sub-function stored in the second cache module 303, and indicates to migrate the sub-function from zone 1 to zone 2. It should be noted that after the sub-function is migrated to zone 2, the cache zone management module 306 can delete the cross-domain cache zone set in the first cache module 304 for the sub-function.
[0086] It can be appreciated that the first cache module 304 can include one or more cross-domain cache zones.
[0087] In some possible implementations, the second cache module 303 also includes one or more cross-domain cache zones. For example, for a sub-function that has a cross-domain call requirement, the cache zone management module 302 may set a cross-domain cache zone in the second cache module 303 to be used for cross-domain calls of the sub-function.
[0088] For example, Function 1 may be any of the functions such as a path planning function, a sensing function, and a fusion function. For example, Function 1 may be a path planning function, and Subfunctions 1 to 5 may be a decision preprocessing subfunction, a preprocessing subfunction, a path generation subfunction, an obstacle processing subfunction, and a trajectory generation subfunction, respectively. Zone 1 and Zone 2 may be the common domain and the security domain mentioned in the above embodiment, respectively. Alternatively, Zone 1 and Zone 2 may be other zones each satisfying different service requirements. This is not particularly limited in the embodiment of the present application.
[0089] For example, the cross-domain call control module 301 (and / or the cross-domain call control module 305) shown in FIGS. 3(a) and 3(b) may be implemented by a client-server (C / S) architecture or in another form.
[0090] It should be understood that the system architecture shown in Figures 3(a) and 3(b) is merely an example for explanation. During a specific implementation, the above-mentioned system may include more or fewer modules or nodes, and modules or nodes may be removed or added based on actual circumstances. For example, the first cache module 304 and the second cache module 303 may be combined into one cache module. In addition, in Figures 3(a) and 3(b), two zones, i.e., zone 1 and zone 2, are used as an example for explanation. During a specific implementation, the domain controller may further include more zones, and the first cache module 304 and the second cache module 303 may further be deployed across multiple domains.
[0091] In some possible implementations, the system architecture shown in Figures 3(a) and 3(b) may be applied to the following two scenarios:
[0092] First scenario: The security level of Zone 2 is higher than that of Zone 1, and Function 1 is migrated from Zone 1 to Zone 2. However, dependent functions of Function 1 do not require a high security level. Therefore, dependent functions of Function 1 are not migrated to Zone 2. In this case, some of the sub-functions of Function 1 need to call functions and / or data in Zone 1.
[0093] Second scenario: The security level of Zone 2 is higher than that of Zone 1, and some of the sub-functions of Function 1 are migrated from Zone 1 to Zone 2. Some of the sub-functions of Function 1 that are located in Zone 1 need to call functions and / or data in Zone 2, or some of the sub-functions of Function 1 that are located in Zone 2 need to call functions and / or data in Zone 1.
[0094] FIG. 4 is a schematic flowchart of a function migration method according to an embodiment of the present application. Method 400 may be executed by an in-vehicle domain controller or a chip used in the in-vehicle domain controller. For example, the in-vehicle domain controller may include the computing platform 150 shown in FIG. 2. In this case, the method may be executed by the computing platform 150. Alternatively, the method may be executed by the cross-domain call control module 301 and / or the cache zone management module 302 shown in FIGS. 3(a) and 3(b), or by the cross-domain call control module 305 and / or the cache zone management module 306, or by the cross-domain call control module 301, the first cache module 304, and the second cache module 303, or by the cross-domain call control module 305, the first cache module 304, and the second cache module 303. The following describes method 400 using an example in which the method is executed by the in-vehicle domain controller. The vehicle domain controller includes a first zone and a second zone. The method 400 may include S401 and S402.
[0095] S401: Generate first cross-domain call information, the first cross-domain call information indicating call information of a first sub-function for a function and / or data in a second zone, the first sub-function belonging to a first function, and the first sub-function located in the first zone.
[0096] For example, the first zone may be an initial deployment zone for the first function, and the second zone may be a destination zone for the first function or at least a portion of a sub-function of the first function. For example, the first zone may be a common domain in the above-described embodiment, and the second zone may be a security domain in the above-described embodiment. In another example, the first zone may be Zone 1 in the above-described embodiment, and the second zone may be Zone 2 in the above-described embodiment.
[0097] For example, the first zone may be a zone to which the first function or at least a portion of the sub-function of the first function is migrated, and the second zone may be an initial deployment zone for the first function. For example, the first zone may be a security domain in the above-mentioned embodiment, and the second zone may be a common domain in the above-mentioned embodiment. In another example, the first zone may be zone 2 in the above-mentioned embodiment, and the second zone may be zone 1 in the above-mentioned embodiment.
[0098] In some possible implementations, the first zone and the second zone may alternatively be other zones that can respectively meet different service requirements in the vehicle domain controller.
[0099] For example, the first function may be function 1 in the above-described embodiment, or the first function may be another function that needs to be migrated, and the first sub-function may be one or more of sub-functions 1 to 5 in the above-described embodiment, or another sub-function within the first function that needs to call functions and / or data in the second zone across the domain.
[0100] In one example, if the first function is function 1 shown in FIG. 3a, the first zone is zone 2 shown in FIG. 3a, and the second zone is zone 1 shown in FIG. 3a, the first sub-function may be at least one of sub-functions 3-5.
[0101] In another example, if the first function is function 1 shown in FIG. 3b, the first zone is zone 1 shown in FIG. 3b, and the second zone is zone 2 shown in FIG. 3b, the first sub-function may be sub-function 1 and / or sub-function 2.
[0102] In some possible implementations, the first sub-function may be a service unit (also referred to as a service segment) obtained through division within the first function based on actual service requirements. For example, the first sub-function may be a service unit.
[0103] For example, the call information of the first sub-function for the function in the second zone may include call information of the first sub-function for a sub-function of the first function in the second zone, or may include call information of the first sub-function for another dependent function of the first function in the second zone. The call information of the first sub-function for data in the second zone may include call information for cross-domain shared data in the second zone.
[0104] In some possible implementations, the first cross-domain call information may be information indicating that the cross-domain cost of the first sub-function is equal to or greater than a preset threshold. If the cross-domain cost of the first sub-function is equal to or greater than the preset threshold, it indicates that the cross-domain call of the first sub-function may cause security and / or performance degradation of the in-vehicle domain controller. Therefore, the first sub-function needs to be migrated from the first zone to the second zone. For example, the cross-domain cost may be determined based on at least one of the frequency, data volume, and delay tolerance of calls to the second zone by the first sub-function, the cross-domain call volume of the first sub-function, the migration priority of the first sub-function, and the cohesion coefficient of the first sub-function. The cross-domain call volume of the first sub-function may be understood as the amount of functions (and / or sub-functions) called by the first sub-function across the entire domain. The cohesion coefficient of a first sub-function may indicate the degree of close coordination between the first sub-function and another sub-function of the first function, or may be understood as the degree of dependency of the first sub-function on another sub-function of the first function, including a sub-function located in the first zone and / or a sub-function located in the second zone. The migration priority of the first sub-function may be set by a user or may be determined based on the dependency of the first sub-function and / or the security level requirement of the first sub-function. For example, if there is a complex dependency between the first sub-function and a sub-function in the second zone and / or if the security level requirement of the first sub-function is high, the first sub-function has a high migration priority.
[0105] For example, the cross-domain cost of the ith sub-function may be determined according to the following formula: cost cross-domain i =β0α1+β1α2+β2α3+β3α4+β4α5+β5α6(1)
[0106] Here, α1 to α6 respectively indicate the scores of the frequency of calling the second zone by the i-th sub-function, the data volume, the delay tolerance, the cross-domain call volume of the i-th sub-function, the migration priority of the i-th sub-function, and the cohesion coefficient of the i-th sub-function, and β0 to β5 are the weights of α1 to α6.
[0107] For example, the preset threshold value may be 1, or may be another threshold value, which is not particularly limited in the embodiment of the present application.
[0108] In some possible implementations, cross-domain data of sub-functions in the first zone and the second zone is recorded in a first cache zone, and when the cross-domain data of the first sub-function meets specified service requirements, the cross-domain data of the first sub-function is retrieved from the first cache zone, and first cross-domain call information is generated based on the cross-domain data of the first sub-function and information about the service accessed by the first sub-function.
[0109] For example, cross-domain data of sub-functions in a first zone and a second zone may include data generated when a sub-function in the first zone calls functions and / or data in the second zone, and / or data generated when a sub-function in the second zone calls functions and / or data in the first zone.
[0110] For example, the cross-domain data of sub-functions in a first zone and a second zone may include cross-domain data of the first sub-function, and the cross-domain data of the first sub-function may include at least one of a frequency, a delay tolerance, and a data amount of access to the second zone by the first sub-function.
[0111] It should be noted that "a service accessed by a first sub-function" may include a service corresponding to a function called by the first sub-function, and "accessing a second zone by a first sub-function" may include the first sub-function calling a function and / or data in the second zone.
[0112] For example, the specified service requirements may include at least one of: the cross-domain call frequency of the first sub-function is equal to or greater than a predetermined frequency; the security level required by the first sub-function is equal to or less than a predetermined level; the cross-domain call data amount of the first sub-function is equal to or greater than a predetermined data amount; the migration priority of the first sub-function is equal to or greater than a predetermined priority threshold; the delay tolerance of the first sub-function is equal to or greater than a predetermined tolerance; and the cross-domain call amount of the first sub-function is equal to or greater than a predetermined amount.
[0113] In some possible implementations, when one of the above items is satisfied, the cross-domain data of the first sub-function is obtained from the first cache zone. For example, when the cross-domain call frequency of the first sub-function is equal to or greater than a preset frequency, the cross-domain data of the first sub-function is obtained from the first cache zone. Alternatively, when some of the above items are satisfied, the cross-domain data of the first sub-function is obtained from the first cache zone. For example, when the cross-domain call frequency of the first sub-function is equal to or greater than a preset frequency and the security level required by the first sub-function is equal to or less than a preset level, the cross-domain data of the first sub-function is obtained from the first cache zone. Furthermore, the first cross-domain call information is generated based on information about the service accessed by the first sub-function and the cross-domain data of the first sub-function. For example, based on information about the service accessed by the first sub-function, weights of the items of cross-domain data, for example, specific values of β0 to β5 in Equation (1) obtained when the cross-domain cost is calculated, are determined. Furthermore, a cross-domain cost is calculated based on the determined weight of the item of cross-domain data, and the first cross-domain call information is generated when the cross-domain cost is equal to or greater than a preset threshold.
[0114] For example, the first cache zone may be a cache zone within the first cache module 304 shown in FIG. 3a or 3b.
[0115] In some possible implementations, the cross-domain data recorded in the first cache zone may be processed by using a cache replacement algorithm. For example, if the cross-domain data of the sub-function occurs infrequently, the cross-domain data of the sub-function in the first cache zone is erased. For example, the cache replacement algorithm may include, but is not limited to, a first-in first-out (FIFO) algorithm, a least-recently-used (LRU) algorithm, and a least-frequently-used (LFU) algorithm.
[0116] In some possible implementations, obtaining the cross-domain data of the first sub-function from the first cache zone may include obtaining the cross-domain data of the first sub-function from the first cache zone by using a second cache zone.
[0117] For example, when the cross-domain data of the first sub-function meets the specified service requirements, the cross-domain data of the first sub-function is stored in the second cache zone, and the cross-domain data of the first sub-function in the first cache zone is erased.
[0118] For example, the second cache zone may be a cache zone within the second cache module 303 shown in Figure 3a or 3b.
[0119] S402: Store first cross-domain call information, and the stored first cross-domain call information is used to migrate a first sub-function from a first zone to a second zone.
[0120] In some possible implementations, storing the first cross-domain call information may include controlling the storing of the first cross-domain call information. For example, the cross-domain call control module 301 in FIG. 3a or the cross-domain call control module 305 in FIG. 3b may control the storing of the first cross-domain call information.
[0121] In some possible implementations, storing the first cross-domain call information may include storing the first cross-domain call information in a second cache zone. For example, the cache zone management module 302 of FIG. 3 a or the cache zone management module 306 of FIG. 3 b can write the first cross-domain call information to a cache zone in the second cache module 303.
[0122] In some possible implementations, a cross-domain cost is calculated for each sub-function of a cross-domain call, and if the cross-domain cost of the sub-function is equal to or greater than a preset threshold, cross-domain call information corresponding to the sub-function is generated and stored.
[0123] In some possible implementations, for each sub-function of a cross-domain call, the cross-domain data of the sub-function is recorded in a first cache zone, and when the cross-domain data meets the corresponding specified service requirements, the cross-domain data of the sub-function is stored in a second cache zone. In this case, the in-vehicle domain controller calculates the cross-domain cost only for the cross-domain data of the sub-function stored in the second cache zone, and when the cross-domain cost of the sub-function is equal to or greater than a preset threshold, cross-domain call information corresponding to the sub-function is generated and stored.
[0124] In some possible implementations, the stored first cross-domain call information may be a list of migration targets. For example, if the cross-domain cost of the first sub-function is equal to or greater than a predetermined threshold, the related information of the first sub-function may be stored in the list of migration targets to indicate that the first sub-function needs to be migrated from the first zone to the second zone. For example, the related information of the first sub-function may include the cross-domain call application programming interface and / or the cross-domain data access pointer of the first sub-function, or may include information used to determine the cross-domain call application programming interface and / or the cross-domain data access pointer of the first sub-function.
[0125] In some possible implementations, the method further includes marking a cross-domain call application programming interface and / or a cross-domain data access pointer of the first sub-function by using a keyword, and generating a scheduling function based on the keyword, wherein the scheduling function is used to adjust the behavior of accessing the second zone by the first sub-function.
[0126] It may be understood that the cross-domain call application programming interface and / or cross-domain data access pointer of the first sub-function is used by the first sub-function to implement the cross-domain call.
[0127] For example, using the scheduling function to adjust the behavior of accessing the second zone by the first sub-function may include using the scheduling function to implement a cross-domain call that is performed after the first sub-function is migrated and / or using the scheduling function to adjust a cross-domain call priority that is used after the first sub-function is migrated. For example, the cross-domain call priority may indicate a priority of calling another function and / or data across domains by the first sub-function.
[0128] For example, the scheduling function is implemented using the Dispatcher function.
[0129] For example, when a first sub-function needs to be migrated from a first zone to a second zone, the scheduling function distributes code corresponding to the dependent functions of the first sub-function from the first zone to the second zone for execution.
[0130] In some possible implementations, when stored first cross-domain call information is detected, for example, when related information of a first sub-function is detected in a list of migration targets, a keyword is used to mark a cross-domain call application programming interface and / or a cross-domain data access pointer of the first sub-function, and a scheduling function is generated based on the keyword.
[0131] In some possible implementations, the first sub-function is migrated from the first zone to the second zone based on the stored first cross-domain call information.
[0132] According to the function migration method provided in this embodiment of the present application, a cross-domain cache zone is set, and cross-domain calls of the function to be migrated and / or the migrated function are implemented by using the cross-domain cache zone. As a result, multi-domain deployment does not need to be performed during function migration, which helps reduce data redundancy caused by multi-domain deployment of the function. Furthermore, cross-domain data recording and analysis are implemented based on the cross-domain cache zone. As a result, when the cross-domain data of the function meets certain conditions, cross-domain call information can be generated to indicate function migration. In addition, the embodiment of the present application proposes the concept of sub-functions of the function to be migrated. Cross-domain calls and migration instructions are executed at a granularity smaller than the function, i.e., at the sub-function level. As a result, if the actual execution status of the function may deviate from the service requirements after the function is migrated and deployed, function deployment adjustment (i.e., the sub-function is further migrated or the sub-function is re-migrated) is facilitated, which helps reduce the complexity and cost of function migration.
[0133] 5 is a schematic flowchart of a function migration method 500 according to an embodiment of the present application. The method 500 is an extension of the method 400. For example, the method 500 may be executed in parallel with the method 400 or after the method 400. For example, the method may be executed by an in-vehicle domain controller or a chip used in the in-vehicle domain controller. The following describes the method 500 by using an example in which the method is executed by the in-vehicle domain controller. The method 500 may include steps S501 and S502.
[0134] S501: Determine a first dependency of a first function, the first function including M sub-functions, the M sub-functions including a first sub-function, the first dependency indicating a call relationship between each of the M sub-functions and a second function, and the first function and the second function are deployed in a first zone of an in-vehicle domain controller.
[0135] In some possible implementations, the first dependency is used to control N sub-functions within M sub-functions to be migrated to the second zone, where M is an integer greater than 1 and N is an integer greater than or equal to 1.
[0136] For example, the first zone and the second zone may be the zones in the above-described embodiment, for example, the first zone is an initial deployment zone of the first function, and the second zone is a destination zone of the first function or a sub-function of the first function.
[0137] In some possible implementations, the security level of the second zone is higher than the security level of the first zone.
[0138] The "security level" of a zone may be understood as the security level that can be provided (or implemented) in the zone, for example, the security level of a security domain is higher than the security level of a common domain.
[0139] For example, the first function may be the first function in the above-mentioned embodiment, or the first function may be another function that needs to be migrated, and the first sub-function may be the first sub-function in the above-mentioned embodiment.
[0140] For example, the second function includes horizontally dependent functions and / or vertically dependent functions of the first function (or M sub-functions).
[0141] In one example, if a first function is determined to be a function to be migrated (i.e., a function that needs to be migrated from a first zone to a second zone), a first dependency of the first function is determined.
[0142] In another example, when some of the sub-functions of the first function are migrated to a second zone (the remaining sub-functions of the first function are still deployed in the first zone, and the remaining sub-functions include M sub-functions), and first cross-domain call information is detected, a first dependency of the first function is determined. In the above case, it should be noted that deploying the first function in the first zone of the in-vehicle domain controller includes deploying the remaining sub-functions of the first function in the first zone.
[0143] For example, determining the first dependency of a first function may be divided into two steps, including first determining the dependency of the first function and second determining the dependency of each sub-function of the first function. The dependency may include horizontal dependencies and vertical dependencies.
[0144] A method for determining the dependencies of a first function is described using an example in which the first function is a radar detection function that provides autonomous driving control. It is assumed that functions having horizontal dependencies on the first function include a radar sensor function, a fusion position function, and a sensor fusion function, functions having vertical dependencies on the first function include base function A and base function B, and base function A needs to further depend on base function C and base function D. Based on the autonomous driving development framework middleware, the horizontally dependent functions of the first function (i.e., functions having horizontal dependencies on the first function) may be determined by using tools such as Topic Monitor, RefGraph, and RosGraph, and the vertically dependent functions of the first function (i.e., functions having vertical dependencies on the first function) may be determined by using a dynamic link library dependency scanning method and a depth-first search (DFS) algorithm. Furthermore, the dependencies of the first function may be recorded in the form of a table. For example, Table 1 shows the dependencies of the radar detection function determined by the above-mentioned method.
[0145] [Table 1]
[0146] A method for determining the dependencies of each sub-function of the first function will be described using an example in which the first function is a radar detection function that provides autonomous driving control. Assume that the radar detection function includes multiple sub-functions, such as a data pre-processing sub-function, a data smoothing sub-function, a road processing sub-function, and a track planning sub-function. There is a horizontal dependency between the road processing sub-function and each of the data pre-processing sub-function and the track planning sub-function, and a vertical dependency between the road processing sub-function and basis function A. There is a horizontal dependency between the data pre-processing sub-function and each of the data smoothing sub-function and the fusion position function, and a vertical dependency between the data pre-processing sub-function and each of basis function A, basis function B, and basis function C. In this case, the dependencies of the sub-functions of the first function can be determined using the above-described method. Furthermore, the dependencies of the sub-functions of the first function may be recorded in the form of a table. For example, Table 2 shows the dependencies of the sub-functions of the radar detection function determined using the above-described method.
[0147] [Table 2]
[0148] In some possible implementations, after the first dependency is determined, the first dependency is output to indicate the transition of the first function.
[0149] S502: Migrate a first sub-function from a first zone to a second zone based on a first dependency and first cross-domain call information.
[0150] In some possible implementations, the first sub-function is migrated from the first zone to the second zone based on the first cross-domain call information and a dependency complexity level of the first sub-function indicated by the first dependency.
[0151] The complexity level of the dependencies of the first sub-function may include at least one of the complexity level of dependencies between the first sub-function and functions in the first zone, the complexity level of dependencies between the first sub-function and data in the first zone, the complexity level of dependencies between the first sub-function and functions in the second zone, and the complexity level of dependencies between the first sub-function and data in the second zone. For example, the complexity level may be determined based on the amount of horizontally dependent functions, the amount of vertically dependent functions, etc.
[0152] 5 need not be performed. For example, only S501 may be performed. Note that if the in-vehicle domain controller performs only S501, the operation of migrating the first sub-function from the first zone to the second zone may be performed by the user.
[0153] According to the function migration method provided in this embodiment of the present application, function dependencies can be determined, and a first sub-function is migrated from a first zone to a second zone based on the dependencies or based on the dependencies and the first cross-domain call information, thereby reducing the workload of manually migrating functions. In addition, the migration of the first sub-function is controlled based on the dependencies and the first cross-domain call information. This further helps improve the consistency between the actual execution status of the first function and service requirements, so as to further reduce the number of function migrations.
[0154] FIG. 6 is a diagram of an application scenario of the function migration method according to an embodiment of the present application.
[0155] 6(a), if zone 1 is the first zone in method 400, zone 2 is the second zone in method 400, and sub-function 2 in zone 1 is the first sub-function in method 400, first cross-domain call information may be generated and stored when sub-function 2 in zone 1 calls functions and / or data in zone 2. Further, sub-function 2 is migrated from zone 1 to zone 2 based on the stored cross-domain call information. It should be understood that after sub-function 2 is migrated from zone 1 to zone 2, sub-function 2 may not be deployed in zone 1.
[0156] 6(b), if zone 2 is the first zone in method 400, zone 1 is the second zone in method 400, and sub-function 3 in zone 2 is the first sub-function in method 400, first cross-domain call information may be generated and stored when sub-function 3 in zone 2 calls functions and / or data in zone 1. Further, sub-function 3 is migrated from zone 2 to zone 1 based on the stored cross-domain call information. It should be understood that after sub-function 3 is migrated from zone 2 to zone 1, sub-function 3 may not be deployed to zone 2.
[0157] For example, as shown in (a) or (b) of Figure 6, Zone 1 may be a common domain and Zone 2 may be a security domain, or "Zone 1" and "Zone 2" may be other domains that can respectively meet different service requirements.
[0158] FIG. 7 is another diagram of an application scenario of a function migration method according to an embodiment of the present application. As shown in FIG. 7, function X, function A, function B, function C, and function D are originally deployed in a common domain. Function A is a function that needs to be migrated from the common domain to the security domain (i.e., the first function), function X is a function that has a horizontal dependency on function A, and functions B, C, and D are base functions that have a vertical dependency on function A. In addition, among functions B, C, D, and X, only function C needs to meet a security requirement (i.e., it needs to be migrated to the security domain). In this case, according to the function migration method provided in this embodiment of the present application, only the functions that have security requirements (i.e., function A and function C) can be migrated to the security domain. After migration, function A and function C can call functions and / or data in the common domain by using a cross-domain cache zone. For example, after the functions are migrated, if function A' in the security domain needs to call function D and function X in the common domain, this may be implemented by using a cross-domain cache zone.
[0159] In some possible implementations, some of the sub-functions of function A may be migrated to the security domain, and the remaining sub-functions are reserved in the common domain. After the function is migrated, some of the sub-functions of function A may be reserved for function A', and some of the sub-functions may be reserved for function A. Alternatively, function A may be migrated as a whole to the security domain. After the function is migrated, function A is no longer deployed in the common domain, and function A' in the security domain is the same function as function A. It should be noted that the above two cases are also applicable to function C.
[0160] From Figure 7, it can be seen that according to the function migration method provided in the present application, when a function to be migrated is migrated to a destination zone, if the dependent functions (including horizontally dependent functions and / or vertically dependent functions) of the function to be migrated do not need to meet the service requirements provided by the destination zone, such as requirements such as security level restrictions (for example, function B, function D, and function X do not require the security level provided by the security domain), the dependent functions do not need to be migrated to the destination zone, which is helpful in avoiding unnecessary multi-domain deployment and reducing data redundancy.
[0161] 8A and 8B are another diagrams of application scenarios of a function migration method according to an embodiment of the present application. As shown in FIG. 8A and FIG. 8B, when a first function deployed in a common domain needs to be migrated to a second zone, the first function (or a part of the sub-functions of the first function) can be migrated by performing steps 801 to 806. The function migration methods 400 and 500 provided in the present application can be applied to 802′, 804, and 805.
[0162] 801: The user determines the functions to be transferred in the vehicle controller.
[0163] For example, the function to be migrated may include the first function in the above-described embodiment. The function to be migrated may be determined based on service requirements, such as a security level requirement, a load balance requirement, or a delay performance requirement of the function.
[0164] 802: The user determines the dependencies of the features to be migrated.
[0165] In some possible implementations, the dependencies of the features to be migrated may alternatively be determined by the in-vehicle domain controller (as shown at 802′), and the in-vehicle domain controller may notify the user of the dependencies of the features to be migrated.
[0166] For example, for a method for determining the dependencies of the features to be migrated, please refer to the description in method 500. The details will not be described again here.
[0167] 803: The user performs initial migration and migrates the function to be migrated from the initial deployment zone to the destination zone.
[0168] For example, the initial deployment zone may include Zone 1 in the above embodiment, and the destination zone may include Zone 2 in the above embodiment.
[0169] In some possible implementations, the initial migration may be determined by the user based on dependencies and capacity of the functionality to be migrated.
[0170] For example, the initial migration method may include the following two methods: a first method in which the function to be migrated is migrated as a whole to the destination zone, and a second method in which some of the sub-functions of the function to be migrated are migrated to the destination zone.
[0171] In one example, when the capacity of the function to be migrated is small, for example, when the function to be migrated includes a small number of sub-functions, some of the sub-functions of the function to be migrated do not require the service requirements provided by the destination zone (e.g., do not need to meet security requirements), and there are complex dependencies between some of the sub-functions and the functions of the initial deployment zone, the initial migration of the function to be migrated may be implemented in a first manner.
[0172] In another example, when the volume of the function to be migrated is large and the method of migrating the function as a whole is not appropriate, the initial migration of the function to be migrated may be implemented using a second method.
[0173] 804: For sub-functions that have cross-domain call requirements, the in-vehicle domain controller records the cross-domain data of the sub-functions.
[0174] For example, the sub-function with the cross-domain call requirement may be a sub-function deployed in the initial deployment zone or a sub-function migrated to the destination zone. The cross-domain data may be the cross-domain data in the above-described embodiments.
[0175] For example, the sub-function having the cross-domain call requirement is used as the first sub-function in the above embodiment as an example. For a specific method for recording the cross-domain data of the sub-function by the vehicle domain controller, please refer to the description in the above method 400. The details will not be described again in this specification.
[0176] 805: The in-vehicle domain controller determines the sub-functions that need to be migrated to the destination zone and / or the sub-functions that need to be returned from the destination zone based on the cross-domain data of each sub-function that has cross-domain call requirements.
[0177] In some possible implementations, cross-domain call information is generated for a sub-function that needs to be migrated to a destination zone and / or a sub-function that needs to be migrated from the destination zone to an initial deployment zone, the cross-domain call information is stored, and the stored cross-domain call information is used to migrate the sub-function to the destination zone or migrate the sub-function from the destination zone back to the initial deployment zone.
[0178] For example, for specific methods for generating cross-domain call information based on cross-domain data and storing the cross-domain call information, please refer to the description of method 400. The details will not be described again herein.
[0179] Furthermore, the in-vehicle domain controller notifies the user of information (e.g., cross-domain call information) about the sub-functions that need to be migrated to the destination zone and / or back from the destination zone. For example, the information about the sub-functions may be notified to the user by using the execution log of the in-vehicle domain controller, or may be notified to the user in another manner.
[0180] 806: The user adjusts the deployment of the sub-functions.
[0181] For example, the user performs sub-function migration based on information about the sub-function that needs to be migrated to the destination zone and / or the sub-function that needs to be migrated back from the destination zone to coordinate the deployment of the sub-function, e.g., performs sub-function migration based on cross-domain call information.
[0182] In some possible implementations, the vehicle domain controller may also perform sub-function migration to coordinate the deployment of sub-functions.
[0183] In some possible implementations, after the deployment of the sub-function has been coordinated, 804-806 continue to be executed until the sub-function no longer needs to be migrated (e.g., the stored cross-domain call information can no longer be detected), i.e., until the migration step is complete.
[0184] It should be noted that after the migration is completed by using the function migration method provided in this application, some sub-functions of the migrated function may still have cross-domain call requirements, but the cross-domain calls of these sub-functions meet the service requirements, for example, the frequency, data volume, delay tolerance, etc. of the cross-domain calls are all lower than the specified service requirements and meet the performance and security requirements of the migrated function.
[0185] It can be understood that before the migration, there may be no cross-domain cache zone corresponding to the function to be migrated in the in-vehicle domain controller because the function to be migrated does not have a cross-domain call requirement. After the migration is completed, for some sub-functions that have a cross-domain call requirement, a cross-domain cache zone used for cross-domain calls of some sub-functions may be set in the in-vehicle domain controller.
[0186] It is further noted that the function migration method provided in the present application is applicable to a scenario in which a function is migrated across two or more cross-domains of one in-vehicle domain controller, and is further applicable to a scenario in which the initial deployment zone and the destination zone of the function to be migrated are separated by hardware.
[0187] In various embodiments of the present application, unless otherwise specified or there is no logical contradiction, the terms and / or descriptions in all embodiments are consistent and may be cross-referenced, and the technical features in different embodiments may be combined based on their internal logical relationships to form new embodiments.
[0188] The above describes in detail the method provided in the embodiment of the present application with reference to Figures 1 to 8A and 8B. Hereinafter, the device provided in the embodiment of the present application will be described in detail with reference to Figures 9 and 10. It should be understood that the description of the device embodiment corresponds to the description of the method embodiment. Therefore, for the contents not described in detail, please refer to the method embodiment. For the sake of brevity, the details will not be described again in this specification.
[0189] 9 is a block diagram of a function migration apparatus 900 according to an embodiment of the present application. The apparatus 900 includes a generating unit 910 and a storing unit 920.
[0190] The apparatus 900 may include units configured to perform the method of Fig. 4. In addition, the units in the apparatus 900 are respectively used to implement corresponding procedures of the embodiment of the method of Fig. 4.
[0191] When the apparatus 900 is configured to perform the method 400 of FIG. 4, the generating unit 910 may be configured to perform S401 of the method 400, and the storage unit 920 may be configured to perform S402 of the method 400.
[0192] Specifically, the generating unit 910 is configured to generate first cross-domain call information, the first cross-domain call information indicating call information of a first sub-function for a function and / or data in a second zone of the in-vehicle domain controller, the first sub-function belonging to a first function, and the first sub-function located in the first zone of the in-vehicle domain controller; the storage unit 920 is configured to store the first cross-domain call information, and the stored first cross-domain call information is used to migrate the first sub-function from the first zone to the second zone.
[0193] Optionally, the storage unit includes a first cache zone, and the apparatus 900 further includes a recording unit, wherein the recording unit is configured to record cross-domain data of the sub-functions in the first zone and the second zone in the first cache zone, and the generating unit is configured to, when the cross-domain data of the first sub-function satisfies specified service requirements, obtain the cross-domain data of the first sub-function from the first cache zone, and generate first cross-domain call information based on the cross-domain data of the first sub-function and information related to the service accessed by the first sub-function.
[0194] Optionally, the storage unit 920 further includes a second cache zone, where the second cache zone is used to store the first cross-domain call information.
[0195] Optionally, the cross-domain data of the first sub-function includes at least one of a frequency, a delay tolerance, and a data amount of accessing the second zone by the first sub-function.
[0196] Optionally, the apparatus 900 further includes a determination unit, wherein the determination unit is configured to determine a first dependency of a first function, wherein the first function includes M sub-functions, wherein the M sub-functions include a first sub-function, wherein the first dependency indicates a call relationship between each of the M sub-functions and a second function, wherein the first function and the second function are deployed in a first zone, and wherein the first dependency is used to control N sub-functions within the M sub-functions to be migrated to the second zone, wherein a security level of the second zone is higher than that of the first zone, wherein M is an integer greater than 1, and wherein N is an integer greater than or equal to 1.
[0197] Optionally, the apparatus 900 further includes a migration unit, wherein the migration unit is configured to migrate the first sub-function from the first zone to the second zone based on the first dependency and the first cross-domain call information.
[0198] Optionally, the apparatus 900 further includes a marking unit, wherein the marking unit is configured to mark a cross-domain call application programming interface and / or a cross-domain data access pointer of the first sub-function by using the keyword, and the generating unit 910 is further configured to generate a scheduling function based on the keyword, wherein the scheduling function is used to adjust the behavior of accessing the second zone by the first sub-function.
[0199] For example, the generating unit 910 and the storage unit 920 may be disposed in the computing platform 150 shown in FIG. 2. The generating unit 910 may be disposed in the cross-domain call management module 301 and / or the cross-domain call control module 305 shown in FIGS. 3(a) and 3(b). The storage unit 920 is provided in the second cache module 303 shown in FIGS. 3(a) and 3(b). For example, the recording unit may be disposed in the computing platform 150 shown in FIG. 2, or in the cache zone management module 302 or the cache zone management module 306 shown in FIGS. 3(a) and 3(b). For example, the obtaining unit, the determining unit, the migration unit, and the marking unit may be disposed in the computing platform 150 shown in FIG. 2, or in the cross-domain call control module 301 and / or the cross-domain call control module 305 shown in FIGS. 3(a) and 3(b).
[0200] It should be understood that the division of the device into units described above is merely a logical division of function. During actual implementation, all or some of the units may be integrated into one physical entity or physically separated. In addition, the units in the device may be implemented in the form of software called by a processor. For example, the device may include a processor connected to a memory, the memory storing instructions, and the processor calling the instructions stored in the memory to implement any one of the above-described methods or the functions of the units in the device. The processor may be, for example, a general-purpose processor such as a CPU or microprocessor, and the memory may be memory within the device or memory external to the device. Alternatively, the units in the device may be implemented in the form of hardware circuits, and some or all of the functions of the units may be implemented by designing the hardware circuits. The hardware circuits may be understood as one or more processors. For example, in one implementation, the hardware circuit is an ASIC, and some or all of the functions of the units are implemented by designing logical relationships between components in the circuit. As another example, in another implementation, the hardware circuit may be implemented using a PLD. An FPGA is used as an example, and the FPGA may include a large number of logic gate circuits, and the connection relationships between the logic gate circuits are configured using a configuration file to implement the functions of some or all of the units. All units of the device may be implemented in the form of software called by a processor, or in the form of hardware circuits, or some of the units may be implemented in the form of software called by a processor, and the remaining units may be implemented in the form of hardware circuits.
[0201] The units within the apparatus may be configured as one or more processors (or processing circuits) that implement the above-described methods, such as a CPU, GPU, NPU, TPU, DPU, microprocessor, DSP, ASIC, FPGA, or a combination of at least two of these processor forms.
[0202] In addition, all or some of the units of the device may be integrated or implemented independently. In one implementation, the units may be integrated together and implemented in the form of a system-on-a-chip (SOC). The SOC may include at least one processor configured to implement any one of the methods described above or to implement the functions of the units in the device. The at least one processor may be of different types, for example, including a CPU and an FPGA, a CPU and an artificial intelligence processor, or a CPU and a GPU.
[0203] In certain implementations, the operations performed by the generating unit 910 may be performed by a processor, which controls the storage of associated data and / or information in the storage unit 920. In addition, the operations performed by the generating unit 910, the determining unit, the transitioning unit, and the marking unit may be performed by the same processor or different processors. During certain implementations, one or more processors may be processors disposed in the computing platform 150 shown in FIG. 2, or the apparatus 900 may be a chip disposed in the intelligent driving device 100.
[0204] 10 is a block diagram of a function migration device according to an embodiment of the present application. The function migration device 1000 shown in FIG. 10 may include a processor 1010, a transceiver 1020, and a memory 1030. The processor 1010, the transceiver 1020, and the memory 1030 are connected via an internal connection path. The memory 1030 is configured to store instructions. The processor 1010 is configured to execute the instructions stored in the memory 1030 to implement the function migration method in the above-described embodiment. Optionally, the memory 1030 may be coupled to the processor 1010 via an interface or integrated with the processor 1010.
[0205] It should be noted that the transceiver 1020 may include, but is not limited to, an input / output interface transceiver device to implement communications between the apparatus 1000 and another device or communications network.
[0206] The memory 1030 may be a read-only memory (ROM), a static storage device, a dynamic storage device, or a random access memory (RAM).
[0207] The transceiver 1020 implements communication between the apparatus 1000 and another device or communication network using, for example, but not limited to, a transceiver device of a transceiver type, and receives / transmits data / information used to implement the function migration method in the above-described embodiments.
[0208] During a particular implementation, the device 1000 may be disposed in the computing platform 150 shown in FIG. 2, or the device 1000 may be disposed in the cross-domain call control module 301 and / or the cross-domain call control module 305 shown in FIGS. 3(a) and 3(b).
[0209] An embodiment of the present application further provides a domain controller, which includes the device 900 or the device 1000.
[0210] An embodiment of the present application further provides an intelligent driving device, which may include the device 900 or the device 1000, or may further include the above-mentioned domain controller.
[0211] In some possible implementations, the intelligent driving device may be a vehicle.
[0212] An embodiment of the present application further provides a computer program product, which includes computer program code, which, when executed on a computer, enables the computer to implement the function migration method in the above-mentioned embodiment of the present application.
[0213] An embodiment of the present application further provides a computer-readable storage medium, which stores computer instructions, which, when executed on a computer, enable the computer to implement the function migration method in the above-mentioned embodiment of the present application.
[0214] An embodiment of the present application further provides a chip including a circuit configured to perform the function migration method in the above-mentioned embodiment of the present application.
[0215] In the implementation process, the steps in the above-mentioned method can be implemented by using hardware integrated logic circuits in a processor or by using instructions in the form of software. The methods disclosed with reference to the embodiments of the present application can be directly executed by a hardware processor or can be executed by a combination of hardware and software modules in a processor. The software modules can be located in a mature storage medium in the art, such as a random access memory, a flash memory, a read-only memory, a programmable read-only memory, an electrically erasable programmable memory, or a register. The storage medium is located in the memory, and the processor reads information in the memory and completes the steps in the above-mentioned method in combination with the hardware of the processor. To avoid repetition, details will not be described again here.
[0216] For the sake of convenient and concise description, it can be clearly understood by those skilled in the art that for the detailed operation processes of the above-mentioned systems, devices and units, please refer to the corresponding processes in the above-mentioned method embodiments, and the details will not be described again in this specification.
[0217] In the embodiments provided in this application, it should be understood that the disclosed systems, devices, and methods may be implemented in other manners. For example, the device embodiments described above are merely examples. For example, the division of units is merely a logical division of function, and other divisions may occur during actual implementation. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not implemented. In addition, the shown or described mutual couplings or direct couplings or communication connections may be implemented via some interfaces. Indirect couplings or communication connections between devices or units may be implemented in electrical, mechanical, or other forms.
[0218] The units described as separate parts may or may not be physically separate, and the parts displayed as units may or may not be physical units, i.e., they may be located in one place or distributed over multiple network units. Some or all of the units may be selected based on actual requirements to achieve the objectives of the solutions of the embodiments.
[0219] In addition, the functional units in the embodiments of the present application may be integrated into one processing unit, and each of the units may exist physically alone, or two or more units may be integrated into one unit.
[0220] The above description is merely a specific implementation form of the present application and does not limit the protection scope of the present application. Any variations or replacements that can be easily conceived by those skilled in the art within the technical scope disclosed in the present application shall fall within the protection scope of the present application. Therefore, the protection scope of the present application shall be subject to the protection scope of the claims. [Explanation of symbols]
[0221] 100 Intelligent Driving Devices 120 Sensing System 150 Computing Platforms 151~15n processor 301 Cross-Domain Call Control Module 302 Cache Zone Management Module 303 Secondary Cache Module 304 First Cache Module 305 Cross-Domain Call Control Module 306 Cache Zone Management Module 900 Function Transfer Device 910 Generating Unit 920 Storage Unit 1000 Function Transfer Device 1010 processor 1020 Transceiver 1030 memory
Claims
1. 1. A function migration method, the method being performed by an in-vehicle domain controller, the in-vehicle domain controller including a first zone and a second zone, the method comprising: generating first cross-domain call information, the first cross-domain call information indicating call information of a first sub-function for a function and / or data in the second zone, the first sub-function belonging to a first function, and the first sub-function located in the first zone; storing the first cross-domain call information, wherein the stored first cross-domain call information is used to migrate the first sub-function from the first zone to the second zone; A method comprising:
2. The step of generating first cross-domain call information includes: recording cross-domain data of sub-functions in the first zone and the second zone in a first cache zone; obtaining the cross-domain data of the first sub-function from the first caching zone when the cross-domain data of the first sub-function meets specified service requirements; generating the first cross-domain call information based on the cross-domain data of the first sub-function and information about a service accessed by the first sub-function; 2. The method of claim 1, comprising:
3. The step of storing the first cross-domain call information includes: The method of claim 2 , further comprising storing the first cross-domain call information in a second cache zone.
4. The method of claim 2 or 3, wherein the cross-domain data of the first sub-function includes at least one of a frequency, a delay tolerance, and a data volume of access to the second zone by the first sub-function.
5. Before the step of generating first cross-domain call information, the method further comprises: determining a first dependency of the first function, the first function including M sub-functions, the M sub-functions including the first sub-function, the first dependency indicating a call relationship between each of the M sub-functions and a second function, the first function and the second function being configured to be deployed in the first zone; 5. The method of claim 1, wherein the first dependency is used to control N sub-functions of the M sub-functions to be migrated to the second zone, the security level of the second zone being higher than the security level of the first zone, M being an integer greater than 1, and N being an integer greater than or equal to 1.
6. The method comprises: The method of claim 5 , further comprising migrating the first sub-function from the first zone to the second zone based on the first dependency and the first cross-domain call information.
7. The method comprises: marking a cross-domain call application programming interface and / or a cross-domain data access pointer of said first sub-function by using a keyword; generating a scheduling function based on the keyword, the scheduling function being used to adjust the behavior of accessing the second zone by the first sub-function; 7. The method of claim 1, further comprising:
8. A function migration device, the device being disposed in an in-vehicle domain controller, the in-vehicle domain controller including a first zone and a second zone, the device comprising: a generating unit and a storage unit; The generating unit generates first cross-domain call information, the first cross-domain call information indicating call information of a first sub-function for a function and / or data in the second zone, the first sub-function belonging to a first function, and the first sub-function being configured to be located in the first zone; the storage unit is configured to store the first cross-domain call information, and the stored first cross-domain call information is configured to be used to migrate the first sub-function from the first zone to the second zone.
9. the storage unit includes a first cache zone, and the device further comprises a recording unit; the recording unit is configured to record cross-domain data of sub-functions in the first zone and the second zone in the first cache zone; 9. The apparatus of claim 8, wherein the generating unit is particularly configured to: obtain the cross-domain data of the first sub-function from the first cache zone when the cross-domain data of the first sub-function satisfies specified service requirements; and generate the first cross-domain call information based on the cross-domain data of the first sub-function and information about a service accessed by the first sub-function.
10. The apparatus of claim 9 , wherein the storage unit further includes a second cache zone, the second cache zone being used to store the first cross-domain call information.
11. 11. The apparatus of claim 9 or 10, wherein the cross-domain data of the first sub-function includes at least one of a frequency, a delay tolerance, and a data amount of access to the second zone by the first sub-function.
12. The apparatus further comprises a determination unit, the determination unit comprising: determining a first dependency relationship of the first function, the first function including M sub-functions, the M sub-functions including the first sub-function, the first dependency relationship indicating a call relationship between each of the M sub-functions and a second function, the first function and the second function being configured to be deployed in the first zone; 12. The apparatus of claim 8, wherein the first dependency is used to control N sub-functions of the M sub-functions to be migrated to the second zone, wherein a security level of the second zone is higher than a security level of the first zone, M is an integer greater than 1, and N is an integer equal to or greater than 1.
13. The apparatus further comprises a transfer unit, the transfer unit comprising: The apparatus of claim 12 , configured to migrate the first sub-function from the first zone to the second zone based on the first dependency and the first cross-domain call information.
14. the apparatus further comprises a marking unit; The marking unit is configured to mark the cross-domain call application programming interface and / or the cross-domain data access pointer of the first sub-function by using a keyword; The apparatus of claim 8 , wherein the generating unit is further configured to generate a scheduling function based on the keyword, and the scheduling function is used to adjust a behavior of accessing the second zone by the first sub-function.
15. A function transfer device, a memory configured to store a computer program; a processor configured to execute the computer program stored in the memory to enable the device to perform the method of any one of claims 1 to 7; A function transfer device comprising:
16. A domain controller comprising an apparatus according to any one of claims 8 to 15.
17. An intelligent driving device comprising a domain controller according to claim 16 or an apparatus according to any one of claims 8 to 15.
18. 18. The intelligent driving device of claim 17, wherein the intelligent driving device is a vehicle.
19. 8. A computer-readable storage medium storing instructions that, when executed by a processor, enable the processor to implement the method of any one of claims 1 to 7.
20. A chip, the chip comprising circuitry, the circuitry configured to perform the method of any one of claims 1 to 7.
Citation Information
Patent Citations
Control unit function automatic migration method applied to industrial control system
CN115328065A
Computer system for providing a plurality of functions for a device, in particular for a vehicle, by means
CN117056932A
Security control method and computer system
US20200250302A1