Method and device for adjusting computing resources and intelligent driving equipment

CN119895393APending Publication Date: 2025-04-25YINWANG INTELLIGENT TECHNOLOGIES CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202280100295.2
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2022-11-10
Publication Date
2025-04-25

AI Technical Summary

Technical Problem

In the existing technology, when the central computing platform allocates computing resources, it is difficult to dynamically adjust them during user use, resulting in insufficient computing resources in some business domains, affecting processing capabilities and system stability.

Method used

Introduce dedicated computing units and shared computing units that run in parallel, and dynamically allocate shared computing units to meet the needs of the target business domain by obtaining usage data of the business domain, avoiding preempting resources from other business domains, and ensuring the stability and processing of each business domain. ability.

Benefits of technology

It realizes the flexible adjustment of computing resources during user use, ensures business processing capabilities and the stable operation of each business domain, avoids the preemption of computing resources, and improves the stability and security of the overall system.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119895393A_ABST
    Figure CN119895393A_ABST
Patent Text Reader

Abstract

The invention discloses a method and device for adjusting computing resources and intelligent driving equipment. Wherein the computing resource comprises a dedicated computing units and b shared computing units which run in parallel, the a dedicated computing units are allocated to m service domains, the method comprising: acquiring first usage data of each of K service domains (S310); determining a first number of calculation units required by a target service domain in the k service domains according to the first usage data of each service domain in the k service domains (S320), wherein the k service domains are one or more of the m service domains; determining a third number of shared computing units that need to be allocated to the target service domain among the b shared computing units according to the first number and a second number of dedicated computing units that have been allocated to the target service domain among the a dedicated computing units (S330); and allocating a third number of shared computing units to the target business domain (S340). According to the method, the computing resources of the target service domain can be adjusted in combination with the use habits of the user, so that the service processing capability of the target service domain can be ensured.
Need to check novelty before this filing date? Find Prior Art

Description

Method, device and intelligent driving equipment for adjusting computing resources Technical Field

[0001] The present application relates to the field of intelligent driving technology, and more specifically, to a method and apparatus for adjusting computing resources and an intelligent driving device. Background Art

[0002] Compared to the traditional model of independent operation of multiple business domains, a central computing platform can integrate computing resources from different business domains, significantly saving resources and costs. For example, in the automotive field, computing resources for business domains such as intelligent driving, vehicle control, and cockpit are all deployed on the central computing platform. The central computing platform then divides computing resources by business domain and centralizes computing.

[0003] The current mainstream computing resource allocation solution virtualizes the computing resources of the central computing platform before leaving the factory, and then allocates different computing resources for different business domains. However, based on this pre-allocated computing resource, users may experience insufficient computing resources for certain business domains during vehicle use, resulting in reduced business processing capabilities.

[0004] Therefore, how to ensure the business processing capabilities of the central computing platform is an urgent problem that needs to be solved.

[0005] Summary of the Invention

[0006] The present application provides a method, apparatus, and intelligent driving device for adjusting computing resources, which can ensure the business processing capabilities of a central computing platform.

[0007] In a first aspect, a method for adjusting computing resources is provided, wherein the computing resources include a dedicated computing units and b shared computing units running in parallel, the a dedicated computing units being allocated to m business domains, wherein a, b, and m are all positive integers greater than or equal to 2, the method comprising: obtaining first usage data for each of the k business domains, wherein the first usage data is data of user usage of the business domain in a first historical time period, and the k business domains are one or more of the m business domains; determining a first number of computing units required for a target business domain in the k business domains based on the first usage data of each business domain; determining a third number of shared computing units that need to be allocated to the target business domain in the b shared computing units based on the first number and a second number of dedicated computing units that have been allocated to the target business domain in the a dedicated computing units; and allocating the third number of shared computing units to the target business domain.

[0008] A dedicated computing unit is a computing unit dedicated to a particular business domain. After a dedicated computing units are allocated to m business domains, each of the a dedicated computing units is dedicated to the business domain to which it is allocated and is no longer used in other business domains.

[0009] A shared computing unit is a computing unit that can be shared across multiple business domains, rather than being dedicated to a specific business domain. For example, consider shared computing unit A among b shared computing units. At the first moment, shared computing unit A can be assigned to the first business domain; at the second moment, shared computing unit A can be assigned to the second business domain.

[0010] The a dedicated computing units mentioned above can be allocated to m business domains according to a preset ratio, and the preset ratio can be determined by professional technicians based on experience.

[0011] By introducing shared computing units, this application can flexibly adjust the computing resources of the target business domain based on the user's usage habits during the user's use of computing resources. For example, when the dedicated computing units in the target business domain cannot meet the user's needs, one or more shared computing units can be allocated to the target business domain based on the user's needs. This can ensure the business processing capacity of the target business domain on the one hand; on the other hand, it can avoid preempting the dedicated computing units of other business domains when the computing needs of the target business domain are large, thereby ensuring the stability of business operations in each business domain.

[0012] In combination with the first aspect, in certain implementations of the first aspect, after allocating the third number of shared computing units to the target business domain, the method further includes: grouping the computing units in the target business domain according to prior information of the target business domain, the prior information including information of the business already deployed in the target business domain; and redeploying the business in the grouped target business domain.

[0013] The information of deployed services refers to the operators involved in each deployed service and the number of computing units required by each operator.

[0014] In the present application, after allocating a third number of shared computing units to the target business domain, the computing units in the target business domain can be grouped according to the information of the services already deployed in the target business domain, and the services can be redeployed in the grouped target business domain to ensure the continuity and stability of the operation of each service involved in the target business domain.

[0015] In combination with the first aspect, in certain implementations of the first aspect, grouping the computing units in the target business domain based on the prior information of the target business domain includes: determining a set of grouping strategies for the computing units in the target business domain based on preset conditions; determining a target grouping strategy based on the prior information of the target business domain, the target grouping strategy being one of the grouping strategy set; and grouping the computing units in the target business domain based on the target grouping strategy.

[0016] The present application can first determine the grouping strategy set of computing units in the target business domain according to preset conditions, then filter out the target grouping strategy from the grouping strategy set according to the prior information of the target business domain, and group the computing units in the target business domain according to the target grouping strategy, thereby being able to determine the target grouping strategy more quickly and efficiently and reduce ineffective running time.

