Vehicle service computing power scheduling method based on sliding time window and related device
By adopting a sliding time window-based vehicle service computing power scheduling method on the server side, and according to the priority of service requests and the model-level mapping relationship, appropriate model execution vehicle services are scheduled, which solves the problem of how to improve model prediction capabilities and reasonably allocate computing resources when the server side has fixed computing power, and achieves efficient service response and controllable time-consuming.
Patent Information
- Application Number
- CN202411826460.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-12
- Publication Date
- 2025-04-11
AI Technical Summary
With the fixed computing power of the server, how to improve the model prediction capability and ensure that computing power resources are allocated reasonably without affecting the service effect, especially when computing power is tight during peak business hours.
The vehicle service computing power scheduling method based on the sliding time window is adopted. By determining the priority of the service request, and mapping the relationship between priority and model level, the model level that meets the time-consuming conditions is found, and the corresponding model is dispatched to execute vehicle services.
With fixed server resources, the best model prediction effect is achieved during the low peak and peak periods of business, and the server computing power can be squeezed as much as possible during peak periods, priority is given to ensuring service responses for high-value traffic, and ensuring that the service time is within a controllable range, reasonably allocating computing power resources, and improving service efficiency and vehicle service experience.
Smart Images

Figure CN119806810A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of computer technology, specifically to technical fields such as autonomous driving and cloud computing, and in particular to a vehicle service computing power scheduling method based on a sliding time window and related devices. Background Art
[0002] At present, autonomous driving vehicles generally require an always-on background server to receive and process various requests from multiple vehicles. Among them, requests involving large cloud models place the greatest demand on the server's computing power (mainly CPU and GPU resources).
[0003] As cloud models are continuously upgraded, server computing resources are becoming increasingly scarce during peak business periods, which in turn limits subsequent iterations and optimizations of the model. How to maximize the model's prediction capabilities while keeping server computing power fixed, thereby ensuring that computing resources are reasonably allocated without affecting service performance, is a technical problem that needs to be solved urgently. Summary of the invention
[0004] The present application provides a vehicle service computing power scheduling method and related devices based on a sliding time window to solve the problem of how to improve the model prediction capability as much as possible when the computing power on the server side is fixed, thereby ensuring the reasonable allocation of computing power resources without affecting the service effect.
[0005] The technical solution is as follows:
[0006] In a first aspect, a vehicle service computing power scheduling method based on a sliding time window is provided, comprising:
[0007] Determine a plurality of service requests currently received and related to the vehicle service, wherein each service request carries a request parameter representing a request type and content;
[0008] Determining the priority of each service request based on the request parameters carried by each of the multiple service requests;
[0009] Based on the priority of each service request, from the mapping relationship between priority and model level, the model level that meets the time consumption condition is preferentially searched for the service request with a high level; wherein the mapping relationship between priority and model level is optimized based on the latest time consumption result of the vehicle service counted in the sliding time window;
[0010] The model corresponding to the model level found for each service request is called, and based on the request parameters carried by each service request, the corresponding model is used to execute the corresponding vehicle service.
[0011] In a possible implementation, determining the priority of each service request based on the request parameters carried by each of the multiple service requests specifically includes:
[0012] Inputting the request parameters carried by each of the multiple service requests into a set priority prediction model, respectively, and outputting a priority predicted for each service request;
[0013] The priority prediction model is trained based on historical request parameters of multiple service requests.
[0014] In a possible implementation, the mapping relationship between the priority and the model level is determined in the following manner:
[0015] Identify all priorities defined for the service request and all model levels currently configured on the server;
[0016] For each priority, a one-to-one correspondence between the priority and all model levels is established; wherein each one-to-one correspondence is configured with a time consumption quantile, and the time consumption quantile configured for the one-to-one correspondence between the priority and the highest level model is optimal during initialization;
[0017] After executing vehicle services for a period of time, a sliding time window is determined from the historical time period, and the time consumption quantiles of all service requests within the sliding time window are counted;
[0018] Based on the priority of each service request in all service requests and the model level of the request, the latest time consumption quantile is used to update the time consumption quantile in the one-to-one correspondence between the priority and the model level that matches the mapping relationship between the priority and the model level.
[0019] In a possible implementation, the mapping relationship between the priority and the model level is a plurality of histograms, each of which corresponds to a one-to-one correspondence between a priority and a model level, wherein one coordinate axis of the histogram represents quantiles, and another coordinate axis represents time consumption;
[0020] Based on the priority of each service request, the model level that meets the time-consuming conditions is found for each service request from the mapping relationship between priority and model level, including:
[0021] Based on the priority of each service request, searching for a histogram corresponding to the priority from the multiple histograms;
[0022] Based on the found histogram, select the model level whose time consumption quantile is not less than the set threshold;
[0023] The highest model level is selected from the filtered model levels as the model level that meets the time consumption condition.
[0024] In a possible implementation, the method further includes:
[0025] The priority and model level mapping relationship of the latest vehicle service time consumption results after the sliding time window statistics are updated to the maintenance user in real time as an online service report, so that the maintenance user can view the time consumption quantiles and adjust the parameters in time;
[0026] Among them, the content of the parameter adjustment includes at least: the window size of the sliding time window and the number of service requests allowed to access.
[0027] In a second aspect, a vehicle service computing power scheduling device based on a sliding time window is provided, comprising:
[0028] A first determination module is used to determine a plurality of service requests currently received and related to vehicle services, wherein each service request carries a request parameter representing a request type and content;
[0029] A second determination module, configured to determine a priority of each service request based on request parameters respectively carried by the multiple service requests;
[0030] A search module is used to search for a model level that meets the time-consuming condition for each service request from a mapping relationship between the priority and the model level based on the priority of each service request; wherein the mapping relationship between the priority and the model level is based on the latest sliding time window statistics;
[0031] The calling module is used to call the model corresponding to the model level found for each service request, and based on the request parameters carried by each service request, use the corresponding model to execute the corresponding vehicle service.
[0032] In a third aspect, a computer-readable storage medium is provided, wherein at least one instruction is stored in the storage medium, and the at least one instruction is loaded and executed by a processor to implement the method of the above-mentioned aspect and any possible implementation manner.
[0033] In a fourth aspect, an electronic device is provided, including:
[0034] at least one processor; and
[0035] a memory communicatively connected to the at least one processor; wherein,
[0036] The memory stores instructions that can be executed by the at least one processor, and the instructions are executed by the at least one processor to enable the at least one processor to perform the method of any possible implementation manner and the aspects described above.
[0037] According to a fifth aspect, a computer program product is provided, comprising a computer program, which, when executed by a processor, implements the above-mentioned aspects and any possible implementation method.
[0038] In a sixth aspect, a vehicle service computing power scheduling system based on a sliding time window is provided, comprising: multiple vehicles, and the electronic device as described above.
[0039] The beneficial effects of the technical solution provided by this application include at least:
[0040] It can be seen from the above technical solution that the embodiment of the present application can determine the multiple service requests currently received related to vehicle services, and determine the priority of each service request based on the request parameters carried by each of the multiple service requests; based on the priority of each service request, from the mapping relationship between priority and model level, in order from high to low priority, search for the model level that meets the time-consuming condition for each service request; then, call the model corresponding to the model level found for each service request, and based on the request parameters carried by each service request, use the corresponding model to execute the corresponding vehicle service. Thus, when the server resources are fixed, the best model prediction effect can be achieved during the off-peak and flat periods of the business, and the computing power of the server can be squeezed as much as possible when the computing power is tight during the peak period of the business. On the one hand, the service response of high-value traffic is prioritized, and on the other hand, the time consumption of the service is guaranteed to be within a controllable range. Furthermore, the reasonable allocation of computing resources is guaranteed, service efficiency is improved, and the vehicle service experience is enhanced.
[0041] It should be understood that the content described in this section is not intended to identify the key or important features of the embodiments of the present application, nor is it intended to limit the scope of the present application. Other features of the present application will become easily understood through the following description. BRIEF DESCRIPTION OF THE DRAWINGS
[0042] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the drawings required for use in the description of the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative work.
[0043] Figure 1 It is a schematic diagram of the steps of the vehicle service computing power scheduling method based on the sliding time window provided in an embodiment of the present application.
[0044] Figure 2a The embodiment of the present application provides a histogram of the time consumption quantiles of the request level X calling the model level Y.
[0045] Figure 2b It is a schematic diagram of time-consuming data of the p90 quantile corresponding to the priority and model level provided in an embodiment of the present application.
[0046] Figure 3It is a schematic diagram of the vehicle service computing power scheduling process based on the sliding time window provided in an embodiment of the present application.
[0047] Figure 4 It is a structural block diagram of a vehicle service computing power scheduling device based on a sliding time window provided in an embodiment of the present application.
[0048] Figure 5 It is a block diagram of an electronic device provided in an embodiment of the present application. DETAILED DESCRIPTION
[0049] The following is a description of exemplary embodiments of the present application in conjunction with the accompanying drawings, including various details of the embodiments of the present application to facilitate understanding, which should be considered as merely exemplary. Therefore, it should be recognized by those of ordinary skill in the art that various changes and modifications can be made to the embodiments described herein without departing from the scope and spirit of the present application. Similarly, for the sake of clarity and conciseness, the description of well-known functions and structures is omitted in the following description.
[0050] Obviously, the described embodiments are only part of the embodiments of the present application, but not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in the field without creative work are within the scope of protection of the present application.
[0051] It should be noted that the terminal devices involved in the embodiments of the present application may include but are not limited to mobile phones, personal digital assistants (PDAs), wireless handheld devices, tablet computers and other smart devices; display devices may include but are not limited to personal computers, televisions and other devices with display functions.
[0052] In addition, the term "and / or" in this article is only a description of the association relationship between the associated objects, indicating that there can be three relationships. For example, A and / or B can represent: A exists alone, A and B exist at the same time, and B exists alone. In addition, the character " / " in this article generally indicates that the associated objects before and after are in an "or" relationship.
[0053] As mentioned above, with the continuous upgrading of cloud models, the server computing resources are becoming increasingly tight during business peaks, which in turn limits the subsequent iteration and optimization of the model. With the existing server computing resources fixed, new challenges are posed for service computing scheduling: how to ensure that the response time of the server is within an acceptable range while applying the best model to provide services to vehicles.
[0054] To this end, the present application proposes a vehicle service computing power scheduling scheme based on a sliding time window, and the inventive concept is: determine the multiple service requests currently received related to vehicle services, and determine the priority of each service request based on the request parameters carried by each of the multiple service requests; based on the priority of each service request, from the mapping relationship between priority and model level, in order from high to low priority, find the model level that meets the time-consuming condition for each service request in turn; then, call the model corresponding to the model level found for each service request, and based on the request parameters carried by each service request, use the corresponding model to execute the corresponding vehicle service. Thus, when the server resources are fixed, the best model prediction effect can be achieved during the off-peak and flat periods of the business, and the server's computing power can be squeezed as much as possible when the computing power is tight during the peak period of the business, on the one hand, giving priority to the service response of high-value traffic, and on the other hand, ensuring that the service time is within a controllable range. In addition, it ensures the reasonable allocation of computing power resources, improves service efficiency, and enhances the vehicle service experience.
[0055] Reference Figure 1 As shown, it is a schematic diagram of the steps of the vehicle service computing power scheduling method based on the sliding time window provided in the embodiment of the present application. It should be noted that the executor of the vehicle service computing power scheduling scheme can be a vehicle service computing power scheduling device based on the sliding time window. In the present application, the scheduling device can be a software module with computing and data processing capabilities, or it can be an electronic device integrated with a similar software module. Optionally, the executor of the scheduling device in the present application can be a vehicle service platform, which can provide computing power scheduling services for new energy vehicles, self-driving vehicles, etc., such as electric cars, electric trucks, unmanned delivery vehicles, unmanned taxis and other types of vehicles.
[0056] like Figure 1 As shown, the vehicle service computing power scheduling method based on the sliding time window may specifically include the following steps:
[0057] Step 102: Determine a plurality of currently received service requests related to vehicle services, wherein each service request carries a request parameter representing a request type and content.
[0058] It should be understood that the scenarios to which the vehicle service computing power scheduling solution of this application is applicable may include: commercial scenarios such as logistics and transportation, transportation, map collection, and vehicle road testing. In fact, if services and policies permit, it can also be applied to private scenarios such as private car driving.
[0059] The vehicle services involved may include: delivery service, passenger service, map service, journey time estimation service, etc., which can be flexibly expanded according to different applicable scenarios.
[0060] Taking into account the particularity of the business and the time zone, the vehicle service computing power scheduling device, that is, the server, will receive a large number of requests, which will be distributed in a wave-like manner. Each of these service requests will carry request parameters that characterize the request type and request content. For example, request parameters may include: vehicle model, road scene, task status (specifically, tasks such as delivery, passenger transportation, or return to the station), identified object category, estimated time, etc. Here we only give examples of request parameters. In fact, according to the type of vehicle service and applicable scenarios, the types of request parameters can be flexibly expanded and increased, which will not be explained one by one here.
[0061] Step 104: Determine the priority of each service request based on the request parameters carried by each of the multiple service requests.
[0062] Since multiple service requests are received, although parallel processing can be achieved, considering that it is impossible to assign a matching model to each service request through parallel processing, it is necessary to determine the priority of each service request based on the request parameters carried by each service request.
[0063] In the solution of the present application, the priority of each service request can be determined based on the request parameters using a variety of different methods or algorithms.
[0064] A feasible solution is to input the request parameters carried by each of the multiple service requests into a set priority prediction model, and output the priority predicted for each service request; wherein the priority prediction model is trained based on the historical request parameters of multiple service requests. For example, the historical request parameters in the historical service requests are used as training samples, and the priority corresponding to each historical service request is used as a sample label, which is input into a neural network model, and the network parameters are adjusted to finally obtain a converged priority prediction model.
[0065] In addition, you can also assign values to different request parameters in advance, and then look up the corresponding values based on the request parameters in the received service request, that is, score the service request by the sum of the assigned values, and then, based on the assigned values of the service request, determine the priority for the corresponding service request by setting the correspondence between the assigned values and the priority.
[0066] In fact, in the present application, in addition to predicting the priority through the model trained by the above machine learning algorithm and searching for the priority through scoring, the priority of the service request can also be determined through segmented scoring by experts or other methods. This application does not limit this.
[0067] Step 106: Based on the priority of each service request, from the mapping relationship between priority and model level, the model level that meets the time consumption condition is preferentially searched for the service request with a high level; wherein the mapping relationship between priority and model level is optimized based on the latest time consumption result of the vehicle service based on the sliding time window statistics.
[0068] In the present application scheme, a mapping relationship between priority and model level is introduced to match model levels that meet time-consuming conditions for different priorities of service requests. Among them, satisfying the time-consuming condition may be satisfying a set time-consuming rule, for example, the time consumption is not greater than a set threshold, or satisfying a time consumption percentile, etc. Assuming there are 10 service requests and the threshold is set to 5ms, then the time consumption of these 10 service requests is no more than 5ms. For another example, assuming there are 100 service requests and the time consumption percentile is p99, then 99 service requests have a time consumption within an acceptable range (for example, 0-3ms), and the remaining one service request takes more than 5ms; this means that those 99 service requests meet the time consumption percentile.
[0069] The P99 quantile means that in a data set, 99% of the data is less than or equal to this value, and 1% of the data is greater than this value. In the IT field, the P99 quantile is often used to measure the response speed of interface services, reflecting the processing time of the top 1% of interface requests with the highest time consumption. It should be understood that p99 is used as an example here, and other quantiles such as p98, p95, or p90 can also be used, as long as they are flexibly adjusted according to business needs.
[0070] Optionally, in the present application, the mapping relationship between the priority and the model level is determined in the following manner:
[0071] The first step is to identify all priorities defined for service requests and all model levels currently configured on the server.
[0072] Before establishing a mapping relationship between priority and model level, you first need to define the priority level and model level of the service request based on business needs and server computing capacity. For example, you can define the priority of the service request as 10 levels, 1-10, and the higher the level, the higher the priority. You can define the model level as 10 levels, 1-10, and the higher the level, the higher the model performance and the higher the computing power requirement.
[0073] It should be understood that the number of priority levels and the number of model levels are examples and are not intended to be limiting. When carrying out actual business, they can be flexibly set according to needs, for example, 100, or 130, etc. Moreover, the number of priority levels and the number of model levels can be equal or different.
[0074] In the second step, for each priority, a one-to-one correspondence is established between the priority and all model levels; each one-to-one correspondence is configured with a time consumption quantile, and the time consumption quantile configured for the one-to-one correspondence between the priority and the highest level model is optimal during initialization.
[0075] Still taking the example of 10 priorities, there is a one-to-one correspondence between priority 1 and all model levels, that is, priority 1-model level 1, priority 1-model level 2, priority 1-model level 3, ..., priority 1-model level 8, priority 1-model level 9, priority 1-model level 10.
[0076] Correspondingly, priority 2 is also set in a one-to-one correspondence with all model levels. Similarly, other priorities 3 to 10 are also set in a one-to-one correspondence with all model levels.
[0077] Moreover, for each priority level and model level, a time consumption quantile is configured. During initialization, the time consumption quantiles can all be set to 0, or marked as empty, that is, unavailable. In this way, it can be ensured that during initialization, each priority level does not care about the value of the time consumption quantile, and the highest level model is selected by default to process the service request.
[0078] In the third step, after executing the vehicle service for a period of time, a sliding time window is determined from the historical time period, and the time consumption quantiles of all service requests within the sliding time window are counted.
[0079] After the initial mapping relationship between priority and model level is used, the service request initiated by the vehicle service will generate a new time-consuming quantile. Therefore, after a period of vehicle service, a sliding time window can be determined from the historical time period, and the sliding time window can be continuously updated over time. For example, in the past half hour, 5 minutes can be selected as the sliding time window to count the time consumption of service requests.
[0080] Here you can count the time consumption according to the set quantiles, for example, only select the time consumption data of p90. Or, you can count the time consumption of all quantiles, for example, count the time consumption data from p10 to p100.
[0081] In the fourth step, based on the priority of each service request in all service requests and the model level of the request, the latest time consumption quantile is used to update the time consumption quantile in the one-to-one correspondence between the priority and the model level that matches the mapping relationship between the priority and the model level.
[0082] The service requests within the sliding time window do not necessarily cover all service requests. However, the latest time-consuming quantiles determined by the service requests within the sliding time window can be used to update the time-consuming quantiles in the one-to-one correspondence between the priority and the model level in the mapping relationship between the priority and the model level. In this way, the mapping relationship between the priority and the model level can be gradually optimized.
[0083] In the present application, the mapping relationship between the priority and the model level may be a corresponding relationship stored in a database format, or in a format such as a chart.
[0084] Optionally, the mapping relationship between the priority and the model level is a plurality of histograms, each of which corresponds to a one-to-one correspondence between a priority and a model level, wherein one coordinate axis of the histogram represents quantiles, and the other coordinate axis represents time consumption. Figure 2a As shown, assuming that the graph is a time-consuming quantile graph of request level X calling model level Y, such as Figure 2a You can get the time consumption corresponding to the 10% to 100% percentiles. Assuming that our business requirement is to meet "90% of the request call time must be less than 60ms" (where the 90% percentile and 60ms time consumption are parameters that we can dynamically adjust, this is just for example and not as a limitation), then you can get the time consumption data of the p90 percentile corresponding to each priority and each model level from the "Statistics Service".
[0085] Optionally, when searching for a model level that meets the time-consuming condition for each service request from a mapping relationship between priority and model level based on the priority of each service request, a histogram corresponding to the priority can be searched from the multiple histograms based on the priority of each service request; based on the found histogram, model levels whose time-consuming percentiles are not lower than a set threshold are filtered out; and the highest model level is selected from the filtered model levels as the model level that meets the time-consuming condition.
[0086] Specifically, in the mapping relationship between priority and model level, a complete one-to-one mapping relationship can be stored, that is, the one-to-one mapping relationship between each priority and each model level has complete p10-p100 quantile time consumption data. Therefore, based on the priority of each service request, some histograms corresponding to the priority can be found from multiple histograms, and then the model levels whose time consumption quantiles are not less than the set threshold can be filtered from these histograms. For example, the model levels whose quantiles are p90 and whose time consumption is less than 60ms can be filtered from these histograms. After that, the model level with the highest model level is selected from the filtered model levels as the model level that meets the time consumption condition.
[0087] Alternatively, only the time consumption data that meets the time consumption condition can be obtained, that is, in the mapping relationship between priority and model level, only the time consumption data that meets the time consumption condition can be stored, that is, in the one-to-one mapping relationship between each priority and each model level, only the set time consumption data of the set quantile is stored, for example, only the time consumption data of the p90 quantile is stored. In this way, the following can be obtained: Figure 2b Schematic diagram of time consumption data showing the p90 quantiles of the priorities and model levels corresponding to each other. Figure 2b The horizontal scale in the middle indicates the model level, which is 1-10 from left to right, and the vertical scale indicates the priority level of the request, which is 1-10 from top to bottom, and the priority level is 10. Figure 2b The p90 quantile time consumption data of the medium priority level and model level is used to find the model corresponding to the matching model level for different requests. For example, a model of level 2 is called for a request with priority 10; a model of level 4 is called for a request with priority 9.
[0088] Step 108: Call the model corresponding to the model level searched for each service request, and use the corresponding model to execute the corresponding vehicle service based on the request parameters carried by each service request.
[0089] It should be noted that in each model level, models of different sizes are set. The size of the model represents the performance of the model. Generally speaking, large models have better performance and small models have poorer performance. Therefore, in the present application, after the highest model level is screened out, the largest model can be selected from the highest model level for calling, and based on the request parameters carried by the service request, the corresponding model is used to execute the corresponding vehicle service.
[0090] In addition, in the present application, the priority of optimizing the latest time-consuming result of the vehicle service counted through the sliding time window and the model level mapping relationship can be updated to the maintenance user in real time as an online service report, so that the maintenance user can view the time-consuming percentile and adjust the parameters in time; wherein, the content of the parameter adjustment includes at least: the window size of the sliding time window, and the number of service requests allowed to access. In addition, the adjustable parameter content may also include: time-consuming percentile, and time-consuming control range, etc. Thus, flexible parameter adjustment is achieved to meet a wider range of business needs.
[0091] Reference Figure 3 As shown, it is a schematic diagram of the vehicle service computing power scheduling process based on the sliding time window provided in an embodiment of the present application.
[0092] like Figure 3As shown, multiple requests from the same or different vehicles are received, and request 1, request 2... request n are shown in the figure; here, the priority of each request can be calculated by the set traffic value calculation service. Among them, the traffic value calculation service is a module that provides the function of calculating priority, which can specifically provide priority calculation services through ordinary algorithms or machine learning algorithms, or provide priority calculation services through expert scoring or segmented scoring. After calculating the priority of the request, the model level that should be called for each request can be obtained. And this step can specifically obtain configuration information from the dynamic configuration service through the diversion service, such as the time consumption is controlled at 0.5ms, the quantile is 80%, the sliding time window is 5min, etc. At the same time, the correspondence between the priority and the model level of the latest sliding time window update is obtained from the statistical service, and based on the priority of the request, the model level that meets the time consumption quantile is found out respectively. After that, the model corresponding to each request is called and the data is returned. In fact, the model corresponding to each request called here is the model with better performance among the models determined according to the model level or the largest model among the models determined by the model level is directly called, so as to ensure that the service request can be better executed and provide better calculation services. Finally, the time-consuming data of the service request can be extracted from the returned data, and based on the periodic statistics of the sliding time window, the correspondence between the priority and the model level is continuously updated, so that the computing resources allocated to the server are more balanced and the pressure on the server is smoother.
[0093] It should be noted that, for the aforementioned method embodiments, for the sake of simplicity, they are all expressed as a series of action combinations, but those skilled in the art should be aware that the present application is not limited by the described order of actions, because according to the present application, certain steps can be performed in other orders or simultaneously. Secondly, those skilled in the art should also be aware that the embodiments described in the specification are all preferred embodiments, and the actions and modules involved are not necessarily required by the present application.
[0094] In the above embodiments, the description of each embodiment has its own emphasis. For parts that are not described in detail in a certain embodiment, reference can be made to the relevant descriptions of other embodiments.
[0095] Figure 4 FIG. 1 shows a structural block diagram of a vehicle service computing power scheduling device based on a sliding time window provided by an embodiment of the present application. Figure 4As shown. The vehicle service computing power scheduling device 400 based on the sliding time window of this embodiment may include a first determination module 401, a second determination module 402, a search module 403 and a call module 404. Among them, the first determination module 401 is used to determine the multiple service requests currently received related to the vehicle service, wherein each service request carries a request parameter representing the request type and content; the second determination module 402 is used to determine the priority of each service request based on the request parameters carried by each of the multiple service requests; the search module 403 is used to search for a model level that meets the time-consuming condition for each service request from the mapping relationship between the priority and the model level based on the priority of each service request; wherein the mapping relationship between the priority and the model level is based on the latest sliding time window statistics; the call module 404 is used to call the model corresponding to the model level found for each service request, and based on the request parameters carried by each service request, use the corresponding model to execute the corresponding vehicle service.
[0096] It should be noted that part or all of the sliding time window-based vehicle service computing power scheduling device of this embodiment may be an application located in the local terminal, or may also be a functional unit such as a plug-in or software development kit (SDK) set in the application located in the local terminal, or may also be a processing engine located in a network-side server, or may also be a distributed system located on the network side, for example, a processing engine or distributed system in an autonomous driving platform on the network side, etc. This embodiment does not specifically limit this.
[0097] It is understandable that the application may be a local program (nativeApp) installed on the local terminal, or may be a webpage program (webApp) of a browser on the local terminal, which is not limited in this embodiment.
[0098] Optionally, in a possible implementation of the present embodiment, when determining the priority of each service request based on the request parameters carried by each of the multiple service requests, the second determination module 402 is specifically used to input the request parameters carried by each of the multiple service requests into a set priority prediction model, and output a priority predicted for each service request; wherein the priority prediction model is trained based on historical request parameters of multiple service requests.
[0099] Optionally, in a possible implementation of the present embodiment, the mapping relationship between priorities and model levels is determined in the following manner: determining all priorities defined for service requests and all model levels currently configured by the server; for each priority, establishing a one-to-one correspondence between the priority and all model levels; wherein each one-to-one correspondence is configured with a time consumption quantile, and the time consumption quantile configured for the one-to-one correspondence between the priority and the highest-level model is not available at initialization; after performing vehicle service for a period of time, determining a sliding time window from a historical time period, and counting the time consumption quantiles of all service requests within the sliding time window; based on the priority of each service request among all service requests and the model level of the request, using the latest time consumption quantile, updating the time consumption quantile in the one-to-one correspondence between the priority and the model level that matches the mapping relationship between priority and model level.
[0100] Optionally, in a possible implementation of the present embodiment, the mapping relationship between priority and model level is a plurality of histograms, each histogram corresponding to a one-to-one correspondence between a priority and a model level, wherein one coordinate axis of the histogram represents quantiles and the other coordinate axis represents time consumption; then the search module 403 searches for a model level that meets the time consumption condition for each service request from the mapping relationship between priority and model level based on the priority of each service request, and is specifically used to search for a histogram corresponding to the priority from the plurality of histograms based on the priority of each service request; based on the found histogram, filter out model levels whose time consumption quantiles are not lower than a set threshold; and select the highest model level from the filtered model levels as the model level that meets the time consumption condition.
[0101] Optionally, in a possible implementation of this embodiment, the vehicle service computing power scheduling device based on the sliding time window also includes: an update module; the update module is used to optimize the priority and model level mapping relationship of the latest time-consuming results of the vehicle service counted through the sliding time window, and update it to the maintenance user in real time as an online service report, so that the maintenance user can view the time-consuming percentiles and adjust parameters in time; wherein the parameter adjustment content includes at least: the window size of the sliding time window, and the number of service requests allowed to access.
[0102] In this embodiment, the priority of each service request can be determined by determining the multiple service requests currently received related to the vehicle service, based on the request parameters carried by each of the multiple service requests; based on the priority of each service request, from the mapping relationship between the priority and the model level, in order from high to low priority, the model level that meets the time-consuming condition is searched for each service request in turn; then, the model corresponding to the model level searched for each service request is called, and based on the request parameters carried by each service request, the corresponding model is used to execute the corresponding vehicle service. Thus, when the server resources are fixed, the best model prediction effect can be achieved during the off-peak and flat periods of the business, and the computing power of the server is squeezed as much as possible when the computing power is tight during the peak period of the business. On the one hand, the service response of high-value traffic is prioritized, and on the other hand, the time consumption of the service is guaranteed to be within a controllable range. In addition, the reasonable allocation of computing resources is guaranteed, the service efficiency is improved, and the vehicle service experience is enhanced.
[0103] An embodiment of the present application provides a computer-readable storage medium, wherein the storage medium stores at least one instruction, and the at least one instruction is loaded and executed by a processor to implement the vehicle service computing power scheduling method based on a sliding time window as described above.
[0104] An embodiment of the present application provides an electronic device, which includes a processor and a memory, wherein the memory stores at least one instruction, and the instruction is loaded and executed by the processor to implement the vehicle service computing power scheduling method based on the sliding time window as described above.
[0105] An embodiment of the present application provides a vehicle service computing power scheduling system based on a sliding time window, including multiple vehicles and the electronic device as described above. Specifically, the multiple vehicles can be ordinary vehicles or autonomous driving vehicles, and the autonomous driving vehicle can be a vehicle of level L2 or above.
[0106] In the technical solution of this application, the collection, storage, use, processing, transmission, provision and disclosure of user personal information involved are in compliance with the relevant laws and regulations and do not violate public order and good morals.
[0107] Figure 5A schematic block diagram of an example electronic device 500 that can be used to implement an embodiment of the present application is shown. The electronic device is intended to represent various forms of digital computers, such as laptop computers, desktop computers, workbenches, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device can also represent various forms of mobile devices, such as personal digital processing, cellular phones, smart phones, wearable devices, and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely examples and are not intended to limit the implementation of the present application described and / or required herein.
[0108] like Figure 5 As shown, the electronic device 500 includes a computing unit 501, which can perform various appropriate actions and processes according to a computer program stored in a read-only memory (ROM) 502 or a computer program loaded from a storage unit 508 into a random access memory (RAM) 503. In the RAM 503, various programs and data required for the operation of the electronic device 500 can also be stored. The computing unit 501, the ROM 502, and the RAM 503 are connected to each other via a bus 504. An input / output (I / O) interface 505 is also connected to the bus 504.
[0109] Multiple components in the electronic device 500 are connected to the I / O interface 505, including: an input unit 506, such as a keyboard, a mouse, etc.; an output unit 507, such as various types of displays, speakers, etc.; a storage unit 508, such as a disk, an optical disk, etc.; and a communication unit 509, such as a network card, a modem, a wireless communication transceiver, etc. The communication unit 509 allows the electronic device 500 to exchange information / data with other devices through a computer network such as the Internet and / or various telecommunication networks.
[0110] The computing unit 501 may be a variety of general and / or special processing components with processing and computing capabilities. Some examples of the computing unit 501 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various dedicated artificial intelligence (AI) computing chips, various computing units running machine learning model algorithms, digital signal processors (DSPs), and any appropriate processors, controllers, microcontrollers, etc. The computing unit 501 performs the various methods and processes described above, such as a vehicle service computing power scheduling method based on a sliding time window. For example, in some embodiments, the vehicle service computing power scheduling method based on a sliding time window may be implemented as a computer software program, which is tangibly included in a machine-readable medium, such as a storage unit 508. In some embodiments, part or all of the computer program may be loaded and / or installed on the electronic device 500 via the ROM 502 and / or the communication unit 509. When the computer program is loaded into the RAM 503 and executed by the computing unit 501, one or more steps of the vehicle service computing power scheduling method based on the sliding time window described above may be performed. Alternatively, in other embodiments, the computing unit 501 may be configured to execute a vehicle service computing capacity scheduling method based on a sliding time window by any other appropriate means (eg, by means of firmware).
[0111] Various implementations of the systems and techniques described above herein can be implemented in digital electronic circuit systems, integrated circuit systems, field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific standard products (ASSPs), systems on chips (SOCs), complex programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various implementations can include: being implemented in one or more computer programs that can be executed and / or interpreted on a programmable system including at least one programmable processor, which can be a special purpose or general purpose programmable processor that can receive data and instructions from a storage system, at least one input device, and at least one output device, and transmit data and instructions to the storage system, the at least one input device, and the at least one output device.
[0112] The program code for implementing the method of the present application can be written in any combination of one or more programming languages. These program codes can be provided to a processor or controller of a general-purpose computer, a special-purpose computer, or other programmable data processing device, so that the program code, when executed by the processor or controller, implements the functions / operations specified in the flow chart and / or block diagram. The program code can be executed entirely on the machine, partially on the machine, partially on the machine and partially on a remote machine as a stand-alone software package, or entirely on a remote machine or server.
[0113] In the context of the present application, a machine-readable medium may be a tangible medium that may contain or store a program for use by or in conjunction with an instruction execution system, device, or equipment. A machine-readable medium may be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium may include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, device, or equipment, or any suitable combination of the foregoing. A more specific example of a machine-readable storage medium may include an electrical connection based on one or more lines, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
[0114] To provide interaction with a user, the systems and techniques described herein can be implemented on a computer having: a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user; and a keyboard and pointing device (e.g., a mouse or trackball) through which the user can provide input to the computer. Other types of devices can also be used to provide interaction with the user; for example, the feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form (including acoustic input, voice input, or tactile input).
[0115] The systems and techniques described herein may be implemented in a computing system that includes back-end components (e.g., as a data server), or a computing system that includes middleware components (e.g., an application server), or a computing system that includes front-end components (e.g., a user computer with a graphical user interface or a web browser through which a user can interact with implementations of the systems and techniques described herein), or a computing system that includes any combination of such back-end components, middleware components, or front-end components. The components of the system may be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include: a local area network (LAN), a wide area network (WAN), and the Internet.
[0116] A computer system may include a client and a server. The client and the server are generally remote from each other and usually interact through a communication network. The relationship of client and server is generated by computer programs running on respective computers and having a client-server relationship with each other. The server may be a cloud server, a server of a distributed system, or a server combined with a blockchain.
[0117] It should be understood that the various forms of processes shown above can be used to reorder, add or delete steps. For example, the steps disclosed in this application can be performed in parallel, sequentially or in different orders, as long as the desired results of the technical solution disclosed in this application can be achieved, and this document does not limit this.
[0118] The above specific implementations do not constitute a limitation on the protection scope of this application. It should be understood by those skilled in the art that various modifications, combinations, sub-combinations and substitutions can be made according to design requirements and other factors. Any modifications, equivalent substitutions and improvements made within the spirit and principles of this application should be included in the protection scope of this application.
Claims
1. A vehicle service computing power scheduling method based on a sliding time window, characterized in that: include: Determine a plurality of service requests currently received and related to the vehicle service, wherein each service request carries a request parameter representing a request type and content; Determining the priority of each service request based on the request parameters carried by each of the multiple service requests; Based on the priority of each service request, from the mapping relationship between priority and model level, the model level that meets the time consumption condition is preferentially searched for the service request with a high level; wherein the mapping relationship between priority and model level is optimized based on the latest time consumption result of the vehicle service counted in the sliding time window; The model corresponding to the model level found for each service request is called, and based on the request parameters carried by each service request, the corresponding model is used to execute the corresponding vehicle service.
2. The method according to claim 1, characterized in that Determining the priority of each service request based on the request parameters respectively carried by the multiple service requests, specifically including: Inputting the request parameters carried by each of the multiple service requests into a set priority prediction model, respectively, and outputting a priority predicted for each service request; The priority prediction model is trained based on historical request parameters of multiple service requests.
3. The method according to claim 1, characterized in that The priority and model level mapping relationship is determined in the following way: Identify all priorities defined for the service request and all model levels currently configured on the server; For each priority, a one-to-one correspondence between the priority and all model levels is established; wherein each one-to-one correspondence is configured with a time consumption quantile, and the time consumption quantile configured for the one-to-one correspondence between the priority and the highest level model is not available during initialization; After executing vehicle services for a period of time, a sliding time window is determined from the historical time period, and the time consumption quantiles of all service requests within the sliding time window are counted; Based on the priority of each service request in all service requests and the model level of the request, the latest time consumption quantile is used to update the time consumption quantile in the one-to-one correspondence between the priority and the model level that matches the mapping relationship between the priority and the model level.
4. The method according to claim 3, characterized in that The mapping relationship between the priority and the model level is a plurality of histograms, each of which corresponds to a one-to-one correspondence between a priority and a model level, wherein one coordinate axis of the histogram represents quantiles, and the other coordinate axis represents time consumption; Based on the priority of each service request, the model level that meets the time-consuming conditions is found for each service request from the mapping relationship between priority and model level, including: Based on the priority of each service request, searching for a histogram corresponding to the priority from the multiple histograms; Based on the found histogram, select the model level whose time consumption quantile is not less than the set threshold; The highest model level is selected from the filtered model levels as the model level that meets the time consumption condition.
5. The method according to claim 3, characterized in that Also includes: The priority and model level mapping relationship of the latest vehicle service time consumption results after the sliding time window statistics are updated to the maintenance user in real time as an online service report, so that the maintenance user can view the time consumption quantiles and adjust the parameters in time; Among them, the content of the parameter adjustment includes at least: the window size of the sliding time window and the number of service requests allowed to access.
6. A vehicle service computing power scheduling device based on a sliding time window, characterized in that: include: A first determination module is used to determine a plurality of service requests currently received and related to vehicle services, wherein each service request carries a request parameter representing a request type and content; A second determination module, configured to determine a priority of each service request based on request parameters respectively carried by the multiple service requests; A search module is used to search for a model level that meets the time-consuming condition for each service request from a mapping relationship between the priority and the model level based on the priority of each service request; wherein the mapping relationship between the priority and the model level is based on the latest sliding time window statistics; The calling module is used to call the model corresponding to the model level found for each service request, and based on the request parameters carried by each service request, use the corresponding model to execute the corresponding vehicle service.
7. An electronic device comprising: at least one processor; as well as a memory communicatively connected to the at least one processor; wherein, The memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor to enable the at least one processor to perform the method according to any one of claims 1 to 5.
8. A non-transitory computer-readable storage medium storing computer instructions, wherein: The computer instructions are used to cause the computer to execute the method according to any one of claims 1-5.
9. A computer program product, comprising a computer program, which, when executed by a processor, implements the method according to any one of claims 1 to 5.
10. A vehicle service computing power scheduling system based on a sliding time window, comprising: A plurality of vehicles, and the electronic device as claimed in claim 7.