A resource allocation method and apparatus, an electronic device, and a storage medium

By training a time series model to predict future computing resource requirements and combining this with the characteristics of vehicle data to adjust resource allocation strategies, the problem of insufficient resource utilization in existing technologies has been solved, and the resource utilization of the intelligent connected vehicle industry chain platform has been maximized.

CN116302545BActive Publication Date: 2026-04-17BEIJING SAIMO TECH CO LTD
View PDF 3 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
BEIJING SAIMO TECH CO LTD
Filing Date
2023-03-23
Publication Date
2026-04-17

AI Technical Summary

Technical Problem

Existing elastic scaling technologies fail to effectively consider data characteristics in automotive industry chain platforms, resulting in insufficient resource utilization and an inability to effectively cope with the processing needs of periodic and sporadic data.

Method used

By training time series models, future computing resource requirements can be predicted. Taking into account the periodicity and sporadic nature of vehicle data, computing resource allocation strategies can be adjusted, including the priority and allocation methods of CPU, storage, and network resources.

Benefits of technology

It improves the application effect of elastic scaling technology in the intelligent connected vehicle industry chain platform, realizes the maximum utilization of resources, and adapts to the processing needs of different data types.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116302545B_ABST
    Figure CN116302545B_ABST
Patent Text Reader

Abstract

Embodiments of the present application provide a resource allocation method and device, electronic equipment and storage medium, which are applied to an intelligent networked automobile industry chain platform; the platform is equipped with a computing resource, and the computing resource is used for processing collected vehicle data; the method comprises: obtaining a target time period to be predicted; inputting the target time period into a trained time series model to obtain predicted load data of the target time period; the predicted load data comprises predicted use of a target computing resource; generating an allocation strategy of the target computing resource according to the predicted load data, and allocating the target computing resource in the target time period according to the allocation strategy. The method makes the elastic scaling technology more matched with the intelligent networked automobile industry chain platform, improves the application effect of the elastic scaling technology in the platform, and maximizes the utilization of platform resources.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of computer technology, and more specifically, to a resource allocation method, apparatus, electronic device, and storage medium. Background Technology

[0002] With the rapid development of the new energy vehicle industry, traditional automotive supply chain platforms are facing bottlenecks such as increasing data volume and insufficient computing power. Related technologies often employ elastic scaling to ensure platform computing power while minimizing the waste of unnecessary resources, thereby maximizing hardware resource utilization. However, elastic scaling is a general-purpose technology that does not consider the characteristics of data within automotive supply chain platforms, resulting in less than ideal application effects. Summary of the Invention

[0003] The purpose of this application is to provide a resource allocation method, apparatus, electronic device, and storage medium to achieve the technical effect of allocating computing resources on the automotive industry chain platform.

[0004] The first aspect of this application provides a resource allocation method applied to an intelligent connected vehicle industry chain platform; the platform is equipped with computing resources, which are used to process collected vehicle data; the method includes:

[0005] Obtain the target time period to be predicted;

[0006] The target time period is input into a trained time series model to obtain the predicted load data for the target time period; the predicted load data includes the predicted usage of target computing resources.

[0007] A strategy for allocating the target computing resources is generated based on the predicted load data, and the target computing resources are allocated in the target time period according to the strategy.

[0008] In the aforementioned implementation process, considering the structural characteristics of vehicle data in the intelligent connected vehicle industry chain platform, which includes both periodic and sporadic data, the usage of platform target computing resources is predicted from the perspective of vehicle data development trends within a future target time period, thereby allocating appropriate target computing resources to the platform. A flexible scaling method, different from the aforementioned models, is proposed to allocate platform target computing resources, making flexible scaling technology more compatible with the intelligent connected vehicle industry chain platform, improving the application effect of flexible scaling technology within the platform, and maximizing platform resource utilization.

[0009] Furthermore, the training process of the time series model includes:

[0010] Obtain multiple historical load data points of the platform; each historical load data point includes the historical usage of the target computing resources at a historical moment;

[0011] The historical load data is preprocessed to obtain a preset number of stationary sequences;

[0012] The stationary sequence is used to perform supervised training on the time series model.

[0013] In the above implementation process, by using a preset number of stationary sequences as a training set for the time series model, the time series model can learn the data trends in historical load data, thereby enabling the time series model to predict the usage of target computing resources for future target time periods.

[0014] Furthermore, the preprocessing includes:

[0015] The historical load data is sliced ​​according to a preset time granularity to obtain a preset number of load sample sequences; wherein, the time granularity of the target time period is consistent with the preset time granularity;

[0016] A differential operation is performed on a preset number of the load sample sequences to obtain a stationary sequence corresponding to each load sample sequence.