[0017] In conjunction with the first aspect, in certain implementations of the first aspect, the preset condition includes at least one of the following: the number of computing units included in each group is 2 n , where n is a positive integer greater than or equal to 1; the number of groups is less than or equal to the number of services that need to be deployed; the number of computing units in the first group is less than or equal to the number of computing units required by the first operator, wherein the first group is the group with the most computing units included in a service domain, and the first operator is the operator with the most computing units required in the service that needs to be deployed; or, the number of computing units in the second group is greater than or equal to the number of computing units required by the second operator, wherein the second group is the group with the fewest computing units included in a service domain, and the second operator is the operator with the fewest computing units required in the service that needs to be deployed.

[0018] In combination with the first aspect, in certain implementations of the first aspect, determining the first number of computing units required for the target business domain among the k business domains based on the first usage data of each business domain includes: determining the user experience evaluation results of the k business domains based on the first usage data of each business domain; determining the corresponding computing unit demand plan based on the user experience evaluation results; and determining the first number of computing units required for the target business domain based on the computing unit demand plan.

[0019] In practice, a mapping table can be used to pre-set the correspondence between different evaluation results and different demand solutions. Based on this, the present application can first determine the user experience evaluation results of k business domains based on the first usage data of each business domain, then search the mapping table to obtain the demand solution corresponding to the evaluation result, and then determine the number of computing units required for the target business domain based on the demand solution.

[0020] In combination with the first aspect, in certain implementations of the first aspect, the method further includes: obtaining second usage data for each of the k business domains, wherein the second usage data is data of the user using the business domain within a second historical time period; and updating the number of computing units in the target business domain based on the second usage data.

[0021] This application can flexibly update the number of computing units in the target business domain according to the user's usage habits in different time periods, so that the business processing capacity of the target business domain can be guaranteed even if the user's usage habits change in different time periods.

[0022] In combination with the first aspect, in certain implementations of the first aspect, the first usage data and / or the second usage data include: one or more of: the user's operation data, the response time of the service operated by the user, the usage rate of the computing unit in each service domain, and the service usage score.

[0023] The service usage score can be a score generated by a computing system based on the service operation status, or a score given by users based on their own experience.

[0024] With reference to the first aspect, in certain implementations of the first aspect, the m service domains are located in a vehicle.

[0025] In a second aspect, a device for adjusting computing resources is provided, wherein the computing resources include a dedicated computing units and b shared computing units running in parallel, the a dedicated computing units being allocated to m business domains, wherein a, b, and m are all positive integers greater than or equal to 2, and the device includes an acquisition module and a processing module, wherein the acquisition module is configured to acquire first usage data for each of k business domains, wherein the first usage data is data on user usage of the business domain within a first historical time period, and the k business domains are one or more of the m business domains. The processing module is configured to: determine a first number of computing units required for a target business domain in the k business domains based on the first usage data for each business domain; determine a third number of shared computing units to be allocated to the target business domain from the b shared computing units based on the first number and the second number of dedicated computing units already allocated to the target business domain from the a dedicated computing units; and allocate the third number of shared computing units to the target business domain.

[0026] In combination with the second aspect, in certain implementations of the second aspect, the processing module is also used to: group the computing units in the target business domain according to the prior information of the target business domain, the prior information including information about the business already deployed in the target business domain; and redeploy the business in the grouped target business domain.

[0027] In combination with the second aspect, in certain implementations of the second aspect, the processing module is also used to: determine a set of grouping strategies for computing units in the target business domain based on preset conditions; determine a target grouping strategy based on prior information of the target business domain, the target grouping strategy being one of the grouping strategy set; and group the computing units in the target business domain according to the target grouping strategy.

[0028] In conjunction with the second aspect, in certain implementations of the second aspect, the preset condition includes at least one of the following: the number of computing units included in each group is 2 n , where n is a positive integer greater than or equal to 1; the number of groups is less than or equal to the number of services that need to be deployed; the number of computing units in the first group is less than or equal to the number of computing units required by the first operator, wherein the first group is the group with the most computing units included in a service domain, and the first operator is the operator with the most computing units required in the service that needs to be deployed; or, the number of computing units in the second group is greater than or equal to the number of computing units required by the second operator, wherein the second group is the group with the fewest computing units included in a service domain, and the second operator is the operator with the fewest computing units required in the service that needs to be deployed.

[0029] In combination with the second aspect, in certain implementations of the second aspect, the processing module is used to: determine the user experience evaluation results of the k business domains based on the first usage data of each business domain; determine the corresponding computing unit demand plan based on the user experience evaluation results; and determine the first number of computing units required for the target business domain based on the computing unit demand plan.

[0030] In combination with the second aspect, in certain implementations of the second aspect, the processing module is also used to: obtain second usage data for each of the k business domains, wherein the second usage data is data of the user using the business domain during a second historical time period; and update the number of computing units in the target business domain based on the second usage data.

[0031] In combination with the second aspect, in certain implementations of the second aspect, the first usage data and / or the second usage data include: one or more of: the user's operation data, the response time of the service operated by the user, the usage rate of the computing unit in each service domain, and the service usage score.

[0032] In combination with the second aspect, in certain implementations of the second aspect, the m service domains are located in a vehicle.

[0033] In combination with the second aspect, in certain implementations of the second aspect, the device further includes the above-mentioned a dedicated computing units and b shared computing units.

[0034] In a third aspect, a device for adjusting computing resources is provided, comprising an input / output interface, a processor, and a memory, wherein the processor is used to control the input / output interface to send and receive signals or information, the memory is used to store a computer program, and the processor is used to call and run the computer program from the memory, so that the device for adjusting computing resources executes a method for adjusting computing resources as in the first aspect or any possible implementation of the first aspect.

[0035] In a fourth aspect, a computer-readable medium is provided, which stores a program code. When the program code is run on a computer, the computer executes the method for adjusting computing resources as in the first aspect or any possible implementation of the first aspect.

