User experience prediction method and device, electronic equipment and storage medium
By obtaining a snapshot of the system call sequence and system status and inputting it into a pre-trained prediction model, the problem of insufficient user experience prediction in the prior art is solved, and more accurate user experience prediction and system performance optimization are achieved.
Patent Information
- Application Number
- CN202411513914.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-10-28
- Publication Date
- 2025-02-14
AI Technical Summary
The accuracy of the prior art in user experience prediction still needs to be improved, and it is difficult to accurately predict the impact of the effective supply of system resources on user experience.
By obtaining the pending system call sequence and system status snapshots, input them into the pre-trained resource demand prediction model, resource allocation prediction model and user experience prediction model to obtain the predicted resource demand, resource allocation and user experience.
Improve the accuracy of user experience prediction, and optimize system performance and user experience through more accurate resource requirements and resource allocation information.
Smart Images

Figure CN119443384A_ABST
Abstract
Description
Technical Field
[0001] The present application belongs to the field of computer technology, and specifically relates to a user experience prediction method, device, electronic device and storage medium. Background Art
[0002] User experience is the touchstone of mobile devices, which often depends on the effective, fast and accurate supply of system resources (IO (Input / Output), memory, CPU (Central Processing Unit), etc.). The accuracy of related user experience prediction methods in predicting user experience needs to be improved. Summary of the invention
[0003] In view of the above problems, the present application proposes a user experience prediction method, device, electronic device and storage medium to improve the above problems.
[0004] In a first aspect, an embodiment of the present application provides a user experience prediction method, the method comprising: obtaining a system call sequence to be processed and a system status snapshot to be processed, the system call sequence to be processed comprising multiple system call events associated in time, the system status snapshot to be processed comprising system configuration data and system status data; inputting the system call sequence to be processed into a pre-trained resource demand prediction model to obtain the predicted resource demand output by the resource demand prediction model; inputting the system status snapshot to be processed into a pre-trained resource allocation prediction model to obtain the predicted resource allocation output by the resource allocation prediction model; inputting the predicted resource demand and the predicted resource allocation into a pre-trained user experience prediction model to obtain the predicted user experience output by the user experience model.
[0005] In the second aspect, an embodiment of the present application provides a user experience prediction device, which includes: a data acquisition unit, used to obtain a system call sequence to be processed and a system status snapshot to be processed, wherein the system call sequence to be processed includes multiple system call events associated in time, and the system status snapshot to be processed includes system configuration data and system status data; a first prediction unit, used to input the system call sequence to be processed into a pre-trained resource demand prediction model, and obtain the predicted resource demand output by the resource demand prediction model; a second prediction unit, used to input the system status snapshot to be processed into a pre-trained resource allocation prediction model, and obtain the predicted resource allocation output by the resource allocation prediction model; a third prediction unit, used to input the predicted resource demand and the predicted resource allocation into a pre-trained user experience prediction model, and obtain the predicted user experience output by the user experience model.
[0006] In a third aspect, an embodiment of the present application provides an electronic device, comprising a memory, one or more processors; and one or more programs, wherein the one or more programs are stored in the memory and configured to be executed by the one or more processors, and the one or more programs are configured to execute the above-mentioned method.
[0007] In a fourth aspect, an embodiment of the present application provides a computer-readable storage medium, in which a program code is stored, wherein the above method is executed when the program code is run.
[0008] The embodiments of the present application provide a user experience prediction method, device, electronic device and storage medium. First, a system call sequence to be processed and a system status snapshot to be processed are obtained, wherein the system call sequence to be processed includes multiple system call events associated in time, and the system status snapshot to be processed includes system configuration data and system status data. Then, the system call sequence to be processed is input into a pre-trained resource demand prediction model to obtain the predicted resource demand output by the resource demand prediction model, and the system status snapshot to be processed is input into a pre-trained resource allocation prediction model to obtain the predicted resource allocation output by the resource allocation prediction model. Then, the predicted resource demand and predicted resource allocation are input into a pre-trained user experience prediction model to obtain the predicted user experience output by the user experience model. Through the above method, more accurate resource demand information and resource allocation information can be output through the pre-trained resource demand prediction model and resource allocation prediction model, so that a more accurate user experience can be obtained based on more accurate resource demand information and resource allocation information, thereby improving the accuracy of user experience prediction. BRIEF DESCRIPTION OF THE DRAWINGS
[0009] 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 those skilled in the art, other drawings can be obtained based on these drawings without creative work.
[0010] Figure 1 A schematic diagram of an application scenario of a user experience prediction method proposed in an embodiment of the present application is shown;
[0011] Figure 2 A schematic diagram of an application scenario of a user experience prediction method proposed in an embodiment of the present application is shown;
[0012] Figure 3 A flowchart of a user experience prediction method proposed in an embodiment of the present application is shown;
[0013] Figure 4A flowchart of a user experience prediction method proposed in another embodiment of the present application is shown;
[0014] Figure 5 A schematic diagram showing the process described in step S250 to step S280 in another embodiment of the present application is shown;
[0015] Figure 6 A schematic diagram showing the process described in step S250 to step S280 in another embodiment of the present application is shown;
[0016] Figure 7 A flowchart of a user experience prediction method proposed in another embodiment of the present application is shown;
[0017] Figure 8 A structural block diagram of a user experience prediction device proposed in an embodiment of the present application is shown;
[0018] Fig. 9 A structural block diagram of a user experience prediction device proposed in an embodiment of the present application is shown;
[0019] Fig.10 A structural block diagram of an electronic device for executing a user experience prediction method according to an embodiment of the present application is shown;
[0020] Fig.11 A storage unit in an embodiment of the present application is shown for storing or carrying program codes for implementing the user experience prediction method according to an embodiment of the present application. DETAILED DESCRIPTION
[0021] The following will be combined with the drawings in the embodiments of the present application to clearly and completely describe the technical solutions in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of this application.
[0022] User experience is the touchstone of mobile devices, which often depends on the effective, fast and accurate supply of system resources (IO, memory, CPU, etc.). Many existing technologies have proven that system configurable parameters are the key knobs for resource allocation. This non-invasive adjustment method does not require modification and recompilation of the system source code, and can be quickly adjusted for different workloads, bringing more possibilities for performance tuning and user experience optimization. Therefore, more and more dynamic configuration strategies are added to the operating system, such as the Governor that adjusts the CPU and GPU (Graphic Processing Unit) frequency and the oplus kernel module that adjusts the swappiness parameter value. However, the adjustment space of these configuration parameters is too large, and it is almost impossible to have detailed documents to explain the functional expectations generated by all possible configuration combinations. Therefore, it is difficult to predict and explain the impact of configuration adjustments on user experience.
[0023] Therefore, the inventors proposed the user experience prediction method, device, electronic device and storage medium in the present application. First, obtain a system call sequence to be processed and a snapshot of the system status to be processed, wherein the system call sequence to be processed includes multiple system call events associated in time, and the system status snapshot to be processed includes system configuration data and system status data, and then input the system call sequence to be processed into a pre-trained resource demand prediction model to obtain the predicted resource demand output by the resource demand prediction model, and input the snapshot of the system status to be processed into a pre-trained resource allocation prediction model to obtain the predicted resource allocation output by the resource allocation prediction model, and then input the predicted resource demand and predicted resource allocation into a pre-trained user experience prediction model to obtain the predicted user experience output by the user experience model. Through the above method, more accurate resource demand information and resource allocation information can be output by the pre-trained resource demand prediction model and resource allocation prediction model, so that a more accurate user experience can be obtained based on more accurate resource demand information and resource allocation information, thereby improving the accuracy of user experience prediction.
[0024] In the embodiment of the present application, the user experience prediction method provided can be executed by an electronic device. In this way, all steps of the user experience prediction method provided by the embodiment of the present application can be executed by the electronic device. For example, Figure 1As shown, the processor of the electronic device 100 executes to obtain a system call sequence to be processed and a system status snapshot to be processed, wherein the system call sequence to be processed includes multiple system call events associated in time, and the system status snapshot to be processed includes system configuration data and system status data; the system call sequence to be processed is input into a pre-trained resource demand prediction model to obtain the predicted resource demand output by the resource demand prediction model; the system status snapshot to be processed is input into a pre-trained resource allocation prediction model to obtain the predicted resource allocation output by the resource allocation prediction model; the predicted resource demand and the predicted resource allocation are input into a pre-trained user experience prediction model to obtain the predicted user experience output by the user experience model.
[0025] Furthermore, the user experience prediction method provided in the embodiment of the present application can also be executed by a server (cloud). Correspondingly, in this method executed by the server, the electronic device can obtain the system call sequence to be processed and the system status snapshot to be processed, and send the system call sequence to be processed and the system status snapshot to be processed to the server synchronously, and then the server inputs the system call sequence to be processed into a pre-trained resource demand prediction model in real time to obtain the predicted resource demand output by the resource demand prediction model; inputs the system status snapshot to be processed into a pre-trained resource allocation prediction model to obtain the predicted resource allocation output by the resource allocation prediction model; inputs the predicted resource demand and the predicted resource allocation into a pre-trained user experience prediction model to obtain the predicted user experience output by the user experience model.
[0026] In addition, the electronic device and the server may also perform the steps in collaboration. In this manner, some steps of the user experience prediction method provided by the embodiment of the present application are performed by the electronic device, while other steps are performed by the server.
[0027] For example, Figure 2 As shown, the electronic device 100 can execute the user experience prediction method including: obtaining a system call sequence to be processed and a snapshot of the system status to be processed, and then the server 200 executes the input of the system call sequence to be processed into a pre-trained resource demand prediction model to obtain the predicted resource demand output by the resource demand prediction model; inputting the snapshot of the system status to be processed into a pre-trained resource allocation prediction model to obtain the predicted resource allocation output by the resource allocation prediction model; inputting the predicted resource demand and the predicted resource allocation into a pre-trained user experience prediction model to obtain the predicted user experience output by the user experience model.
[0028] It should be noted that in this method of collaborative execution by the electronic device and the server, the steps respectively executed by the electronic device and the server are not limited to the methods introduced in the above examples. In actual applications, the steps respectively executed by the electronic device and the server can be dynamically adjusted according to actual conditions.
[0029] It should be noted that the electronic device 100 can be Figure 1 and Figure 2 In addition to the smartphone shown in the figure, it can also be a car device, a wearable device, a tablet computer, a laptop computer, a smart speaker, a VR / AR device, etc. The server 200 can be an independent physical server, or a server cluster or a distributed system composed of multiple physical servers.
[0030] The embodiments of the present application will be described in detail below with reference to the accompanying drawings.
[0031] See also Figure 3 The present application embodiment provides a user experience prediction method, which is applied to Figure 1 or Figure 2 The electronic device and / or server shown, the method comprising:
[0032] Step S110: obtaining a system call sequence to be processed and a system state snapshot to be processed, wherein the system call sequence to be processed includes a plurality of system call events associated in time, and the system state snapshot to be processed includes system configuration data and system state data.
[0033] In an embodiment of the present application, the pending system call sequence is a currently acquired system call sequence that can be used to predict resource requirements, and the acquired pending system call sequence includes a system call sequence composed of system call events of all applications currently running on the operating system; the pending system call sequence includes multiple system call events that are associated in time, wherein the association in time means that the multiple system call events are system call events with a time sequence within the same time window. The time sequence here can refer to the time sequence of obtaining multiple system call events, or it can refer to the time sequence of occurrence of multiple system call events, which is not specifically limited here.
[0034] It can be known that an in-depth analysis of the reasons for the poor performance of existing performance prediction models has found that the main reasons why the models cannot be generalized well when switching between different applications are: different QoE (Quality of Experience) indicators of different applications and different data characteristics of different applications. In order to accurately model the resource consumption of applications and ensure the generalization of models, existing methods use more complex learning methods such as meta-learning to train models, which increases the difficulty and cost of model training. Therefore, it is necessary to find a feature data that can well cover all applications, and this feature data can accurately reflect the resource requirements of application loads. System call events are such data. Any application running on the operating system needs to obtain the underlying resource and capability allocation through system calls. In addition, the format of system call data is relatively regular and easy to obtain. Taking the ARMv8 (AArch64) architecture as an example, the system call number is usually placed in the x0 register, and the first six parameters are placed in the x0 to x5 registers respectively. The system call number and system call parameters together constitute the representation of a system call event. Among them, the system call is the way in which programs in user space request the operating system kernel to perform certain operations, such as file operations, process control, etc. It provides an interface for user programs to access kernel resources.
[0035] As a method, you can use performance observation tools such as SystemTap and eBPF to obtain multiple system call events and system resource consumption at the same time. For example, you can use performance observation tools such as SystemTap and eBPF to easily obtain syscall entry and syscall exit kernel events and system resource consumption at the same time. Among them, syscall entry and syscall exit kernel events refer to the aforementioned system call events.
[0036] Optionally, it can be known that, at the configuration level, system configuration affects the user experience through direct allocation of resources (CPU / GPUfreq, etc.) or direct allocation (swappiness, etc.). Direct allocation will have an immediate impact on resource allocation, while the difficulty lies in the potential adjustment of resources brought by indirect allocation. For example, the watermark_scale_factor parameter can control the size (intensity) of memory reclaimed by kswapd when the remaining free memory reaches the low memory watermark, while the dirty_ratio parameter can control the timing of dirty page writeback. These indirect allocations are not actions that will occur at the current moment, but are triggered under a specific system state. Therefore, it can be considered that the impact of system configuration on resource allocation has temporal and spatial semantics, and is strongly related to the system state. In addition, the system configuration space and state space are very large, and the resource allocation and bottleneck state of the system at a certain moment are often determined by a few configurations and indicators. Therefore, it is very necessary to project the high-dimensional data space into a low-dimensional space through dimensionality reduction and other means to increase the effective information density.
[0037] In an embodiment of the present application, the system status snapshot to be processed is a currently acquired system status snapshot that can be used to perform resource allocation prediction; the system configuration data included in the acquired system status snapshot to be processed refers to data that can be used to control the behavior of the operating system, for example, the system configuration data may include swappiness, dirty_ratio, etc., wherein the swappiness value is a kernel parameter of the Linux system, which is used to control the extent to which the system uses swap space when memory is insufficient, and its value ranges from 0 to 100. The larger the value, the more the system tends to use swap space, and the smaller the value, the more the system tends to use physical memory; dirty_ratio refers to the ratio of dirty pages, which is used to measure the degree of modification of memory pages.
[0038] The system status data in the obtained pending system status snapshot refers to data that can reflect the current performance status of the system. For example, the system status data can be cache_miss, alloc_stall, etc., where cache_miss refers to a cache miss, that is, the data is not in the cache; alloc_stall is a term in performance analysis, which mainly focuses on delays or blocking in the memory allocation process.
[0039] As a method, system configuration data and system status data can be obtained through interfaces, tools or commands provided by the operating system. Different data can be obtained in different ways, for example, the current swappiness value can be obtained by reading the / proc / sys / vm / swappiness file; dirty_ratio can be obtained by reading / proc / sys / vm / dirty_ratio; cache_miss can be indirectly obtained by reading relevant statistical information in / proc / meminfo; perf tools can be used to track the calls of memory allocation functions and measure their execution time, etc., which are not specifically limited here.
[0040] In the embodiment of the present application, in response to the data acquisition instruction, the system call sequence to be processed and the system status snapshot to be processed are acquired. The data acquisition instruction may be an instruction for instructing the electronic device or server to start acquiring data such as the system call sequence and the system status snapshot within a preset time period; in the case where the execution subject of the embodiment of the present application is an electronic device, the data acquisition instruction may be an instruction triggered by detecting a specified operation acting on the electronic device, or the data acquisition instruction may also be an instruction sent by other electronic devices that have established a communication connection with the electronic device, which is not specifically limited here.
[0041] As one of the methods, in the case where the data acquisition instruction may be an instruction triggered by detecting a specified operation acting on an electronic device, the specified operation may be a pre-set operation for triggering the electronic device to acquire data, for example, the preset operation may be a sliding operation or a clicking operation acting on a specified position of the electronic device, etc., which is not specifically limited here.
[0042] As another method, when the data acquisition instruction can be an instruction sent by other electronic devices that have established a communication connection with the electronic device, the other electronic devices can be smart phones, car equipment, wearable devices, tablet computers, laptops, smart speakers, VR / AR devices and other devices, which are not specifically limited here.
[0043] Specifically, when the electronic device or server receives a data acquisition instruction, it responds to the data acquisition instruction and starts to acquire the pending system call sequence and pending system status snapshot. Among them, it can be determined whether the data acquisition instruction is received by the instruction identifier. Specifically, an instruction identifier can be set for the data acquisition instruction in advance, and the instruction identifier is used to uniquely identify the data acquisition instruction. When the electronic device or server receives an instruction, its instruction identifier can be identified to determine whether the instruction is a data acquisition instruction.
[0044] Step S120: input the to-be-processed system call sequence into a pre-trained resource demand prediction model to obtain the predicted resource demand output by the resource demand prediction model.
[0045] In an embodiment of the present application, the pre-trained resource demand prediction model is a pre-trained basic model for predicting resource demand corresponding to a system call sequence, and the resource demand prediction model may be an Application-Level Network. Resource demand refers to the demand for system resources by an application at runtime. These resources include CPU, memory, I / O, etc., which are necessary for the execution of the application. Resource demand is dynamic and changes with the behavior and load of the application.
[0046] Specifically, the resource demand here refers to the average resource consumption in the next time window, including CPU usage, memory bandwidth usage, I / O size, etc. These indicators reflect the application's demand for system resources in the next period of time.
[0047] Since multiple system calls may have complex connections, the input of the pre-trained resource demand prediction model is the system call sequence in a time window, and the output is the average resource consumption (such as CPU usage, memory bandwidth usage, I / O size, etc.) in the next time window. The average resource consumption here can be understood as the resource demand in the embodiment of this application.
[0048] After the system call sequence to be processed is obtained, the system call sequence to be processed can be input into a pre-trained resource demand prediction model, so that the resource demand prediction model can infer the corresponding predicted resource demand according to the system call sequence to be processed.
[0049] Step S130: inputting the system state snapshot to be processed into a pre-trained resource allocation prediction model to obtain the predicted resource allocation output by the resource allocation prediction model.
[0050] In an embodiment of the present application, the pre-trained resource allocation prediction model is a pre-trained basic model for predicting the resource allocation corresponding to the system state snapshot, and the resource allocation prediction model can be a Configuration-Level Network, which can be understood as a variational autoencoder. Predicted resource allocation refers to the result of the system allocating resources (such as CPU, memory, I / O, etc.) according to the current configuration and system status. This information usually includes the usage, allocation strategy, priority, etc. of various resources, which determine how the system effectively manages and allocates resources to meet the needs of the application.
[0051] After obtaining the system state snapshot to be processed, the system state snapshot to be processed can be input into a pre-trained resource allocation prediction model, so that the resource demand prediction model can infer its corresponding predicted resource allocation information according to the system state snapshot to be processed.
[0052] Step S140: input the predicted resource demand and the predicted resource allocation into a pre-trained user experience prediction model to obtain the predicted user experience output by the user experience model.
[0053] In an embodiment of the present application, the pre-trained user experience prediction model may be a pre-trained lightweight model for predicting the user experience corresponding to resource demand information and resource allocation information, and the user experience prediction model may be a Task-Specific MLP header. Predicting user experience refers to a quantitative indicator for measuring the quality of user experience, which may include response time, throughput, error rate, etc. By predicting these indicators, the system can better understand the user experience when using the application and make corresponding optimizations.
[0054] After the predicted resource demand and predicted resource allocation are obtained, the predicted resource demand and predicted resource allocation can be input into a pre-trained user experience prediction model, so that the user experience prediction model can infer its corresponding user experience indicators based on the predicted resource demand and predicted resource allocation.
[0055] A user experience prediction method provided in the present application can output more accurate resource demand information and resource allocation information through a pre-trained resource demand prediction model and a resource allocation prediction model, so that a more accurate user experience can be obtained based on the more accurate resource demand information and resource allocation information, thereby improving the accuracy of user experience prediction.
[0056] See also Figure 4 The present application embodiment provides a user experience prediction method, which is applied to Figure 1 or Figure 2 The electronic device and / or server shown, the method comprising:
[0057] Step S210: Acquire a first training data set and a second training data set, wherein the first training data set includes a plurality of system call sequences and resource consumption corresponding to each of the plurality of system call sequences, and the second training data set includes a plurality of system status snapshots.
[0058] In an embodiment of the present application, each of the multiple system call sequences included in the first training data set includes multiple system call events that are temporally associated. Temporally associated here also refers to the multiple system call events being system call events with a time sequence within the same time window. The time sequence here may refer to the time sequence of obtaining multiple system call events, or may refer to the time sequence of occurrence of multiple system call events, which is not specifically limited here. Specifically, as diverse application loads as possible are run on the system to collect various possible system call sequences and resource consumption corresponding to the system call sequences as the first training data set.
[0059] The multiple system call sequences included in the first training data set may be system call sequences obtained in different time windows; or, they may be system call sequences obtained in the same time window. In this case, the number of system call events included in different system call sequences is different, or at least one of the multiple system call events included in different system call sequences is different, which is not specifically limited here. The time window defines the scope of historical information considered by the model. A larger time window can capture more historical information, but may also introduce irrelevant noise; a smaller time window may not capture enough contextual information. Therefore, the size of the time window is a hyperparameter of the model and needs to be adjusted during the training phase.
[0060] The system status snapshots included in the second training data set are all composed of system configuration data and system status data.
[0061] As a method, the first training data set and the second training data set may be pre-stored in a preset storage area. When the first training data set and the second training data set need to be obtained, the first training data set and the second training data set may be obtained from the preset storage area.
[0062] Step S220: training a first model to be trained based on the first training data set to obtain the resource demand prediction model, where the first model to be trained is an application layer network model.
[0063] In an embodiment of the present application, the first model to be trained is an acquired application layer neural network model that needs to be trained.
[0064] After obtaining the first training data set and the second training data set, the first model to be trained can be iteratively trained using the first training data set, and the first model to be trained after the iterative training is completed is used as the resource demand prediction model in the aforementioned embodiment.
[0065] As one approach, the multiple system call sequences are input into the first model to be trained, and the predicted resource requirements corresponding to each of the multiple system call sequences output by the first model to be trained are obtained; a first loss is determined based on the resource consumption and predicted resource requirements corresponding to each of the multiple system call sequences; and the first model to be trained is iteratively trained based on the first loss until a training end condition is met, thereby obtaining the resource requirement prediction model.
[0066] Among them, if one sample is trained at a time, a loss value will be calculated for each sample, and this loss value is usually the square of the difference between the predicted value and the true value. If it is batch training, a total loss value will be calculated for a batch of data, which is usually the mean of the losses of all samples in the batch. Therefore, in an embodiment of the present application, the first loss can be one or more. If one sample is trained at a time, the first loss may refer to the loss corresponding to each system call sequence, that is, the first loss includes multiple losses; if a batch of samples is trained at a time, the first loss may refer to the loss corresponding to the first training data set, that is, the first loss includes one loss.
[0067] The training end condition is a pre-set condition that represents the end of model training. For example, the training end condition can be set to when the number of training iterations reaches a preset number, or the training end condition can be set to when the loss value reaches a preset loss value and no longer decreases, etc. No specific limitation is made here.
[0068] After obtaining the first training data set, the multiple system call sequences included in the first training data set can be input into the first model to be trained in sequence, so that the first model to be trained can derive the multiple system call sequences in sequence and output the predicted resource requirements corresponding to each system call sequence.
[0069] After obtaining the predicted resource demand corresponding to each system call sequence, the loss can be calculated based on the preset loss function, the predicted resource demand corresponding to each system call sequence and the resource consumption to obtain the first loss. Then, the first model to be trained can be iteratively trained based on the calculated first loss until the training end condition is met. The first model to be trained that meets the training end condition is used as the resource demand prediction model.
[0070] In the embodiment of the present application, the system call sequence included in the first training data set is an acquired historical system call sequence, and the historical system call sequence is a system call event sequence within a time window. Therefore, when the first model to be trained is iteratively trained based on the first training data set, the size of the time window is adjusted as a hyperparameter of the first model to be trained.
[0071] Step S230: training a second model to be trained based on the second training data set to obtain the resource allocation prediction model, where the second model to be trained is a configuration layer network model.
[0072] In an embodiment of the present application, the second model to be trained is an acquired configuration layer neural network model that needs to be trained.
[0073] After obtaining the first training data set and the second training data set, the second model to be trained can be iteratively trained using the second training data set, and the second model to be trained after the iterative training is used as the resource allocation prediction model in the aforementioned embodiment.
[0074] As a method, the second model to be trained includes an encoder and a decoder. The multiple system state snapshots are input into the encoder to obtain multiple latent variables corresponding to the multiple system state snapshots output by the encoder, wherein one system state snapshot corresponds to one latent variable, and the latent variable is used to characterize the resource allocation information corresponding to each system state snapshot; the multiple latent variables are input into the decoder to obtain multiple original data corresponding to the multiple latent variables output by the decoder, wherein one latent variable corresponds to one original data, and the original data is the data obtained after the decoder reconstructs the latent variable; based on the multiple system state snapshots and the multiple original data, a second loss is determined, and the second loss includes a reconstruction loss and a KL divergence; based on the second loss, the second model to be trained is iteratively trained until the training end condition is met to obtain the resource allocation prediction model.
[0075] The encoder refers to MLP Encoder, and the decoder refers to MLP Decoder. The second loss can be one or more. If one sample is trained at a time, the second loss can refer to the loss corresponding to each system state snapshot, that is, the second loss includes multiple losses; if a batch of samples are trained at a time, the second loss can refer to the loss corresponding to the second training data set, that is, the second loss includes one loss.
[0076] In the embodiment of the present application, the second loss includes reconstruction loss and KL divergence. Among them, reconstruction loss refers to the difference between the reconstructed original data and the real original data; KL divergence refers to the difference between the distribution of the low-dimensional latent variables output by the model and the prior distribution. That is, the reconstruction loss can be determined based on the original data and the system state snapshot; KL divergence can be determined based on the latent variables output by the second model to be trained.
[0077] The training end condition is a pre-set condition that indicates the end of model training. For example, the training end condition can be set to when the number of training iterations reaches a preset number, or when the loss value reaches a preset loss value and no longer decreases, etc., which is not specifically limited here. Optionally, the training end conditions corresponding to the first model to be trained and the second model to be trained can be the same or different, which is not specifically limited here.
[0078] As a method, after obtaining the second training data set, multiple system state snapshots included in the second training data set can be input into the MLP Encoder of the second model to be trained in sequence. The MLP Encoder takes the system state snapshot (system configuration and state data) as input and outputs the mean and variance of low-dimensional latent variables. These latent variables capture the main features of the input data, and then uses reparameterization techniques (usually random sampling based on the mean and variance) to obtain the latent variable z.
[0079] Then the MLP Decoder of the second model to be trained takes the low-dimensional latent variable z as input, reconstructs the original system configuration and state data, and calculates the reconstruction loss by comparing the difference between the reconstructed data and the original data.
[0080] Specifically, in an embodiment of the present application, after obtaining the second training data set, the multiple system state snapshots included in the second training data set can be input into the second model to be trained in sequence, so that the second model to be trained can derive the multiple system state snapshots in sequence, and output the predicted resource allocation and original data corresponding to each system state snapshot.
[0081] After obtaining the predicted resource allocation and original data corresponding to each system state snapshot, the loss can be calculated based on the preset loss function, the predicted resource allocation corresponding to each system state snapshot, and the original data to obtain a second loss. The second model to be trained can then be iteratively trained based on the calculated second loss until the training end condition is met. The second model to be trained that meets the training end condition is used as a resource allocation prediction model.
[0082] As another embodiment, the second model to be trained further includes a long short-term memory controller. The plurality of system state snapshots are input into the long short-term memory controller to obtain a plurality of time information corresponding to the plurality of system state snapshots output by the long short-term memory controller; the plurality of system state snapshots and the plurality of time information are input into the encoder to obtain a plurality of potential variables corresponding to the plurality of system state snapshots output by the encoder.
[0083] It can be known that in order to capture the temporal semantic information in the system configuration and status data, an LSTM layer can be added to the second model to be trained. The LSTM layer can process time series data and remember the temporal dependencies therein. The output of the LSTM layer is combined with the output of the MLP Encoder and used together to predict or optimize resource allocation information.
[0084] The long short-term memory controller in the embodiment of the present application refers to the LSTM layer added above, which is also the LSTM Controller described below.
[0085] Specifically, the resource allocation information here is output by the configuration layer model, which combines MLP Encoder, MLP Decoder and LSTM Controller. MLP Encoder and Decoder are responsible for mapping system configuration and status data to a low-dimensional latent variable space and reconstructing it back to the original data to extract spatial semantic information; while LSTM Controller is used to obtain and memorize the time information in the time series data and extract the time semantics.
[0086] Ultimately, the resource allocation information output by the configuration layer model is based on the current system configuration and system status, obtained through model learning and reasoning. This information can help the system better understand the resource requirements of applications and make more reasonable resource allocation decisions to optimize system performance and resource utilization.
[0087] Step S240: Train the third model to be trained based on the third training data set to obtain the user experience prediction model, wherein the third model to be trained is a lightweight multi-layer perceptron network model, wherein the third training data set is determined based on the output of the first model to be trained and the output of the second model to be trained.
[0088] In an embodiment of the present application, the third model to be trained is an acquired lightweight multi-layer perceptron neural network model that needs to be trained.
[0089] As a method, the predicted resource requirements corresponding to each of the multiple system call sequences, the multiple potential variables corresponding to the multiple system state snapshots, and the multiple user experiences are obtained as a third training data set, wherein one user experience corresponds to one predicted resource requirement and one potential variable; the predicted resource requirements corresponding to the multiple potential variables and the multiple system call sequences are input into the third model to be trained, and multiple predicted user experiences output by the third model to be trained are obtained, wherein one predicted user experience corresponds to one predicted resource requirement and one potential variable; a third loss is determined based on the multiple user experiences and the multiple predicted user experiences; the third model to be trained is iteratively trained based on the third loss until the training end condition is met, so as to obtain the user experience prediction model.
[0090] The predicted resource requirements corresponding to the multiple system call sequences can be obtained by inputting the multiple system call sequences into the resource requirement prediction model, or by training the resource requirement prediction model based on the first training data set. Similarly, the multiple potential variables corresponding to the multiple system state snapshots can be obtained by inputting the multiple system state snapshots into the resource allocation prediction model, or by training the resource allocation prediction model based on the second training data set.
[0091] In the embodiment of the present application, the third loss may be one or more. If one sample is trained at a time, the third loss may refer to the loss corresponding to each user experience, that is, the third loss includes multiple losses; if a batch of samples are trained at a time, the third loss may refer to the loss corresponding to the third training data set, that is, the third loss includes one loss.
[0092] The training end condition is a pre-set condition that indicates the end of model training. For example, the training end condition can be set to when the number of training iterations reaches a preset number, or when the loss value reaches a preset loss value and no longer decreases, etc., which is not specifically limited here. Optionally, the training end conditions corresponding to the first model to be trained, the second model to be trained, and the third model to be trained can be the same or different, which is not specifically limited here.
[0093] After obtaining the third training data set in the above manner, the predicted resource demands corresponding to each of the multiple latent variables and the multiple system call sequences included in the third training data set can be input into the third model to be trained in turn, so that the second model to be trained can derive the predicted resource demands corresponding to each of the multiple latent variables and the multiple system call sequences in turn, and output the predicted user experience corresponding to the predicted resource demands corresponding to each latent variable and system call sequence.
[0094] After obtaining the predicted user experience corresponding to the predicted resource demand corresponding to each latent variable and system call sequence, the third loss can be obtained based on the preset loss function, the predicted user experience corresponding to the predicted resource demand corresponding to each latent variable and system call sequence, and the user experience. Then, the third model to be trained can be iteratively trained based on the calculated third loss until the training end condition is met, and the third model to be trained that meets the training end condition is used as the resource allocation prediction model.
[0095] Step S250: obtaining a system call sequence to be processed and a system state snapshot to be processed, wherein the system call sequence to be processed includes a plurality of system call events associated in time, and the system state snapshot to be processed includes system configuration data and system state data.
[0096] In an embodiment of the present application, multiple system call events within a preset time window are obtained as the system call sequence to be processed; and system configuration data and system status data at the current moment are obtained as the system status snapshot to be processed.
[0097] The preset time window is a preset time window size for obtaining system call events. When obtaining a pending system call sequence, multiple system call events within the preset time window may be obtained as the current pending system call sequence.
[0098] Step S260: input the to-be-processed system call sequence into a pre-trained resource demand prediction model to obtain the predicted resource demand output by the resource demand prediction model.
[0099] Step S270: input the system state snapshot to be processed into a pre-trained resource allocation prediction model to obtain the predicted resource allocation output by the resource allocation prediction model.
[0100] Step S280: input the predicted resource demand and the predicted resource allocation into a pre-trained user experience prediction model to obtain the predicted user experience output by the user experience model.
[0101] Exemplarily, the schematic diagram of the process described in step S250 to step S280 can be as follows: Figure 5 As shown, after obtaining the pending system call sequence and the pending system state snapshot, the pending system call sequence is input into the resource demand prediction model, and the resource demand prediction model outputs a resource demand vector; the pending system state snapshot is input into the encoder of the resource allocation prediction model, and the resource allocation vector output by the encoder is obtained, and then the resource demand vector and the resource allocation vector are input into the user experience prediction model to obtain the predicted user experience.
[0102] Or, if Figure 6 As shown, after obtaining the system call sequence to be processed and the system state snapshot to be processed, the system call sequence to be processed is input into the resource demand prediction model, and the resource demand prediction model outputs a resource demand vector; the system state snapshot to be processed is input into the encoder and the long short-term memory controller of the resource allocation prediction model, and the resource allocation vector output by the encoder based on the output of the long short-term memory controller and the system state snapshot to be processed is obtained, and then the resource demand vector and the resource allocation vector are input into the user experience prediction model to obtain the predicted user experience.
[0103] A user experience prediction method provided in the present application can output more accurate resource demand information and resource allocation information through a pre-trained resource demand prediction model and a resource allocation prediction model, so that a more accurate user experience can be obtained based on the more accurate resource demand information and resource allocation information, thereby improving the accuracy of user experience prediction.
[0104] See also Figure 7 The present application embodiment provides a user experience prediction method, which is applied to Figure 1 or Figure 2 The electronic device and / or server shown, the method comprising:
[0105] Step S310: obtaining a system call sequence to be processed and a system state snapshot to be processed, wherein the system call sequence to be processed includes a plurality of system call events associated in time, and the system state snapshot to be processed includes system configuration data and system state data.
[0106] Step S320: input the to-be-processed system call sequence into a pre-trained resource demand prediction model to obtain the predicted resource demand output by the resource demand prediction model.
[0107] Step S330: input the system state snapshot to be processed into a pre-trained resource allocation prediction model to obtain the predicted resource allocation output by the resource allocation prediction model.
[0108] Step S340: input the predicted resource demand and the predicted resource allocation into a pre-trained user experience prediction model to obtain the predicted user experience output by the user experience model.
[0109] In an embodiment of the present application, when the user experience indicator changes, it is only necessary to quickly fine-tune the user experience model based on the experience pool to achieve cross-task generalization capabilities.
[0110] Step S350: If the predicted user experience does not meet a preset experience condition, at least one configuration data in the system configuration data is rolled back to obtain the rolled-back system configuration data.
[0111] In the embodiment of the present application, the preset experience condition is understood as a preset user experience indicator, or a change direction of a preset user experience indicator, etc., which is not specifically limited here. After the current predicted user experience is obtained through the user experience prediction model, the predicted user experience can be compared with the preset experience condition. If the predicted user experience does not meet the preset experience condition, one or more configurations in the system configuration data can be rolled back.
[0112] Step S360: taking the rolled-back system configuration data and the system status data as the system status snapshot to be processed.
[0113] In an embodiment of the present application, the rolled-back system configuration data and system status data are used as new system status snapshots to be processed, and their corresponding predicted resource allocations are re-obtained through a resource allocation prediction model, and then their corresponding predicted user experience can be re-obtained through a user experience prediction model.
[0114] That is to say, in an embodiment of the present application, when the dynamic configuration strategy in the system takes effect, the configuration change will first be submitted to the prediction model (referring to at least one of the aforementioned resource allocation prediction model, resource demand prediction model, and user experience prediction model) for prediction, and the changed user experience prediction will be output. If the predicted user experience shows a deteriorating trend, one or more configuration changes are rolled back and predicted again. This method can avoid the negative effects caused by multiple configuration changes and give priority to change strategies that are beneficial to the user experience. At the same time, the data generated during each round of prediction and operation: system resource requirements v1, system resource allocation v2, and actual user experience changes will be put into the experience pool as the self-update training data of the Task-Specific MLP Header, and retrained during the idle time period of the electronic device.
[0115] A user experience prediction method provided in the present application can effectively identify the competition and cooperation between resources caused by the simultaneous adjustment of multiple system configuration parameters, and can further predict the changes in user experience caused by different system configurations under different system states through a user experience prediction model, thereby improving the generalization of the prediction model.
[0116] See also Figure 8 The user experience prediction device 400 provided in the embodiment of the present application runs on Figure 1 or Figure 2 The electronic device and / or server shown, the device 400 includes:
[0117] The data acquisition unit 410 is used to acquire a pending system call sequence and a pending system state snapshot, wherein the pending system call sequence includes multiple system call events associated in time, and the pending system state snapshot includes system configuration data and system state data.
[0118] As a method, the data acquisition unit 410 is specifically used to acquire multiple system call events within a preset time window as the system call sequence to be processed; and acquire system configuration data and system status data at the current moment as the system status snapshot to be processed.
[0119] As another method, the data acquisition unit 410 is also used to roll back at least one of the system configuration data to obtain the rolled-back system configuration data if the predicted user experience does not meet the preset experience condition; and use the rolled-back system configuration data and the system status data as the system status snapshot to be processed.
[0120] The first prediction unit 420 is used to input the system call sequence to be processed into a pre-trained resource demand prediction model to obtain the predicted resource demand output by the resource demand prediction model.
[0121] The second prediction unit 430 is used to input the system state snapshot to be processed into a pre-trained resource allocation prediction model to obtain the predicted resource allocation output by the resource allocation prediction model.
[0122] The third prediction unit 440 is used to input the predicted resource demand and the predicted resource allocation into a pre-trained user experience prediction model to obtain the predicted user experience output by the user experience model.
[0123] See also Fig. 9 , the apparatus 400 may further include:
[0124] The model training unit 450 is used to obtain a first training data set and a second training data set, wherein the first training data set includes multiple system call sequences and the resource consumption corresponding to each of the multiple system call sequences, and the second training data set includes multiple system status snapshots; based on the first training data set, the first model to be trained is trained to obtain the resource demand prediction model, and the first model to be trained is an application layer network model; based on the second training data set, the second model to be trained is trained to obtain the resource allocation prediction model, and the second model to be trained is a configuration layer network model; based on the third training data set, the third model to be trained is trained to obtain the user experience prediction model, and the third model to be trained is a lightweight multi-layer perceptron network model, wherein the third training data set is determined based on the output of the first model to be trained and the output of the second model to be trained.
[0125] As a method, the model training unit 450 is specifically used to input the multiple system call sequences into the first model to be trained, obtain the predicted resource requirements corresponding to each of the multiple system call sequences output by the first model to be trained; determine the first loss based on the resource consumption and predicted resource requirements corresponding to each of the multiple system call sequences; iteratively train the first model to be trained based on the first loss until the training end condition is met, and obtain the resource requirement prediction model.
[0126] As another embodiment, the second model to be trained includes an encoder and a decoder; the model training unit 450 is specifically used to input the multiple system state snapshots into the encoder, obtain multiple latent variables corresponding to the multiple system state snapshots output by the encoder, wherein one system state snapshot corresponds to one latent variable, and the latent variable is used to characterize the resource allocation information corresponding to each system state snapshot; input the multiple latent variables into the decoder, obtain multiple original data corresponding to the multiple latent variables output by the decoder, wherein one latent variable corresponds to one original data, and the original data is the data obtained after the decoder reconstructs the latent variable; based on the multiple system state snapshots and the multiple original data, determine a second loss, the second loss includes a reconstruction loss and a KL divergence; based on the second loss, iteratively train the second model to be trained until the training end condition is met to obtain the resource allocation prediction model.
[0127] Optionally, the second model to be trained also includes a long short-term memory controller; the model training unit 450 is also specifically used to input the multiple system state snapshots into the long short-term memory controller, and obtain multiple time information corresponding to the multiple system state snapshots output by the long short-term memory controller; input the multiple system state snapshots and the multiple time information into the encoder, and obtain multiple potential variables corresponding to the multiple system state snapshots output by the encoder.
[0128] Optionally, the model training unit 450 is also specifically used to obtain the predicted resource requirements corresponding to each of the multiple system call sequences, the multiple potential variables corresponding to the multiple system state snapshots, and multiple user experiences as a third training data set, wherein one user experience corresponds to one predicted resource requirement and one potential variable; input the multiple potential variables and the predicted resource requirements corresponding to each of the multiple system call sequences into the third model to be trained, and obtain multiple predicted user experiences output by the third model to be trained, wherein one predicted user experience corresponds to one predicted resource requirement and one potential variable; determine a third loss based on the multiple user experiences and the multiple predicted user experiences; and iteratively train the third model to be trained based on the third loss until the training end condition is met to obtain the user experience prediction model.
[0129] It should be noted that the device embodiment in the present application corresponds to the aforementioned method embodiment. The specific principles in the device embodiment can be found in the contents of the aforementioned method embodiment and will not be repeated here.
[0130] The following will be combined Fig.10 An electronic device or server provided in the present application is described.
[0131] See also Fig.10 Based on the above-mentioned user experience prediction method and device, the embodiment of the present application also provides another electronic device or server 800 that can execute the above-mentioned user experience prediction method. The electronic device or server 800 includes one or more (only one is shown in the figure) processors 802, a memory 804 and a network module 806 that are coupled to each other. Among them, the memory 804 stores a program that can execute the content of the above-mentioned embodiment, and the processor 802 can execute the program stored in the memory 804.
[0132] Among them, the processor 802 may include one or more processing cores. The processor 802 uses various interfaces and lines to connect various parts of the entire electronic device 800, and executes various functions and processes data of the electronic device or server 800 by running or executing instructions, programs, code sets or instruction sets stored in the memory 804, and calling data stored in the memory 804. Optionally, the processor 802 can be implemented in at least one hardware form of digital signal processing (Digital Signal Processing, DSP), field programmable gate array (Field-Programmable Gate Array, FPGA), and programmable logic array (Programmable Logic Array, PLA). The processor 802 can integrate one or a combination of a central processing unit (Central Processing Unit, CPU), a graphics processing unit (Graphics Processing Unit, GPU) and a modem. Among them, the CPU mainly processes the operating system, user interface and application programs; the GPU is responsible for rendering and drawing display content; and the modem is used to process wireless communications. It can be understood that the above-mentioned modem may not be integrated into the processor 802, but may be implemented separately through a communication chip.
[0133] The memory 804 may include a random access memory (RAM) or a read-only memory (ROM). The memory 804 may be used to store instructions, programs, codes, code sets or instruction sets. The memory 804 may include a program storage area and a data storage area, wherein the program storage area may store instructions for implementing an operating system, instructions for implementing at least one function (such as a touch function, a sound playback function, an image playback function, etc.), instructions for implementing the following various method embodiments, etc. The data storage area may also store data (such as a phone book, audio and video data, chat record data) created by the electronic device 800 during use.
[0134] The network module 806 is used to receive and send electromagnetic waves, realize the mutual conversion between electromagnetic waves and electrical signals, so as to communicate with a communication network or other devices, such as communicating with electronic devices. The network module 806 may include various existing circuit elements for performing these functions, such as antennas, radio frequency transceivers, digital signal processors, encryption / decryption chips, user identity modules (SIM) cards, memories, etc. The network module 806 may communicate with various networks such as the Internet, corporate intranets, wireless networks, or communicate with other devices via wireless networks. The above-mentioned wireless networks may include cellular telephone networks, wireless local area networks, or metropolitan area networks. For example, the network module 806 may exchange information with a base station.
[0135] Please refer to Fig.11 , which shows a structural block diagram of a computer-readable storage medium provided in an embodiment of the present application. The computer-readable storage medium 900 stores program codes, which can be called by a processor to execute the method described in the above method embodiment.
[0136] The computer-readable storage medium 900 may be an electronic memory such as a flash memory, an EEPROM (electrically erasable programmable read-only memory), an EPROM, a hard disk, or a ROM. Optionally, the computer-readable storage medium 900 includes a non-transitory computer-readable storage medium. The computer-readable storage medium 900 has storage space for program code 910 that performs any method step in the above method. These program codes can be read from or written to one or more computer program products. The program code 910 can be compressed, for example, in an appropriate form.
[0137] The present application provides a user experience prediction method, device, electronic device and storage medium, which first obtains a system call sequence to be processed and a snapshot of the system state to be processed, wherein the system call sequence to be processed includes multiple system call events associated in time, and the system state snapshot to be processed includes system configuration data and system state data, and then inputs the system call sequence to be processed into a pre-trained resource demand prediction model to obtain the predicted resource demand output by the resource demand prediction model, and inputs the snapshot of the system state to be processed into a pre-trained resource allocation prediction model to obtain the predicted resource allocation output by the resource allocation prediction model, and then inputs the predicted resource demand and predicted resource allocation into a pre-trained user experience prediction model to obtain the predicted user experience output by the user experience model. Through the above method, more accurate resource demand information and resource allocation information can be output through the pre-trained resource demand prediction model and resource allocation prediction model, so that a more accurate user experience can be obtained based on more accurate resource demand information and resource allocation information, thereby improving the accuracy of user experience prediction.
[0138] The embodiments of the present invention are described above in conjunction with the accompanying drawings, but the present invention is not limited to the above-mentioned specific implementation modes, which are merely illustrative rather than restrictive. Under the guidance of the present invention, ordinary technicians in this field can also make many forms without departing from the scope of protection of the present invention and the claims, all of which are within the protection of the present invention.
Claims
1. A method for predicting user experience, characterized in that: The method comprises: Acquire a pending system call sequence and a pending system state snapshot, wherein the pending system call sequence includes a plurality of system call events associated in time, and the pending system state snapshot includes system configuration data and system state data; Inputting the to-be-processed system call sequence into a pre-trained resource demand prediction model to obtain predicted resource demand output by the resource demand prediction model; Inputting the system state snapshot to be processed into a pre-trained resource allocation prediction model to obtain predicted resource allocation output by the resource allocation prediction model; The predicted resource demand and the predicted resource allocation are input into a pre-trained user experience prediction model to obtain the predicted user experience output by the user experience model.
2. The method according to claim 1, characterized in that Before obtaining the pending system call event sequence and the pending system state snapshot, the following step is also included: Acquire a first training data set and a second training data set, wherein the first training data set includes a plurality of system call sequences and resource consumptions corresponding to the plurality of system call sequences, and the second training data set includes a plurality of system state snapshots; Training a first model to be trained based on the first training data set to obtain the resource demand prediction model, wherein the first model to be trained is an application layer network model; Training a second model to be trained based on the second training data set to obtain the resource allocation prediction model, where the second model to be trained is a configuration layer network model; The third model to be trained is trained based on the third training data set to obtain the user experience prediction model, wherein the third model to be trained is a lightweight multi-layer perceptron network model, wherein the third training data set is determined based on the output of the first model to be trained and the output of the second model to be trained.
3. The method according to claim 2, characterized in that The step of training the first model to be trained based on the first training data set to obtain the resource demand prediction model includes: Inputting the multiple system call sequences into the first model to be trained, and obtaining predicted resource requirements corresponding to each of the multiple system call sequences output by the first model to be trained; Determining a first loss based on resource consumption and predicted resource demand corresponding to each of the plurality of system call sequences; The first model to be trained is iteratively trained based on the first loss until a training end condition is met, thereby obtaining the resource demand prediction model.
4. The method according to claim 2, characterized in that: The second model to be trained includes an encoder and a decoder; and the second model to be trained is trained based on the second training data set to obtain the resource allocation prediction model, including: Inputting the multiple system state snapshots into the encoder, obtaining multiple latent variables corresponding to the multiple system state snapshots output by the encoder, wherein one system state snapshot corresponds to one latent variable, and the latent variable is used to characterize resource allocation information corresponding to each system state snapshot; Inputting the multiple latent variables into the decoder, obtaining multiple original data corresponding to the multiple latent variables output by the decoder, wherein one latent variable corresponds to one original data, and the original data is data obtained after the decoder reconstructs the latent variables; Determine a second loss based on the plurality of system state snapshots and the plurality of original data, the second loss comprising a reconstruction loss and a KL divergence; The second model to be trained is iteratively trained based on the second loss until a training end condition is met, thereby obtaining the resource allocation prediction model.
5. The method according to claim 4, characterized in that The second model to be trained also includes a long short-term memory controller; the inputting the multiple system state snapshots into the encoder to obtain multiple potential variables corresponding to the multiple system state snapshots output by the encoder includes: Inputting the plurality of system state snapshots into the long short-term memory controller, and acquiring a plurality of time information corresponding to the plurality of system state snapshots output by the long short-term memory controller; The multiple system state snapshots and the multiple time information are input into the encoder, and multiple potential variables corresponding to the multiple system state snapshots output by the encoder are obtained.
6. The method according to claim 2, characterized in that The step of training the third model to be trained based on the third training data set to obtain the user experience prediction model includes: Acquire predicted resource requirements corresponding to each of the plurality of system call sequences, a plurality of potential variables corresponding to the plurality of system state snapshots, and a plurality of user experiences as a third training data set, wherein one predicted resource requirement and one potential variable correspond to one user experience; Inputting the predicted resource requirements corresponding to the multiple latent variables and the multiple system call sequences into the third model to be trained, and obtaining multiple predicted user experiences output by the third model to be trained, wherein one predicted user experience corresponds to one predicted resource requirement and one latent variable; determining a third loss based on the plurality of user experiences and the plurality of predicted user experiences; The third model to be trained is iteratively trained based on the third loss until a training end condition is met, thereby obtaining the user experience prediction model.
7. The method according to claim 1, characterized in that The obtaining of the pending system call event sequence and the pending system state snapshot includes: Acquire multiple system call events within a preset time window as the system call sequence to be processed; The system configuration data and system status data at the current moment are obtained as the system status snapshot to be processed.
8. The method according to claim 7, characterized in that After inputting the predicted resource demand and the predicted resource allocation into a pre-trained user experience prediction model and obtaining the predicted user experience output by the user experience model, the method further includes: If the predicted user experience does not meet the preset experience condition, at least one configuration data in the system configuration data is rolled back to obtain the rolled-back system configuration data; The rolled-back system configuration data and the system status data are used as the system status snapshot to be processed.
9. A user experience prediction device, characterized in that: The device comprises: A data acquisition unit, used to acquire a pending system call sequence and a pending system state snapshot, wherein the pending system call sequence includes a plurality of system call events associated in time, and the pending system state snapshot includes system configuration data and system state data; A first prediction unit, configured to input the to-be-processed system call sequence into a pre-trained resource demand prediction model, and obtain a predicted resource demand output by the resource demand prediction model; A second prediction unit is used to input the system state snapshot to be processed into a pre-trained resource allocation prediction model to obtain the predicted resource allocation output by the resource allocation prediction model; The third prediction unit is used to input the predicted resource demand and the predicted resource allocation into a pre-trained user experience prediction model to obtain the predicted user experience output by the user experience model.
10. An electronic device, characterized in that: The method comprises a memory and one or more processors; one or more programs are stored in the memory and configured so that the one or more processors execute the method according to any one of claims 1 to 8.
11. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores program code, wherein when the program code is executed by a processor, the method according to any one of claims 1 to 8 is executed.