[0017] In the above implementation process, historical load data is sliced ​​and stationary to obtain a training set for the time series model. By adjusting the time granularity, different numbers of stationary sequences can be obtained as training data. Furthermore, the time granularity can be adjusted according to fluctuations in vehicle data volume and / or resource adjustment cycles, improving the flexibility of resource allocation.

[0018] Furthermore, the target computing resources include various types, and the preprocessing also includes:

[0019] All historical load data are statistically analyzed according to each target computing resource to obtain historical statistical usage data for each target computing resource.

[0020] The priority level of each of the target computing resources is determined according to the order of all the historical statistical usage data from high to low.

[0021] The method further includes:

[0022] The allocation strategy is adjusted according to the priority level.

[0023] In the above implementation process, after determining the priority level of each target computing resource based on historical load data, the allocation strategy can be adjusted according to the priority level to make the allocation strategy more consistent with the actual occupancy of target computing resources by vehicle data.

[0024] Further, the target computing resources include CPU resources, storage resources, and network resources; adjusting the allocation strategy according to the priority level includes:

[0025] If the CPU resources are of the highest priority, the adjustment of the allocation strategy includes: increasing the allocation of storage resources so that the portion of the vehicle data exceeding the available CPU resources is processed, and the other portion is stored in storage space;

[0026] If the storage resource has the highest priority, the adjustment of the allocation strategy includes: using a portion of the allocated storage resource as a cache to speed up the processing of the vehicle data;

[0027] If the network resource has the highest priority, the adjustment of the allocation strategy includes: acquiring the vehicle data in batches, and / or acquiring the vehicle data based on different transmission protocols.

[0028] The above implementation process provides a method for adjusting the allocation strategy when different target computing resources are given the highest priority. Historical load data is used to determine the historical statistical usage data of each target computing resource, thereby adjusting the allocation strategy generated based on predicted load data to better reflect the actual occupancy of target computing resources by vehicle data.

[0029] Furthermore, the vehicle data includes periodic data and occasional data; the historical load data also includes the amount of periodic data and occasional data at the historical time.

[0030] In the above implementation process, the historical load data also records the amount of periodic and occasional data. This allows for analysis of the impact of changes in vehicle data on the adjustment and allocation of target computing resources. For example, it allows analysis of the impact of changes in the amount of periodic and occasional data on the adjustment and allocation of target computing resources. This provides more adjustment strategies for the predictive allocation of target computing resources.

[0031] Furthermore, the time series model is a differential autoregressive moving average (ARIMA) model.

[0032] In the above implementation process, the ARIMA model is trained using a preset number of stationary sequences as the training set. This allows the ARIMA model to learn the data trends in historical load data, thereby enabling it to predict the usage of target computing resources for future target time periods.

[0033] A second aspect of this application provides a resource allocation device applied to an intelligent connected vehicle industry chain platform; the platform is equipped with computing resources for processing collected vehicle data; the device includes:

[0034] The acquisition module is used to acquire the target time period to be predicted;

[0035] The prediction module is used to input the target time period into a trained time series model to obtain the predicted load data for the target time period; the predicted load data includes the predicted usage of target computing resources.

[0036] The generation module is used to generate an allocation strategy for the target computing resources based on the predicted load data, and to allocate the target computing resources in the target time period according to the allocation strategy.

[0037] A third aspect of this application provides an electronic device, the electronic device comprising:

[0038] processor;

[0039] Memory used to store processor-executable instructions;

[0040] Wherein, when the processor invokes the executable instructions, it implements the operation of any of the methods described in the first aspect.

[0041] A fourth aspect of this application provides a computer-readable storage medium having computer instructions stored thereon, which, when executed by a processor, implement the steps of any of the methods described in the first aspect. Attached Figure Description

[0042] To more clearly illustrate the technical solutions of the embodiments of this application, the accompanying drawings used in the embodiments of this application will be briefly introduced below. It should be understood that the following drawings only show some embodiments of this application and should not be regarded as a limitation of the scope. For those skilled in the art, other related drawings can be obtained based on these drawings without creative effort.

[0043] Figure 1 A flowchart illustrating a resource allocation method provided in an embodiment of this application;

[0044] Figure 2 A flowchart illustrating another resource allocation method provided in an embodiment of this application;

[0045] Figure 3 A flowchart illustrating another resource allocation method provided in an embodiment of this application;

[0046] Figure 4A flowchart illustrating another resource allocation method provided in an embodiment of this application;

[0047] Figure 5 A structural block diagram of a resource allocation device provided in an embodiment of this application;

[0048] Figure 6 This is a hardware structure diagram of an electronic device provided in an embodiment of this application. Detailed Implementation

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