[0036] In a fifth aspect, a computer program product is provided, comprising instructions. When the instructions are run on a computer, the method for adjusting computing resources in the first aspect or any possible implementation of the first aspect is executed.

[0037] In a sixth aspect, a computing device is provided, comprising: at least one processor and a memory, wherein the at least one processor is coupled to the memory and is configured to read and execute instructions in the memory to perform a method for adjusting computing resources as in the first aspect or any possible implementation of the first aspect.

[0038] In a seventh aspect, a chip is provided, comprising a circuit for executing the method for adjusting computing resources as in the first aspect or any possible implementation of the first aspect.

[0039] In an eighth aspect, an intelligent driving device is provided, comprising a device for adjusting computing resources as in the second aspect or any possible implementation of the second aspect, or comprising a device for adjusting computing resources as in the third aspect. BRIEF DESCRIPTION OF THE DRAWINGS

[0040] FIG1 is a functional schematic diagram of a vehicle 100 provided in an embodiment of the present application.

[0041] FIG2 is a schematic diagram of the division of vehicle computing resources.

[0042] FIG3 is a schematic diagram of a method for adjusting computing resources provided in an embodiment of the present application.

[0043] FIG4 is a schematic diagram of the division of computing resources provided in an embodiment of the present application.

[0044] FIG5 is a schematic diagram of a method for adjusting computing resources of a vehicle provided in an embodiment of the present application.

[0045] FIG6 is a schematic diagram of initializing vehicle computing resources provided in an embodiment of the present application.

[0046] FIG7 is a schematic diagram of the adjusted computing resources provided in an embodiment of the present application.

[0047] FIG8 is a schematic diagram of the structure of an apparatus for adjusting computing resources provided in an embodiment of the present application.

[0048] FIG9 is a schematic block diagram of the hardware structure of the apparatus for adjusting computing resources provided in an embodiment of the present application. DETAILED DESCRIPTION

[0049] The technical solutions in the embodiments of the present application will be described below with reference to the accompanying drawings.

[0050] The solution of this application can be applied to intelligent driving equipment. Among them, intelligent driving equipment can include road vehicles, water vehicles, air vehicles, industrial equipment, agricultural equipment, or entertainment equipment, etc. For example, the intelligent driving device can be a vehicle, which is a vehicle in a broad sense, and can be a vehicle (such as a commercial vehicle, a passenger car, a motorcycle, a flying car, a train, etc.), an industrial vehicle (such as a forklift, a trailer, a tractor, etc.), an engineering vehicle (such as an excavator, a bulldozer, a crane, etc.), agricultural equipment (such as a mower, a harvester, etc.), amusement equipment, a toy vehicle, etc. This application does not specifically limit the type of vehicle. For another example, the intelligent driving device can be a vehicle such as an airplane or a ship.

[0051] The present application solution can also be applied to servers, smart terminals, smart homes, vehicle-mounted embedded devices, and other devices. For example, it can be applied to smartphones, desktop computers, laptops, tablet computers, wearable devices, robots, microcontroller units (MCUs), and electronic control units (ECUs).

[0052] 1 , the application scenario of the present application is exemplarily introduced by taking a vehicle as an example.

[0053] FIG1 is a functional schematic diagram of a vehicle 100 provided in an embodiment of the present application. It should be understood that FIG1 and the related description are merely examples, and actual vehicles may not be limited thereto. As shown in FIG1 , vehicle 100 may include a perception system 120 and a central computing platform 150.

[0054] The perception system 120 may include one or more sensors that sense information about the environment surrounding the vehicle 100. For example, the perception system 120 may include a positioning system, which may be a global positioning system (GPS), a Beidou system, or other positioning systems, or an inertial measurement unit (IMU). For another example, the perception system 120 may also include one or more of a laser radar, a millimeter-wave radar, an ultrasonic radar, and a camera.

[0055] The central computing platform 150 is used to analyze and process the data sensed by the perception system 120, and to control some or all functions of the vehicle 100. The central computing platform 150 includes computing resources, which may include multiple computing units running in parallel. In order to better cope with the resource collaboration between multiple business domains in the vehicle 100, the current mainstream technical solution is mainly based on resource virtualization, which divides the computing resources of the central computing platform 150 for use in different business domains through virtualization. Taking the business domains of the vehicle 100 including the intelligent driving domain, the vehicle control domain, and the cockpit domain as an example, the computing resources of the central computing platform 150 can be divided for use in these business domains after virtualization, as shown in Figure 2. This application does not limit the division of business domains. The vehicle 100 can also be divided into business domains according to the power domain, body domain, chassis domain, and entertainment information domain. For the convenience of description, this application mainly introduces the intelligent driving domain, vehicle control domain, and cockpit domain as examples.

[0056] In the traditional solution, the computing resources divided for each business domain based on the above method are dedicated to each business domain during the operation of the vehicle 100. However, different users or the same user at different times have different demands and usage methods for the computing resources of each business domain. If based on the pre-divided computing resources, some business domains may have insufficient computing resources when the user uses the vehicle, resulting in reduced business processing capabilities. Moreover, due to the pursuit of determinism in the autonomous driving solution, some business domains may seize the computing resources of other business domains when computing resources are insufficient, resulting in computing resources being seized back and forth between multiple business domains. For example, when the cockpit domain is running a high-computing-power task, it may seize the computing resources of the intelligent driving domain, which will cause the computing power of the intelligent driving domain to be tight, directly affecting the enabled autonomous driving function, resulting in the need for the driver to take over.

[0057] In addition, for vehicle 100, the intelligent driving domain and cockpit domain of autonomous driving must ensure stable operation. If the computing resources of multiple business domains are dynamically adjusted as a whole during operation of vehicle 100 (that is, all computing units are directly reallocated according to the needs of each business domain during operation of vehicle 100), this will lead to uncertainty in the overall system and affect the stability and safety of the entire vehicle.

[0058] Based on this, this application introduces a shared computing unit, and uses the shared computing unit to flexibly adjust computing resources in combination with user usage habits, which can ensure the business processing capabilities of the business domain and the stability of business operations.