[0050] It should be noted that similar reference numerals and letters in the following figures indicate similar items; therefore, once an item is defined in one figure, it does not need to be further defined and explained in subsequent figures. Furthermore, in the description of this application, terms such as "first," "second," etc., are used only to distinguish descriptions and should not be construed as indicating or implying relative importance.

[0051] With the rapid development of the new energy vehicle industry, traditional automotive supply chain platforms are facing bottlenecks due to increasing data volume and insufficient computing power. In related technologies, auto scaling (AS) is often used to automatically adjust the number of Elastic Compute Service (ECS) instances. This means using auto scaling to allocate and schedule computing resources for the automotive supply chain platform, which then uses these allocated resources to process the collected vehicle data. This ensures sufficient computing power while minimizing the waste of unnecessary resources, maximizing the utilization of hardware resources.

[0052] Currently, elastic scaling technology typically allocates platform computing resources using the following modes:

[0053] 1. Scheduled mode: Customize the time and frequency of automatic scaling, for example, add ECS instances every day at 13:00.

[0054] 2. Dynamic Mode: Automatically adjusts ECS instances based on cloud monitoring computing resource performance metrics. For example, it automatically increases or decreases ECS instances based on the relationship between CPU utilization and preset thresholds.

[0055] 3. Fixed Quantity Mode: Set the minimum number of ECS instances (MinSize), which is the minimum number of ECS instances that are running healthily, thereby ensuring the availability of the platform.

[0056] However, for automotive industry chain platforms, the vehicle data they collect and process includes both periodic and sporadic data. If a timed allocation model is used to distribute computing resources across these platforms, the unpredictable timing of sporadic data makes it unsuitable for processing. A dynamic allocation model, which typically adjusts resources based on the relationship between individual hardware resources and their thresholds, is insufficient because sporadic data may involve fluctuations in the occupancy of multiple hardware resources. Setting thresholds for individual hardware resources in a dynamic model cannot maximize resource utilization based on actual conditions. A fixed allocation model is too simplistic to achieve dynamic resource allocation.

[0057] It is evident that, as a general-purpose technology, elastic scaling technology does not take into account the characteristics of data in the automotive industry chain platform, resulting in less than ideal application effects of elastic scaling technology in the automotive industry chain platform.

[0058] Therefore, this application provides a resource allocation method applied to an intelligent connected vehicle industry chain platform (hereinafter referred to as the platform). The platform communicates with numerous vehicles and can acquire various vehicle data generated by the vehicles. By monitoring, statistically analyzing, and performing big data analysis on the vehicle data, real-time monitoring of vehicles and corresponding data applications can be achieved.

[0059] For example, vehicle data includes periodic data and occasional data. Periodic data refers to data that vehicles upload periodically. For instance, if a platform monitors vehicles with autonomous driving functions enabled, the vehicles need to periodically upload vehicle data related to autonomous driving decisions. As examples, periodic data may include, but is not limited to, fused target object data, vehicle location data, traffic information data, road attribute data, natural condition data, decision data, vehicle status data, system and component operation data, etc.

[0060] Incidental data refers to data generated and uploaded by vehicles during unexpected events. For example, incidental data may include, but is not limited to, vehicle collision data, fault data, and autonomous driving takeover data.

[0061] After vehicle data, including both periodic and sporadic data, is uploaded to the platform, the platform can process the vehicle data using its onboard computing resources. These computing resources may include, but are not limited to, CPU (Central Processing Unit) resources, storage resources, and network resources. By allocating the platform's computing resources using the resource allocation method provided in this application, the platform can then utilize the allocated computing resources to process the vehicle data.

[0062] See Figure 1 The resource allocation method provided in this application includes, for example: Figure 1 The steps shown are as follows:

[0063] Step 110: Obtain the target time period to be predicted;

[0064] Step 120: Input the target time period into the trained time series model to obtain the predicted load data for the target time period;

[0065] The predicted load data includes the predicted usage of the target computing resources;

[0066] Step 130: Generate an allocation strategy for the target computing resources based on the predicted load data, and allocate the target computing resources in the target time period according to the allocation strategy.

[0067] The platform has pre-stored trained time series models, the training process of which will be described below and will not be elaborated here.

[0068] The primary purpose of time series models is to predict the future based on existing historical data, which can reveal data trends. In this application, we consider that platform load data tends to follow a "trend." For example, during the winter season when roads are icy, vehicles are more prone to skidding, leading to an increase in incidental data reported by vehicles, including collision data and autonomous driving takeover data, compared to other seasons. Consequently, the platform load data in winter differs from that in other seasons. Similarly, during the rainy season, the reduced road surface adhesion coefficient also increases the probability of vehicle skidding, resulting in more incidental data reported by vehicles compared to non-rainy season periods. This also leads to a difference in platform load data during the rainy season compared to the non-rainy season.