[0059] Figure 3 is a schematic diagram of a method for adjusting computing resources provided in an embodiment of the present application. The computing resources may be artificial intelligence (AI) computing resources, central processing unit (CPU) computing resources, graphics processing unit (GPU) computing resources, and the like. The computing resources include a dedicated computing units and b shared computing units running in parallel, as shown in Figure 4. In other words, the computing resources are divided into a dedicated computing units and b shared computing units running in parallel. Among them, a dedicated computing units are allocated to m business domains, providing computing power for m business domains, and a, b, and m are all positive integers greater than or equal to 2.

[0060] Among them, a dedicated computing unit refers to a computing unit dedicated to a certain business domain. After a dedicated computing units are allocated to m business domains, each of the a dedicated computing units is dedicated to the business domain to which it is allocated and is no longer used in other business domains. A shared computing unit refers to a computing unit that can be shared by multiple business domains and is not dedicated to a certain business domain. Taking shared computing unit A among b shared computing units as an example, at the first moment, shared computing unit A can be allocated to the first business domain; at the second moment, shared computing unit A can be allocated to the second business domain.

[0061] The a dedicated computing units can be allocated to m business domains according to a preset ratio, which can be determined by professional technicians based on experience. Taking the automotive field as an example, the m business domains can be located within the vehicle, such as the intelligent driving domain, the vehicle control domain, and the cockpit domain.

[0062] As shown in FIG3 , the method 300 includes steps S310 to S340 , which are described in detail below.

[0063] S310: Obtain first usage data of each of k business domains, wherein the k business domains are one or more of the m business domains, and the first usage data are data of user usage of the business domains in a first historical time period.

[0064] In one implementation, first usage data of each of the m business domains may be obtained and used in the solution of the present application to implement elastic adjustment of computing resources of each of the m business domains.

[0065] In another implementation, only the first usage data of each business domain in some business domains may be obtained and used in the solution of the present application to implement elastic adjustment of computing resources of each business domain in some business domains.

[0066] This portion of business domains can be determined by the system. Specifically, the system can identify one or more business domains from the m business domains whose computing resources are significantly impacted by user usage habits. For example, in a vehicle, the computing resources corresponding to the intelligent driving domain and cockpit domain are significantly impacted by user usage habits, while the computing resources of the vehicle control domain are less impacted. Therefore, in practice, the vehicle system can only obtain user usage data for the intelligent driving domain and cockpit domain and adjust the resources of these two business domains based on this data, without adjusting the computing resources of the vehicle control domain. Alternatively, this portion of business domains can be user-selected. Specifically, the user can select some of the m business domains for flexible adjustment based on their own usage. For example, if a user frequently uses the cockpit domain or has high service processing requirements for the cockpit domain, they can select the cockpit domain for flexible adjustment. Alternatively, this portion of business domains can be pre-determined by relevant professional and technical personnel based on their experience.

[0067] The first usage data may include one or more of the following: user operation data, response time of user-operated services, utilization rate of computing units in each service domain, and service usage scores. User operation data may, for example, be the number of service initiations based on user operations; response time of user-operated services may be understood as the response time of services initiated based on user operations; utilization rate of computing units in each service domain refers to the proportion of computing units used by each service domain relative to the total number of computing units included; and service usage scores may, for example, be scores generated by the computing system based on service operation status or scores assigned by users based on their own user experience.

[0068] Based on step S310, the number of computing units required for each of the k business domains (or the proportion, which refers to the ratio of the number of computing units required for each business domain to the total number of computing units, the total number of computing units being the sum of a dedicated computing units and b shared computing units) can be determined based on the first usage data of each of the k business domains, and then the number of computing units (or the proportion) of each business domain can be adjusted using b shared computing units based on the number (or the proportion) of computing units required for each business domain and the number of dedicated computing units already allocated to each business domain. The above-mentioned number (or proportion) of computing units required can be understood as the number (or proportion) of computing units that can meet the actual business scenario.

[0069] For ease of description, the following only takes the target business domain among the k business domains as an example to exemplify the adjustment of the number of computing units in the target business domain (see steps S320 to S340). For other business domains, please refer to the introduction to the target business domain.

[0070] S320 : Determine a first number of computing units required by a target business domain among the k business domains according to first usage data of each business domain.

[0071] Specifically, the user experience evaluation results of k business domains can be determined based on the first usage data of each business domain; then the corresponding computing unit demand plan can be determined based on the user experience evaluation results; and then the first number of computing units required for the target business domain can be determined based on the computing unit demand plan.

[0072] It should be understood that the user experience evaluation result is an evaluation result obtained by integrating the first usage data of each of the k business domains, and the evaluation result may be, for example, an evaluation score. The demand solution determined based on the user experience evaluation result may include the number of computing units required for each of the k business domains. Based on this demand solution, the number of computing units required for the target business domain among the k business domains (i.e., the first number) may be determined.

[0073] In practice, a mapping table can be used to pre-set the correspondence between different evaluation results and different demand solutions. Based on this, the present application can first determine the user experience evaluation results of k business domains based on the first usage data of each business domain, then search the mapping table to obtain the demand solution corresponding to the evaluation result, and then determine the number of computing units required for the target business domain based on the demand solution.

[0074] Optionally, in addition to determining the first number of computing units required for the target business domain based on user usage data, the first number of computing units required for the target business domain may also be determined based on the service state of the target business domain. This service state may be, for example, video playback state, multi-application deployment state, smart driving on / off state, etc. For ease of description, the following mainly uses user usage data as an example.

[0075] S330 , determining a third number of shared computing units that need to be allocated to the target business domain from among the b shared computing units based on the first number and the second number of dedicated computing units that have been allocated to the target business domain from among the a dedicated computing units.

[0076] S340: Allocate a third number of shared computing units to the target business domain.

[0077] That is, based on the difference between the number of computing units required by the target business domain and the number of dedicated computing units already allocated to the target business domain, the number of shared computing units that need to be allocated to the target business domain is determined, and then the shared computing units are allocated to the target business domain based on the determined number.

[0078] By introducing shared computing units, this application can flexibly adjust the computing resources of the target business domain using the shared computing units in accordance with the user's usage habits during the user's use of computing resources. For example, when the dedicated computing units in the target business domain cannot meet the user's needs, the shared computing units can be allocated to the target business domain based on the user's needs. This can, on the one hand, ensure the business processing capacity of the target business domain; on the other hand, it can avoid preempting the dedicated computing units of other business domains when the computing needs of the target business domain are large, thereby ensuring the stability of business operations in each business domain.

[0079] After adjusting the number of computing units in the target business domain, the services of the target business domain need to be redeployed to ensure the stability of the business operation and the business processing capability of the target business domain.

[0080] It's important to note that a business can also be understood as a computing task. A computing task consists of one or more operators (OPs). An operator requires one or more computing units to complete the associated computing task. An operator can be understood as a computational function, performing one step of the computational task. Accordingly, the basic unit of computing resource usage is the group. Each group can include one or more computing units, and each group is used to execute the computing task of an operator.

[0081] Based on this, after adjusting the number of computing units in the target business domain, this application first needs to group the computing units of the target business domain, and then redeploy the business in the target business domain after grouping to ensure the continuity and stability of the operation of each business involved in the target business domain.

[0082] In one implementation, computing units in the target business domain can be grouped based on prior information about the target business domain. This prior information includes information about services already deployed in the target business domain. The information about deployed services refers to the operators included in each previously deployed service and the number of computing units required by each operator.

[0083] Optionally, the present application can first determine a set of grouping strategies for computing units in the target business domain based on preset conditions, then filter out a target grouping strategy from the grouping strategy set based on prior information of the target business domain, and group the computing units in the target business domain according to the target grouping strategy. Compared with grouping directly based on prior information, the target grouping strategy can be determined more quickly and effectively, thereby reducing ineffective running time.

[0084] Optionally, the present application may first determine a set of grouping strategies for computing units in the target business domain based on preset conditions, then search within the grouping strategy set to determine the target grouping strategy, and group computing units in the target business domain based on the target grouping strategy. Optionally, the search may be performed as follows: first simulate grouping according to each grouping strategy in the grouping strategy set, then simulate the deployment and operation of the business for each simulated grouping, and then determine the target grouping strategy based on the business processing capability and business stability during the simulated operation.

[0085] The above-mentioned preset conditions may include at least one of the following: the number of computing units included in each group is 2 n , where n is a positive integer greater than or equal to 1; the number of groups is less than or equal to the number of services that need to be deployed; the number of computing units in the first group is less than or equal to the number of computing units required by the first operator, wherein the first group is the group with the most computing units included in a service domain, and the first operator is the operator with the most computing units required in the service that needs to be deployed; or the number of computing units in the second group is greater than or equal to the number of computing units required by the second operator, wherein the second group is the group with the fewest computing units included in a service domain, and the second operator is the operator with the fewest computing units required in the service that needs to be deployed; and so on. It should be understood that the preset conditions can also be determined based on actual circumstances and are not limited to the preset conditions listed above.

[0086] Because the same user's usage habits may vary over different time periods, method 300 may further include: obtaining second usage data for each of the k business domains, where the second usage data is data on the user's usage of the business domain during a second historical time period; and updating the number of computing units in the target business domain based on the second usage data. This allows the number of computing units in the target business domain to be flexibly updated based on the user's usage habits over different time periods, ensuring that the service processing capacity of the target business domain remains unchanged even if the user's usage habits change over different time periods.

[0087] Among them, the second usage data may also include: one or more of: user operation data, response time of user-operated services, utilization rate of computing units in each business domain, service usage score, etc. For details, please refer to the above introduction to the first usage data.

[0088] In practice, the number of computing units in the target business domain can be continuously updated according to the above method based on a preset frequency. The preset frequency can be, for example, 1 hour, 12 hours, 1 day, 1 week, or 1 month, etc.; the update can also be performed when the system detects a change or significant change in the user's usage habits; the user can also actively trigger the update based on their own needs, which is not limited in this application. In practice, when the number of computing units in the target business domain is continuously updated according to the preset frequency, the update can be stopped when the number of computing units in the target business domain tends to be stable.

[0089] The above historical time period may refer to a period of time before the current moment, for example, within a few hours or a few days before the current moment.

[0090] 5 to 7 , the present application solution will be exemplarily introduced by taking the method of adjusting computing resources of a vehicle as an example.

[0091] Figure 5 is a schematic diagram of a method for adjusting computing resources of a vehicle according to an embodiment of the present application. As shown in Figure 5 , the method 500 includes steps S510 to S550 , which are described below.

[0092] S510, initializing vehicle computing resources.

[0093] In the initial state, the vehicle computing resources can be configured to include multiple dedicated computing units and multiple shared computing units running in parallel, and the multiple dedicated computing units can be allocated to multiple actual business domains, and the business domains shared by the shared computing units can be determined.

[0094] For example, as shown in Figure 6, in the initial state, the vehicle's computing resources are configured to include 11 dedicated computing units {0, 1, 2, 3, 4, 5, 6, 7, 11, 12, 13} and three shared computing units {8, 9, 10}. Of the 11 dedicated computing units {0, 1, 2, 3, 4, 5, 6, 7, 11, 12, 13}, two {0, 1} are allocated to the vehicle control domain, providing computing power for that domain; six {2, 3, 4, 5, 6, 7} are allocated to the intelligent driving domain, providing computing power for that domain; and three {11, 12, 13} are allocated to the cockpit domain, providing computing power for that domain. Furthermore, the three shared computing units {8, 9, 10} are configured to be shared between the intelligent driving domain and the cockpit domain. This means that the shared computing units are primarily used to flexibly adjust computing resources between the cockpit and intelligent driving domains. It should be understood that the number of computing units and service domains mentioned above are merely examples and do not constitute a limitation on the present invention. For ease of description, steps S520 to S560 will be introduced based on this example.

[0095] Optionally, the above initialization of computing resources can be completed when the vehicle leaves the factory, or can be initialized by professionals according to user needs after the user purchases the vehicle, without limitation.

[0096] S520: Obtain usage data of the user in the cockpit domain and the intelligent driving domain.

[0097] During vehicle operation, the user's usage data in the cockpit domain and intelligent driving domain over a period of history can be obtained.