[0069] This shows that the load data each year follows the same or nearly the same trend. Therefore, trained time series models can be used to predict the platform's load data over a future period, and computing resources can be allocated based on the predicted load data. Alternatively, time series models can be used to predict how many computing resources the platform will need to process the collected vehicle data in the future.

[0070] Therefore, when implementing the resource allocation method provided in this application, the first step is to obtain the target time period to be predicted. The target time period refers to a future time period relative to the present. The target time period is then input into a trained time series model, which can output predicted load data for the target time period. This predicted load data includes the predicted usage of the target computing resources.

[0071] For example, the target computing resource can be one or more of the computing resources provided by the platform. For instance, the target computing resource may include one or more of CPU resources, storage resources, and network resources. The predicted load data includes the predicted usage of the target computing resources; for example, the predicted load data may include one or more of the predicted number of CPUs, the predicted storage space size, and the predicted network bandwidth.

[0072] Subsequently, the platform can generate a target computing resource allocation strategy based on the predicted load data, and allocate the target computing resources according to the allocation strategy when the target time period arrives.

[0073] As an example, predicted load data can be imported into a load balancer. The load balancer can be a component integrated into the platform or a component independent of the platform. The load balancer can generate an allocation strategy based on the predicted load data and allocate target computing resources according to the allocation strategy within the target time period. In other words, when the target time period arrives, the load balancer allocates target computing resources to the platform according to the allocation strategy.

[0074] As an example, the generated allocation strategy can be imported into the load balancer, enabling the load balancer to allocate target computing resources according to the allocation strategy within the target time period.

[0075] For example, the load balancer allocates target computing resources to the platform, and the allocated target computing resources correspond to one or more ECS instances. The allocation of target computing resources based on predicted load data is ultimately reflected in the increase or decrease of the number of ECS instances. That is, the load balancer allocates target computing resources within a target time period to adjust the number of ECS instances in the platform.

[0076] As can be seen, the resource allocation method provided in this application, taking into account the structural characteristics of vehicle data in the intelligent connected vehicle industry chain platform, which includes both periodic and sporadic data, predicts the usage of platform target computing resources within a future target time period from the perspective of vehicle data development trends, thereby allocating appropriate target computing resources to the platform. A flexible scaling method, different from the aforementioned models, is proposed to allocate platform target computing resources, making flexible scaling technology more compatible with the intelligent connected vehicle industry chain platform, improving the application effect of flexible scaling technology in the platform, and maximizing platform resource utilization.

[0077] For the training process of time series models, please refer to [link / reference]. Figure 2 The training process of a time series model includes, for example: Figure 2 The steps shown are as follows:

[0078] Step 210: Obtain multiple historical load data of the platform;

[0079] Each of the historical load data includes the historical usage of the target computing resources at a historical moment;

[0080] Step 220: Preprocess the historical load data to obtain a preset number of stationary sequences;

[0081] Step 230: Supervised training of the time series model using the stationary sequence.

[0082] As mentioned above, existing historical data can reveal the development trend of data. Therefore, this embodiment uses historical load data to perform supervised training on the time series model, so that the time series model can learn the trend of historical load data over time.

[0083] In order to accurately represent the data trend of the load data, the amount of historical load data should not be too small; otherwise, the time series model will not be able to learn the accurate data trend. At the same time, to improve the training efficiency of the time series model, the amount of historical load data should not be too large. In other words, an appropriate amount of load data needs to be selected so that the time series model can learn the accurate data trend without significantly impacting training efficiency.

[0084] As an example, one year's worth of historical load data can be obtained from the platform. This can be done either directly from the load balancer or through log analysis.

[0085] Each historical load data point in the multiple historical load data sets includes the historical usage of the target computing resources at a historical time. For example, historical load data A records the usage of the target computing resources at historical time a; historical load data B records the usage of the target computing resources at historical time b.

[0086] For example, if the target computing resources include multiple types, the historical load data records the historical usage of each target computing resource.

[0087] Optionally, as mentioned above, vehicle data includes both periodic and incidental data. Therefore, historical load data, in addition to including the historical usage of target computing resources at historical moments, may also include the amount of periodic and incidental data at those historical moments. That is, historical load data records the amount of periodic and incidental data at a historical moment, as well as the historical usage of the target computing resources used to process this vehicle data.

[0088] For example, historical load data can record the volume of periodic data and the volume of occasional data at different historical moments. This allows for subsequent analysis of the changing trends in the volume of periodic data and occasional data across different historical time periods.