[0098] For example, for the cockpit domain, the number of times the user clicks on the cockpit application within a historical period, the response time of the application clicked by the user within a historical period, and the usage rate of the cockpit domain computing unit within a historical period can be obtained.

[0099] For example, for the intelligent driving domain, the number of times the user enabled the intelligent driving function within a historical period, the number of times the user took over within a historical period, the score of the intelligent driving function during operation, and the usage rate of the intelligent driving domain computing unit within a historical period can be obtained.

[0100] S530: Adjust the number of computing units in the cockpit domain and the intelligent driving domain according to the user usage data.

[0101] The user experience evaluation score can be determined based on the user usage data in the cockpit domain and the intelligent driving domain. Then, based on a pre-set mapping table, the computing unit demand plan corresponding to the evaluation score is determined. The demand plan includes the number of computing units required by the cockpit domain and the intelligent driving domain respectively. Then, based on the number of dedicated computing units and the number of computing units required in the cockpit domain and the intelligent driving domain respectively, the number of computing units in the cockpit domain and the intelligent driving domain is adjusted using shared computing units.

[0102] Taking the usage data listed in step S520 as an example, the user experience evaluation score can be determined as follows: first, the number of times the user clicks on the in-cockpit application per unit time is obtained based on the number of times the user clicks on the in-cockpit application within a historical period; the response time of the application per unit time is obtained based on the response time of the application clicked by the user within a historical period; the average usage rate of the in-cockpit domain computing unit is obtained based on the usage rate of the in-cockpit domain computing unit within a historical period; the number of times the user enables the intelligent driving function within a unit time is obtained based on the number of times the user enables the intelligent driving function within a historical period; the number of times the user takes over the function within a unit time is obtained based on the number of times the user takes over the function within a historical period; the average rating (or effective rating) of the intelligent driving function during operation is obtained based on the rating of the intelligent driving function during operation; and the average usage rate of the intelligent driving domain computing unit is obtained based on the usage rate of the intelligent driving domain computing unit within a historical period; then, the above-obtained data are respectively standardized or normalized; and then, the standardized or normalized data are weighted and summed to obtain the evaluation score. The above-mentioned unit time can be 1 hour, 1 day, 1 week, 1 month, etc.

[0103] In one implementation, the pre-set mapping table may include correspondences between different score ranges and different demand solutions. For example, when the evaluation score is a first value, it is determined that the first value is within a first score range, and the first score range corresponds to a first demand solution; when the evaluation score is a second value, it is determined that the second value is within a second score range, and the second score range corresponds to a second demand solution.

[0104] S540: Regroup the computing units of the cockpit domain and the intelligent driving domain.

[0105] Specifically, after adjusting the number of computing units in the cockpit domain and the intelligent driving domain, a set of grouping strategies for the computing units in the cockpit domain and the intelligent driving domain can be determined based on preset conditions. A target grouping strategy can then be determined from the set of grouping strategies, and the computing units in the cockpit domain and the intelligent driving domain can be grouped based on the target grouping strategy. The preset conditions and the method for determining the target grouping strategy from the set of grouping strategies can be found in the above description.

[0106] As an example, as shown in (a) of Figure 7, assume that the number of computing units in the adjusted intelligent driving domain is 6, such as computing units {2, 3, 4, 5, 6, 7}; the number of computing units in the cockpit domain is also 6, such as computing units {8, 9, 10, 11, 12, 13}. n When , the grouping strategy set of the intelligent driving domain can include two grouping strategies: in the first grouping strategy, the six computing units are divided into three groups, each group includes two computing units, for example, group 1 includes computing units {2, 3}, group 2 includes computing units {4, 5}, and group 3 includes computing units {6, 7}; in the second grouping strategy, the six computing units are divided into two groups, where group 1 includes two computing units, for example, computing units {2, 3}, and group 2 includes four computing units, for example, computing units {4, 5, 6, 7}. The cockpit domain grouping strategy set can also include two grouping strategies: in the first grouping strategy, the six computing units are divided into three groups, each group includes two computing units, for example, group 1 includes computing units {8, 9}, group 2 includes computing units {10, 11}, and group 3 includes computing units {12, 13}; in the second grouping strategy, the six computing units are divided into two groups, where group 1 includes two computing units, for example, computing units {8, 9}, and group 2 includes four computing units, for example, computing units {10, 11, 12, 13}.

[0107] As another example, as shown in (b) of Figure 7, assume that the number of computing units in the adjusted intelligent driving domain is 8, such as computing units {2, 3, 4, 5, 6, 7, 8, 9}; the number of computing units in the cockpit domain is 4, such as computing units {10, 11, 12, 13}. nWhen , the grouping strategy set of the intelligent driving domain can include four grouping strategies: in the first grouping strategy, the 8 computing units are divided into 4 groups, each group includes 2 computing units, for example, group 1 includes computing units {2, 3}, group 2 includes computing units {4, 5}, group 3 includes computing units {6, 7}, and group 4 includes computing units {8, 9}; in the second grouping strategy, the 8 computing units are divided into two groups, where group 1 includes 4 computing units, for example, computing units {2, 3, 4, 5}, and group 2 includes 4 The cockpit domain grouping strategy set may include two grouping strategies: in the first grouping strategy, four computing units are divided into two groups, each including two computing units, for example, group 1 includes computing units {10,11} and group 2 includes computing units {12,13}; in the second grouping strategy, four computing units are divided into one group, each including four computing units, for example, computing units {10,11,12,13}.

[0108] S550, service deployment. This involves redeploying services to the cockpit and intelligent driving domains after grouping to ensure operational stability and processing capabilities in both the cockpit and intelligent driving domains.

[0109] S560: Update the number of computing units in the cockpit domain and the intelligent driving domain.

[0110] Specifically, during vehicle operation, user usage data in the cockpit domain and intelligent driving domain can be continuously collected; and based on the collected usage data, the number of computing units in the cockpit domain and intelligent driving domain can be updated respectively; after the update, the computing units in the cockpit domain and intelligent driving domain can be grouped and deployed respectively.

[0111] Figure 8 is a schematic diagram of the structure of an apparatus for adjusting computing resources provided in an embodiment of the present application. The computing resources include a dedicated computing units and b shared computing units running in parallel, with the a dedicated computing units allocated to m business domains. The apparatus 800 includes an acquisition module 810 and a processing module 820. Optionally, the apparatus further includes the a dedicated computing units and b shared computing units described above.

[0112] The acquisition module 810 is used to acquire first usage data of each of the k business domains, wherein the first usage data is data of user usage of the business domain in a first historical time period, and the k business domains are one or more of the m business domains.

[0113] The processing module 820 is used to determine a first number of computing units required for a target business domain among the k business domains based on the first usage data of each business domain; determine a third number of shared computing units that need to be allocated to the target business domain among the b shared computing units based on the first number and the second number of dedicated computing units that have been allocated to the target business domain among the a dedicated computing units; and allocate the third number of shared computing units to the target business domain.

[0114] Optionally, the processing module 820 may also be configured to group computing units in the target business domain according to prior information of the target business domain, the prior information including information of services already deployed in the target business domain; and redeploy the services in the grouped target business domain.

[0115] Optionally, the processing module 820 can also be used to determine a set of grouping strategies for computing units in the target business domain based on preset conditions; determine a target grouping strategy based on prior information of the target business domain, where the target grouping strategy is one of the grouping strategy sets; and group the computing units in the target business domain according to the target grouping strategy.

[0116] Optionally, the preset conditions may include at least one of the following: the number of computing units included in each group is 2 n ; The number of groups is less than or equal to the number of services that need to be deployed; the number of computing units in the first group is less than or equal to the number of computing units required by the first operator, wherein the first group is the group with the most computing units included in a service domain, and the first operator is the operator with the most computing units required in the service that needs to be deployed; or, the number of computing units in the second group is greater than or equal to the number of computing units required by the second operator, wherein the second group is the group with the fewest computing units included in a service domain, and the second operator is the operator with the fewest computing units required in the service that needs to be deployed.

[0117] Optionally, the processing module 820 can be used to determine the user experience evaluation results of k business domains based on the first usage data of each business domain; determine the corresponding computing unit requirement plan based on the user experience evaluation results; and determine the first number of computing units required for the target business domain based on the computing unit requirement plan.

[0118] Optionally, the processing module 820 may also be configured to obtain second usage data of each of the k business domains, wherein the second usage data is data of user usage of the business domain in a second historical time period; and update the number of computing units in the target business domain according to the second usage data.

[0119] Optionally, the first usage data and / or the second usage data may include one or more of: user operation data, response time of user-operated services, usage rate of computing units in each service domain, and service usage score.

[0120] Optionally, the m service domains may be located in a vehicle. The device is an in-vehicle computing platform.

[0121] Figure 9 is a schematic block diagram of the hardware structure of an apparatus for adjusting computing resources provided in an embodiment of the present application. Optionally, the apparatus 900 can be a computer device. The apparatus 900 includes a memory 910, a processor 920, and a communication interface 930. The memory 910, processor 920, and communication interface 930 can be connected to each other via a bus.

[0122] The memory 910 may be a read-only memory (ROM), a static storage device, a dynamic storage device, or a random access memory (RAM). The memory 910 may store programs. When the program stored in the memory 910 is executed by the processor 920, the processor 920 is configured to perform the steps of the method 300 or 500 for adjusting computing resources according to the embodiment of the present application.

[0123] The processor 920 can be a general-purpose central processing unit (CPU), a microprocessor, an application-specific integrated circuit (ASIC), a graphics processing unit (GPU) or one or more integrated circuits to execute relevant programs to implement the method 300 or 500 of adjusting computing resources in the embodiment of the method of the present application.

[0124] The processor 920 may also be an integrated circuit chip with signal processing capabilities. In the implementation process, the method 300 or 500 of adjusting computing resources of the present application may be completed by hardware integrated logic circuits in the processor 920 or software instructions.

[0125] The communication interface 930 uses a transceiver device such as, but not limited to, a transceiver to implement communication between the apparatus 900 and other devices or a communication network.

[0126] An embodiment of the present application further provides a computer-readable storage medium, comprising instructions, which, when executed on a computer, enable the computer to execute the method 300 or 500 for adjusting computing resources.

[0127] The embodiment of the present application further provides a computer program product, comprising instructions. When the instructions are run on a computer, the above-mentioned method 300 or 500 for adjusting computing resources is executed.

[0128] An embodiment of the present application also provides a computing device, comprising: at least one processor and a memory, wherein the at least one processor is coupled to the memory and is configured to read and execute instructions in the memory to perform the above-mentioned method 300 or 500 for adjusting computing resources.

[0129] An embodiment of the present application also provides a chip, which includes a processor and a data interface. The processor reads instructions stored in the memory through the data interface to execute the above-mentioned method 300 or 500 for adjusting computing resources, or the chip executes the above-mentioned method 300 or 500 for adjusting computing resources through a hardware circuit.

[0130] An embodiment of the present application further provides an intelligent driving device, comprising the above-mentioned device 800 and / or device 900 for adjusting computing resources.

[0131] Those skilled in the art will appreciate that the units and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.

[0132] Those skilled in the art will clearly understand that, for the convenience and brevity of description, the specific working processes of the systems, devices and units described above can refer to the corresponding processes in the aforementioned method embodiments and will not be repeated here.

[0133] In the several embodiments provided in this application, it should be understood that the disclosed systems, devices and methods can be implemented in other ways. For example, the device embodiments described above are merely schematic. For example, the division of the units is merely a logical function division. In actual implementation, there may be other division methods, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or units, which can be electrical, mechanical or other forms.

[0134] The units described as separate components may or may not be physically separate, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed across multiple network units. Some or all of these units may be selected to achieve the purpose of this embodiment according to actual needs.

[0135] In addition, each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.

[0136] The above description is merely a specific embodiment of the present application, but the scope of protection of the present application is not limited thereto. Any changes or substitutions that can be easily conceived by a person skilled in the art within the technical scope disclosed in this application should be included in the scope of protection of this application. Therefore, the scope of protection of this application should be based on the scope of protection of the claims.

Claims