[0089] As an example, historical load data can record the total amount of periodic and occasional data at historical moments.

[0090] It is known that historical load data also records the amount of periodic and occasional data. This allows for analysis of the impact of changes in vehicle data on the adjustment and allocation of target computing resources. For example, it allows for analysis of the impact of changes in the amount of periodic and occasional data on the adjustment and allocation of target computing resources. This provides more adjustment strategies for the predictive allocation of target computing resources.

[0091] Understandably, the historical load data obtained from the platform is not stationary and does not reveal any patterns. However, the training data for time series models needs to be predictable and show trends in order for the model to learn the temporal trends of the historical load data. Therefore, multiple historical load data points cannot be directly used as training data for a time series model; instead, they need to be preprocessed to obtain a predetermined number of stationary sequences.

[0092] A stationary series behaves unchanged over time; its mean and variance are constants independent of time t. Therefore, a stationary series can exhibit data trends. Series stationarity is a prerequisite for time series analysis. A predetermined number of stationary series are used as the training set for the time series model. Each stationary series is equivalent to a training sample.

[0093] During training, the training termination condition can be that the prediction accuracy of the time series model is less than a preset threshold. For example, the preset threshold is 10%. Another termination condition is that the training iterations reach a preset number. Those skilled in the art can set the preset threshold and the preset number of iterations according to the actual situation, so that the time series model learns the data trend without overfitting.

[0094] As an example, a time series model can be an ARIMA (Autoregressive Integrated Moving Average) model. Also denoted as ARIMA(p,d,q), it's a statistical model used for time series forecasting. The parameters of an ARIMA model include the number of autoregressive terms (p), the number of moving average terms (q), and the order (d) of differencing to make it a stationary series. Using a predetermined number of stationary series as the training set for the ARIMA model, the model parameters can be adjusted during training to obtain a trained ARIMA model used to predict the usage of target computing resources for future target time periods.

[0095] As can be seen, in this embodiment, by using a preset number of stationary sequences as a training set to train the time series model, the time series model can learn the data trends in historical load data, thereby enabling the time series model to predict the usage of target computing resources for future target time periods.

[0096] The preprocessing of historical load data in step 220 above may include, for example: Figure 3 The steps shown are as follows:

[0097] Step 221: Slice the historical load data according to a preset time granularity to obtain a preset number of load sample sequences;

[0098] Wherein, the time granularity of the target time period is consistent with the preset time granularity;

[0099] Step 222: Perform a difference operation on a preset number of the load sample sequences to obtain a stationary sequence corresponding to each load sample sequence.

[0100] Each historical load data point is a discrete data point at a specific historical moment. A single historical load data point cannot reflect the data trend. Therefore, it is necessary to slice the historical load data according to a preset time granularity to obtain a preset number of load sample sequences.

[0101] The time granularity of the target time period is consistent with the preset time granularity. In other words, the time granularity at which the historical load data is sliced ​​during the training phase determines the time granularity of the target time period predicted during the prediction phase. That is, the time granularity of the load sample sequence is consistent with the time granularity of the target time period.

[0102] Therefore, the preset time granularity can be determined according to the actual fluctuations in the amount of vehicle data. For example, if the amount of vehicle data varies in different months, the training phase can be sliced ​​by month as the time granularity to obtain 12 load sample sequences. In the prediction phase, the target computing resource usage for the next month can also be predicted by month as the time granularity to obtain the predicted load data for the next month.

[0103] Of course, in addition to using months as the time granularity, days, weeks, quarters, etc. can also be used as the time granularity. Those skilled in the art can determine the preset time granularity based on the fluctuation of data volume and / or resource adjustment cycle.

[0104] As mentioned above, sequence stationarity is a prerequisite for time series analysis. The obtained preset number of load sample sequences are non-stationary. Therefore, it is necessary to perform stationarization processing on the preset number of load sample sequences. For example, each load sample sequence can be subjected to differencing operations, including first-order or multi-order differencing operations, to obtain a stationary sequence corresponding to each load sample sequence. The preset number of stationary sequences can then be used as the training set for supervised training of the time series model.

[0105] This embodiment obtains a training set for the time series model by slicing and stabilizing historical load data. By adjusting the time granularity, different numbers of stationary sequences can be obtained as training data. Furthermore, the time granularity can be adjusted according to fluctuations in vehicle data volume and / or resource adjustment cycles, improving the flexibility of resource allocation.

[0106] In some embodiments, the target computing resources include multiple types, such as any combination of CPU resources, storage resources, and network resources. Thus, the preprocessing of historical load data also includes, for example,... Figure 4 The steps shown are as follows:

[0107] Step 223: Perform statistics on all historical load data according to each target computing resource to obtain historical statistical usage data for each target computing resource;

[0108] Step 224: Determine the priority level of each of the target computing resources in descending order of all the historical statistical usage data.

[0109] There is no specific order of execution between steps 221-222 and steps 223-224; they can be executed simultaneously.

[0110] When the target computing resources include multiple types, the historical load data includes the historical usage of each of the multiple target computing resources. In this way, all historical load data can be statistically analyzed separately for each type of target computing resource to obtain historical statistical usage data for each type of target computing resource.

[0111] Taking two historical load data sets as an example, historical load data A records the CPU resource usage, storage resource usage, and network resource usage at historical time 'a'; historical load data B records the CPU resource usage, storage resource usage, and network resource usage at historical time 'b'. Then, we can statistically analyze the CPU resource usage in historical load data A and historical load data B to obtain historical statistical usage data for CPU resources; statistically analyze the storage resource usage to obtain historical statistical usage data for storage resources; and statistically analyze the network resource usage to obtain historical statistical usage data for network resources.

[0112] Subsequently, the priority level of each target computing resource can be determined by ranking the historical usage data of all target computing resources from highest to lowest.

[0113] For example, the target computing resource with the highest historical usage data has the highest priority. That is, the priority order of target computing resources from high to low is consistent with the order of historical usage data from high to low.

[0114] By analyzing historical usage data for each target computing resource, we can determine which target computing resource is most heavily consumed by vehicle data. Alternatively, we can identify which target computing resource will reach saturation first as vehicle data continues to grow. This allows us to adjust allocation strategies for the most consumed target computing resource, or the highest-priority target computing resource.

[0115] Thus, the resource allocation method provided in this application further includes the step of: adjusting the allocation strategy of the target computing resources according to the priority level.

[0116] As described above, a trained time series model can predict the usage of target computing resources within a future target time period. Based on the predicted load data output by the time series model, an allocation strategy for the target computing resources can be generated. In this embodiment, after determining the priority level of each target computing resource based on historical load data, the allocation strategy can be adjusted according to the priority level to make the allocation strategy more consistent with the actual occupancy of target computing resources by vehicle data.

[0117] In some embodiments, if CPU resources are of the highest priority, meaning that as vehicle data continues to grow, CPU resources reach saturation first compared to other target computing resources, then adjustments to the allocation strategy may include increasing the allocation of memory resources to process the portion of vehicle data exceeding available CPU resources, while storing the remaining portion in memory.

[0118] When the amount of vehicle data to be processed exceeds the available CPU resources, a portion of the vehicle data must be processed first, while the remaining portion is stored in the storage space. Once the portion of vehicle data has been processed, the remaining portion is retrieved from storage for further processing. Therefore, to ensure sufficient storage space for the vehicle data to be processed, the allocated storage space can be further increased based on the allocation strategy generated from the predicted load data.

[0119] As an example, storage space can include memory space and / or cache space. If the storage space includes cache space, then by increasing the allocated cache space, the aforementioned portion of vehicle data can be cached in the cache space instead of memory space, thereby speeding up data reading and improving data processing efficiency. It is understandable that when CPU resources reach saturation first, reasonable resource allocation is needed to alleviate CPU resource saturation. Increasing the allocated cache space can speed up vehicle data processing, thereby alleviating CPU resource saturation.

[0120] In some embodiments, if storage resources have the highest priority, meaning that as vehicle data continues to grow, storage resources reach saturation first compared to other target computing resources, then adjusting the allocation strategy may include using a portion of the allocated storage resources as a cache to speed up the processing of vehicle data.

[0121] Storage resources can include, but are not limited to, memory resources and / or cache resources. When vehicle data exceeds the available storage space, a portion of the allocated storage resources can be used as cache space, or the proportion of cache space in the total storage space can be increased. In this way, the CPU can read vehicle data from the cache space for processing, thus accelerating data processing efficiency. Improved data processing efficiency can alleviate the saturation of storage resources to some extent.

[0122] In some embodiments, if network resources are of the highest priority, meaning that as vehicle data continues to grow, network resources reach saturation first compared to other target computing resources, then adjustments to the allocation strategy may include: acquiring vehicle data in batches, and / or acquiring vehicle data based on different transmission protocols.

[0123] Network resources include, for example, network bandwidth. When the amount of vehicle data to be transmitted exceeds the available network bandwidth, the vehicle data must be transmitted in batches, and / or different transmission protocols must be used to obtain the vehicle data.

[0124] The above embodiments provide how to adjust the allocation strategy when different target computing resources are given the highest priority. Historical statistical usage data for each target computing resource is determined based on historical load data to adjust the allocation strategy generated based on predicted load data, making the allocation strategy more consistent with the actual occupancy of target computing resources by vehicle data.

[0125] Based on any of the above embodiments, this application also provides a resource allocation device applied to an intelligent connected vehicle industry chain platform. The platform is equipped with computing resources used to process collected vehicle data. Figure 5 As shown, a resource allocation device 500 includes:

[0126] Module 510 is used to obtain the target time period to be predicted;

[0127] The prediction module 520 is used to input the target time period into a trained time series model to obtain the prediction load data for the target time period; the prediction load data includes the predicted usage of target computing resources.

[0128] The generation module 530 is used to generate an allocation strategy for the target computing resources based on the predicted load data, and to allocate the target computing resources in the target time period according to the allocation strategy.

[0129] In some embodiments, the device 500 further includes a training module for:

[0130] Obtain multiple historical load data points of the platform; each historical load data point includes the historical usage of the target computing resources at a historical moment;

[0131] The historical load data is preprocessed to obtain a preset number of stationary sequences;

[0132] The stationary sequence is used to perform supervised training on the time series model.

[0133] In some embodiments, the preprocessing includes:

[0134] The historical load data is sliced ​​according to a preset time granularity to obtain a preset number of load sample sequences; wherein, the time granularity of the target time period is consistent with the preset time granularity;

[0135] A differential operation is performed on a preset number of the load sample sequences to obtain a stationary sequence corresponding to each load sample sequence.

[0136] In some embodiments, the target computing resources include multiple types, and the preprocessing further includes:

[0137] All historical load data are statistically analyzed according to each target computing resource to obtain historical statistical usage data for each target computing resource.

[0138] The priority level of each of the target computing resources is determined according to the order of all the historical statistical usage data from high to low.

[0139] The device 500 further includes an adjustment module for...

[0140] The allocation strategy is adjusted according to the priority level.

[0141] In some embodiments, the target computing resources include CPU resources, storage resources, and network resources; the adjustment module is specifically used for:

[0142] If the CPU resources are of the highest priority, the adjustment of the allocation strategy includes: increasing the allocation of storage resources so that the portion of the vehicle data exceeding the available CPU resources is processed, and the other portion is stored in storage space;

[0143] If the storage resource has the highest priority, the adjustment of the allocation strategy includes: using a portion of the allocated storage resource as a cache to speed up the processing of the vehicle data;

[0144] If the network resource has the highest priority, the adjustment of the allocation strategy includes: acquiring the vehicle data in batches, and / or acquiring the vehicle data based on different transmission protocols.

[0145] In some embodiments, the vehicle data includes periodic data and occasional data; the historical load data also includes the amount of periodic data and occasional data at the historical time.

[0146] In some embodiments, the time series model is a differential autoregressive moving average (ARIMA) model.

[0147] The specific implementation process of the functions and roles of each module in the above device can be found in the implementation process of the corresponding steps in the above method, and will not be repeated here.

[0148] Based on the resource allocation method described in any of the above embodiments, this application also provides, as follows: Figure 6 The diagram shows the structure of an electronic device. Figure 6At the hardware level, the electronic device includes a processor, an internal bus, a network interface, memory, and non-volatile storage, and may also include other hardware required for business operations. The processor reads the corresponding computer program from the non-volatile storage into memory and then runs it to implement a resource allocation method described in any of the above embodiments.

[0149] This application also provides a computer storage medium storing a computer program, which, when executed by a processor, can be used to perform the methods described in any of the above embodiments.

[0150] In the several embodiments provided in this application, it should be understood that the disclosed apparatus and methods can also be implemented in other ways. The apparatus embodiments described above are merely illustrative. For example, the flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of apparatus, methods, and computer program products according to various embodiments of this application. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of code containing one or more executable instructions for implementing a specified logical function. It should also be noted that in some alternative implementations, the functions marked in the blocks may occur in a different order than those marked in the drawings. For example, two consecutive blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in a block diagram and / or flowchart, and combinations of blocks in block diagrams and / or flowcharts, can be implemented using a dedicated hardware-based system that performs the specified function or action, or using a combination of dedicated hardware and computer instructions.

[0151] In addition, the functional modules in the various embodiments of this application can be integrated together to form an independent part, or each module can exist independently, or two or more modules can be integrated to form an independent part.

[0152] If the aforementioned functions are implemented as software functional modules and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or a portion of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.

[0153] The above description is merely an embodiment of this application and is not intended to limit the scope of protection of this application. Various modifications and variations can be made to this application by those skilled in the art. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this application should be included within the scope of protection of this application. It should be noted that similar reference numerals and letters in the following figures indicate similar items; therefore, once an item is defined in one figure, it does not need to be further defined and explained in subsequent figures.