1. A method for adjusting computing resources, characterized in that: The computing resources include a dedicated computing units and b shared computing units running in parallel, the a dedicated computing units are allocated to m business domains, where a, b, and m are all positive integers greater than or equal to 2, and the method includes: Obtaining first usage data of each of the k business domains, wherein the first usage data is data of a user using the business domain in a first historical time period, and the k business domains are one or more of the m business domains; determining a first number of computing units required by a target business domain among the k business domains according to the first usage data of each business domain; Determining a third number of shared computing units that need to be allocated to the target business domain from among the b shared computing units based on the first number and a second number of dedicated computing units that have been allocated to the target business domain from among the a dedicated computing units; Allocate the third number of shared computing units to the target service domain.

2. The method according to claim 1, characterized in that After allocating the third number of shared computing units to the target service domain, the method further includes: Grouping computing units in the target business domain according to prior information of the target business domain, wherein the prior information includes information of services already deployed in the target business domain; The services are redeployed in the grouped target service domain.

3. The method according to claim 2, characterized in that The grouping of computing units in the target business domain according to the prior information of the target business domain includes: Determine a grouping strategy set of computing units in the target business domain according to preset conditions; determining a target grouping strategy according to the prior information of the target service domain, wherein the target grouping strategy is one of the grouping strategy set; The computing units in the target service domain are grouped according to the target grouping strategy.

4. The method according to claim 3, characterized in that The preset conditions include at least one of the following: The number of computing units included in each group is 2 n , where n is a positive integer greater than or equal to 1; The number of groups is less than or equal to the number of services that need to be deployed; The number of computing units in the first group is less than or equal to the number of computing units required by the first operator, wherein the first group is the group including the most computing units in a service domain, and the first operator is the operator requiring the most computing units in the service to be deployed; or The number of computing units in the second group is greater than or equal to the number of computing units required by the second operator, wherein the second group is the group with the least computing units included in a business domain, and the second operator is the operator with the least computing units required in the business that needs to be deployed.

5. The method according to any one of claims 1 to 4, characterized in that The determining, according to the first usage data of each business domain, the first number of computing units required by the target business domain among the k business domains comprises: Determine user experience evaluation results of the k business domains according to the first usage data of each business domain; Determine a corresponding computing unit requirement solution based on the user experience evaluation result; A first number of computing units required by the target business domain is determined according to the computing unit requirement plan.

6. The method according to any one of claims 1 to 5, characterized in that The method further comprises: Acquire second usage data of each of the k business domains, wherein the second usage data is data of the user using the business domain in a second historical time period; The number of computing units in the target service domain is updated according to the second usage data.

7. The method according to claim 6, characterized in that The first usage data and / or the second usage data include: One or more of the user's operation data, the response time of the service operated by the user, the usage rate of the computing unit in each service domain, and the service usage score.

8. The method according to any one of claims 1 to 7, characterized in that The m service domains are located in the vehicle.

9. A device for adjusting computing resources, characterized in that: The computing resources include a dedicated computing units and b shared computing units running in parallel, the a dedicated computing units are allocated to m business domains, wherein a, b and m are all positive integers greater than or equal to 2, and the device includes an acquisition module and a processing module, wherein, The acquisition module is configured to acquire first usage data of each of the k business domains, wherein the first usage data is data of a user using the business domain in a first historical time period, and the k business domains are one or more of the m business domains; The processing module is used to: determine a first number of computing units required for a target business domain among the k business domains based on the first usage data of each business domain; determine a third number of shared computing units that need to be allocated to the target business domain among the b shared computing units based on the first number and the second number of dedicated computing units that have been allocated to the target business domain among the a dedicated computing units; and allocate the third number of shared computing units to the target business domain.

10. The device according to claim 9, characterized in that The processing module is further configured to: Grouping computing units in the target business domain according to prior information of the target business domain, wherein the prior information includes information of services already deployed in the target business domain; The services are redeployed in the grouped target service domain.

11. The device according to claim 10, characterized in that The processing module is further configured to: Determine a grouping strategy set of computing units in the target business domain according to preset conditions; determining a target grouping strategy according to the prior information of the target service domain, wherein the target grouping strategy is one of the grouping strategy set; The computing units in the target service domain are grouped according to the target grouping strategy.

12. The device according to claim 11, characterized in that The preset conditions include at least one of the following: The number of computing units included in each group is 2n, where n is a positive integer greater than or equal to 1; The number of groups is less than or equal to the number of services that need to be deployed; The number of computing units in the first group is less than or equal to the number of computing units required by the first operator, wherein the first group is the group including the most computing units in a service domain, and the first operator is the operator requiring the most computing units in the service to be deployed; or The number of computing units in the second group is greater than or equal to the number of computing units required by the second operator, wherein the second group is the group with the least computing units included in a business domain, and the second operator is the operator with the least computing units required in the business that needs to be deployed.

13. The device according to any one of claims 9 to 12, characterized in that The processing module is used for: Determine user experience evaluation results of the k business domains according to the first usage data of each business domain; Determine a corresponding computing unit requirement solution based on the user experience evaluation result; A first number of computing units required by the target business domain is determined according to the computing unit requirement plan.

14. The device according to any one of claims 9 to 13, characterized in that The processing module is further configured to: Obtain second usage data of each of the k business domains, wherein the second usage data is data of the user using the business domain in a second historical time period; and update the number of computing units in the target business domain according to the second usage data.

15. The device according to claim 14, characterized in that The first usage data and / or the second usage data include: One or more of the user's operation data, the response time of the service operated by the user, the usage rate of the computing unit in each service domain, and the service usage score.

16. The device according to any one of claims 9 to 15, characterized in that The m service domains are located in the vehicle.

17. The device according to any one of claims 9 to 15, characterized in that The device further includes the a dedicated computing units and the b shared computing units.

18. A device for adjusting computing resources, characterized in that: It includes an input and output interface, a processor and a memory, the processor is used to control the input and output interface to send and receive signals or information, the memory is used to store a computer program, and the processor is used to call and run the computer program from the memory, so that the device for adjusting computing resources performs the method for adjusting computing resources as described in any one of claims 1 to 8.

19. An intelligent driving device, characterized in that: The device comprises the apparatus for adjusting computing resources as claimed in any one of claims 9 to 18.