[0154] The above description is merely a specific embodiment of this application, but the scope of protection of this application is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the scope of the technology disclosed in this application should be included within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims.

[0155] It should be noted that, in this document, relational terms such as "first" and "second" are used only to distinguish one entity or operation from another, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Furthermore, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitations, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes said element.

Claims

1. A resource allocation method characterized by, The method is applied to a platform within the intelligent connected vehicle industry chain; the platform is equipped with computing resources for processing collected vehicle data; the method includes: Obtain the target time period to be predicted; The target time period is input into a trained time series model to obtain the predicted load data for the target time period; the predicted load data includes the predicted usage of target computing resources; the target computing resources include CPU resources, storage resources, and network resources. The target computing resource allocation strategy is generated based on the predicted load data; Obtain multiple historical load data points of the platform; each historical load data point includes the historical usage of the target computing resources at a historical moment; All historical load data are statistically analyzed for each target computing resource to obtain historical statistical usage data for each target computing resource. The priority level of each target computing resource is determined according to the order of all the historical statistical usage data from high to low. Among them, when the vehicle data increases, the target computing resource with the highest priority level reaches saturation first. Adjusting the allocation strategy according to the priority level includes: if the CPU resource has the highest priority, increasing the allocation of storage resources so that the portion of the vehicle data exceeding the available CPU resources is processed, and the other portion is stored in storage space; if the storage resource has the highest priority, using a portion of the allocated storage resources as a cache to speed up the processing of the vehicle data; if the network resource has the highest priority, acquiring the vehicle data in batches and / or acquiring the vehicle data based on different transmission protocols. The target computing resources are allocated within the target time period according to the adjusted allocation strategy.

2. The method according to claim 1, characterized in that, The training process of the time series model includes: Obtain multiple historical load data points of the platform; each historical load data point includes the historical usage of the target computing resources at a historical moment; The historical load data is preprocessed to obtain a preset number of stationary sequences; The stationary sequence is used to perform supervised training on the time series model.

3. The method according to claim 2, characterized in that, The preprocessing includes: The historical load data is sliced ​​according to a preset time granularity to obtain a preset number of load sample sequences; wherein, the time granularity of the target time period is consistent with the preset time granularity; A differential operation is performed on a preset number of the load sample sequences to obtain a stationary sequence corresponding to each load sample sequence.

4. The method according to claim 1, characterized in that, The vehicle data includes periodic data and occasional data; the historical load data also includes the amount of periodic data and occasional data at the historical time.

5. The method according to claim 1, characterized in that, The time series model is a differential autoregressive moving average (ARIMA) model.

6. A resource allocation device, characterized in that, An application in the intelligent connected vehicle industry chain platform; the platform is equipped with computing resources for processing collected vehicle data; the device includes: The acquisition module is used to acquire the target time period to be predicted; The prediction module is used to input the target time period into a trained time series model to obtain the prediction load data for the target time period; the prediction load data includes the predicted usage of target computing resources; the target computing resources include CPU resources, storage resources, and network resources; The training module is used to acquire multiple historical load data of the platform; each historical load data includes the historical usage of the target computing resources at a historical moment; A generation module is used to generate an allocation strategy for the target computing resources based on the predicted load data; The adjustment module performs statistical analysis on all historical load data for each target computing resource, obtaining historical statistical usage data for each target computing resource, and determines the priority level of each target computing resource in descending order of all historical statistical usage data; wherein, when the vehicle data increases, the target computing resource with the highest priority reaches saturation first; and adjusts the allocation strategy according to the priority level, including: if the CPU resource is the highest priority, increasing the allocation of storage resources so that the portion of the vehicle data exceeding the available CPU resources is processed, and the other portion is stored in storage space; if the storage resource is the highest priority, using a portion of the allocated storage resources as a cache to speed up the processing of the vehicle data; if the network resource is the highest priority, acquiring the vehicle data in batches, and / or acquiring the vehicle data based on different transmission protocols; The generation module is further configured to: allocate the target computing resources within the target time period according to the allocation strategy.

7. An electronic device, characterized in that, The electronic device includes: processor; Memory used to store processor-executable instructions; When the processor invokes the executable instructions, it implements the operation of any one of the methods described in claims 1-5.

8. A computer-readable storage medium, characterized in that, It stores computer instructions that, when executed by a processor, implement the steps of the method according to any one of claims 1-5.

Citation Information

Patent Citations

  • Elastic expansion method based on load regression prediction in cloud environment and readable storage medium

    CN111638959A

  • Information notification method and device, electronic equipment and storage medium

    CN115379164A

  • Internet of vehicles resource allocation method and system

    CN115715021A