Quantity evaluation method and device, electronic equipment, medium and computer program product

By acquiring relationship models and simulating user operations, evaluating resource occupancy and user experience data of cloud desktops, the one-sidedness and inaccuracy of cloud desktop number evaluation in the existing technology is solved, and a more accurate assessment of cloud desktop concurrency count is achieved.

CN119938464APending Publication Date: 2025-05-06CHINA MOBILE (SUZHOU) SOFTWARE TECH CO LTD +1
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411823859.2
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-12-11
Publication Date
2025-05-06

AI Technical Summary

Technical Problem

It is difficult for the prior art to conduct comprehensive evaluation of the number of cloud desktops that meet user needs, resulting in relatively one-sided evaluation results and low accuracy.

Method used

By obtaining relationship models, simulating user operations, determining the resource occupancy rate and user experience data of cloud desktops, and then evaluating the number of cloud desktop concurrency supported by the server.

Benefits of technology

It realizes that while meeting user experience, improves the accuracy of server resource utilization and obtains the number of cloud desktops that meet user needs.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119938464A_ABST
    Figure CN119938464A_ABST
Patent Text Reader

Abstract

The embodiment of the invention discloses a quantity evaluation method and device, electronic equipment, a medium and a computer program product, and the method comprises the steps: obtaining a relation model; the relation model is used for determining user experience data according to the resource occupancy rate of the cloud desktop; the user experience data is a cloud desktop operation index reflecting user experience; running a preset number of cloud desktops based on the first server, simulating user operation in each cloud desktop of the preset number of cloud desktops, and determining a first resource occupancy rate corresponding to each cloud desktop in the process of simulating the user operation; based on the first resource occupancy rate corresponding to each cloud desktop, obtaining first user experience data corresponding to each cloud desktop through the relation model; and based on the first user experience data corresponding to each cloud desktop, determining the concurrency number of the first server supporting the operation of the cloud desktop.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application belongs to the field of cloud computing, and in particular relates to a quantity evaluation method, device, electronic device, medium and computer program product. Background Art

[0002] Currently, when evaluating the number of cloud desktops, only a single influencing factor is usually considered. This evaluation method is only applicable to evaluating the computing performance of cloud desktops, but not to comprehensively evaluating the number of cloud desktops that meet user needs, resulting in a one-sided evaluation result with low accuracy. Summary of the invention

[0003] Embodiments of the present application provide a quantity assessment method, apparatus, electronic device, medium, and computer program product.

[0004] The present application provides a quantitative evaluation method, the method comprising:

[0005] Obtaining a relationship model; the relationship model is used to determine user experience data based on the resource occupancy rate of the cloud desktop; the user experience data is a cloud desktop operation indicator that reflects the user experience;

[0006] Running a preset number of cloud desktops based on the first server, simulating a user operation in each of the preset number of cloud desktops, and determining a first resource occupancy rate corresponding to each of the cloud desktops during the simulated user operation;

[0007] Based on the first resource occupancy rate corresponding to each cloud desktop, obtaining first user experience data corresponding to each cloud desktop through the relationship model;

[0008] Based on the first user experience data corresponding to each cloud desktop, determine the concurrency number of cloud desktops supported by the first server.

[0009] In some embodiments, before obtaining the relationship model, the method also includes: obtaining second user experience data and a second resource occupancy rate obtained by the user during the cloud desktop operation; based on the second user experience data and the second resource occupancy rate, training the relationship model to obtain a trained relationship model; obtaining the relationship model includes: obtaining the trained relationship model.

[0010] It can be seen that by training the relationship model, the second user experience data corresponding to the second resource occupancy rate can be directly obtained through the relationship model. There is no need to separately set up each cloud desktop to obtain the second user experience data, which realizes the unified acquisition of the second user experience data in different cloud desktops and improves the efficiency of automatically acquiring the second user experience data.

[0011] In some embodiments, the preset number is N, where N is an integer greater than or equal to 1; determining the concurrency number of cloud desktops supported by the first server based on the first user experience data corresponding to each cloud desktop includes: in the N cloud desktops, when the first user experience data corresponding to each cloud desktop is greater than the user experience data threshold, changing the preset number to N+i; in the preset number of N+i cloud desktops, there is any cloud desktop corresponding to the first user experience data less than the user experience data threshold, and in the preset number of N+i-1 cloud desktops, the first user experience data corresponding to each cloud desktop is greater than the user experience data threshold In the case of , it is determined that the concurrent number of cloud desktops supported by the first server is N+i-1; wherein i is an integer greater than or equal to 1; if, among the N cloud desktops, there is any cloud desktop corresponding to a first user experience data that is less than the user experience data threshold, the preset number is changed to Ni; if, among the preset number of Ni cloud desktops, the first user experience data corresponding to each cloud desktop is greater than the user experience data threshold, and among the preset number of N-i+1 cloud desktops, there is any cloud desktop corresponding to a first user experience data that is less than the user experience data threshold, it is determined that the concurrent number of cloud desktops supported by the first server is Ni.

[0012] It can be seen that through the method provided in this embodiment, the maximum concurrent number of cloud desktop operations supported by the first server can be obtained while meeting the user experience data threshold, which is beneficial to improving the resource utilization of the first server while meeting the user experience.

[0013] In some embodiments, before simulating user operations in each of a preset number of cloud desktops, the method further includes: receiving two or more preset user operation scripts; wherein each of the two or more user operation scripts corresponds to a different cloud desktop usage scenario; the user operation script is used to simulate user operations in the cloud desktop; simulating user operations in each of the preset number of cloud desktops includes: in each of the preset number of cloud desktops, running a first user operation script, wherein the first user operation script is any one of the two or more user operation scripts; in each of the cloud desktops, there are at least two cloud desktops running different first user operation scripts.

[0014] It can be seen that by running different first user operation scripts in at least two cloud desktops, different usage scenarios can be configured in the cloud desktops supported by the first server, which is conducive to obtaining the concurrency number of cloud desktops supported by the first server under different combinations of usage scenarios.

[0015] In some embodiments, before simulating the user operation in each of a preset number of cloud desktops, the method also includes: receiving a preset second user operation script; the second user operation script is used to simulate the user operation under a first preset scenario in the cloud desktop; simulating the user operation in each of the preset number of cloud desktops includes: running the second user operation script in each of the preset number of cloud desktops.

[0016] It can be seen that by making each cloud desktop run the second user operation script, it is helpful to obtain the concurrency number of cloud desktops supported by the first server in the first preset scenario.

[0017] In some embodiments, the resource occupancy rate includes one or more of a central processing unit (CPU) occupancy rate, a graphics processing unit (GPU) occupancy rate, a memory occupancy rate, a disk input / output utilization rate, a frame rate, and a network resource occupancy rate.

[0018] It can be seen that by combining the multiple resource utilization rates given in this embodiment, it is helpful to improve the accuracy of determining the number of concurrent operations supported by the first server on the cloud desktop.

[0019] In some embodiments, the user experience data includes one or more of application startup time, application shutdown time, file creation time, file editing time, file deletion time, local video playback frames per second (FPS), online video playback FPS, and three-dimensional rendering FPS when user operations are performed in the cloud desktop.

[0020] It can be seen that by combining the multiple user experience data provided in this embodiment, it is helpful to improve the accuracy of determining the concurrent number of cloud desktops supported by the first server.

[0021] The present application also provides a quantity evaluation device, the device comprising:

[0022] An acquisition module is used to acquire a relationship model; based on the first server, a preset number of cloud desktops are run, a user operation is simulated in each of the preset number of cloud desktops, and a first resource occupancy rate corresponding to each cloud desktop during the simulated user operation is determined; the relationship model is used to determine user experience data according to the resource occupancy rate of the cloud desktop; the user experience data is a cloud desktop operation indicator reflecting the user experience;

[0023] a processing module, configured to obtain first user experience data corresponding to each cloud desktop through the relationship model based on the first resource occupancy rate corresponding to each cloud desktop;

[0024] An evaluation module is used to determine the number of concurrent operations of the cloud desktops supported by the first server based on the first user experience data corresponding to each cloud desktop.

[0025] An embodiment of the present application provides an electronic device, the electronic device comprising a processor and a memory for storing a computer program that can be run on the processor; wherein:

[0026] The processor is used to run the computer program to execute any one of the above-mentioned quantity evaluation methods.

[0027] An embodiment of the present application provides a computer storage medium on which a computer program is stored. When the computer program is executed by a processor, any of the above-mentioned quantitative evaluation methods is implemented.

[0028] An embodiment of the present application provides a computer program product, including a computer program, which implements any of the above-mentioned quantity evaluation methods when executed by a processor.

[0029] The embodiments of the present application provide a quantity assessment method, device, electronic device, medium and computer program product. Through the quantity assessment method provided in the embodiments of the present application, the cloud desktop resource utilization is combined during the assessment process to obtain user experience data, and quantity assessment is performed through multiple dimensions. This can improve the accuracy of assessing the number of concurrent operations of the first server supporting the cloud desktop, and obtain the number of cloud desktops that meet user needs. BRIEF DESCRIPTION OF THE DRAWINGS

[0030] Figure 1 A flow chart of a quantitative evaluation method provided in an embodiment of the present application;

[0031] Figure 2 A schematic diagram of a quantity evaluation architecture provided in an embodiment of the present application;

[0032] Figure 3 A script distribution flow chart provided in an embodiment of the present application;

[0033] Figure 4 A schematic diagram of the structure of a quantity evaluation device provided in an embodiment of the present application;

[0034] Figure 5 A schematic diagram of the structure of an electronic device provided in an embodiment of the present application. DETAILED DESCRIPTION

[0035] Cloud desktop, also known as cloud computer or virtualized desktop, is a new model to replace traditional computers. Through virtualization technologies such as server, storage, and network, the hardware resources of physical servers, including CPU, memory, and hard disk, can be virtualized to create and run multiple independent virtual machines. Local terminals can connect to virtual machines through desktop transmission protocols to obtain the same desktop as physical personal computers (PCs). Since cloud desktops share the hardware resources of the same server, there will be problems such as different cloud desktops competing for resources, hardware performance degradation after virtualization, and differences in software compatibility of virtualized hardware, which ultimately lead to the user experience of cloud desktops being weaker than that of physical PCs. By evaluating the scale of cloud desktops implemented using virtualization and other technologies, cloud desktop vendors can better plan and design cloud desktop business operations. The purpose of scale evaluation is to obtain the number of cloud desktops that a server can support at the same time. First, it is necessary to define what kind of cloud desktop experience can meet user requirements. However, due to the wide variety of user business scenarios, the desktop configuration requirements in different scenarios will vary, and experience is a relatively subjective concept. For cloud desktop manufacturers, how to accurately evaluate the maximum number of cloud desktops that the server can carry and meet user needs is a major challenge.

[0036] In some related technologies, the maximum number of cloud desktops (i.e., the number of office users) that a server can support is estimated based on server hardware specifications and experience. For example, based on experience, it is estimated that one virtual central processing unit (1 vCPU) can support 1.2 cloud desktops. However, the number of cloud desktops obtained by empirical evaluation is not accurate enough.

[0037] Some other related technologies provide a method for capacity assessment of application-layer business systems, which determines the number of servers used by business systems to provide external services. This method can only assess the business capacity of the application layer, and the factors considered are relatively single, and it is impossible to assess business models affected by multiple factors, such as cloud computing and virtual desktop services.

[0038] In some other related technologies, a method for evaluating the carrying capacity of a server based on performance indicators is given. First, a concurrent controller is used to control the cloud desktop management platform to create a cloud desktop. The concurrent controller controls each cloud desktop to execute a CPU benchmark test program to perform tests and generate test results; each cloud desktop sends the test results to the analyzer through the concurrent controller; the analyzer performs a cloud desktop scale assessment based on the received test results. This single-dimensional assessment method cannot fully consider all aspects of the system and may ignore other important factors, such as storage performance, network bandwidth, etc. Therefore, relying solely on performance indicators for evaluation may lead to one-sided results, and is not suitable for comprehensive evaluation of the number of cloud desktops that meet user needs, and the estimated results are relatively one-sided.

[0039] In order to overcome the problems existing in the related art, the embodiments of the present application provide a quantity evaluation method, device, electronic device, medium and computer program product. The quantity evaluation method provided in the embodiments of the present application can combine user experience data and data of multiple dimensions such as resource occupancy rate to obtain the number of cloud desktops supported by the server to run simultaneously, further improving the accuracy of evaluating the maximum number of cloud desktops that the server can carry.

[0040] The following is a further detailed description of the embodiments of the present application in conjunction with the accompanying drawings and examples. It should be understood that the embodiments provided herein are only used to explain the embodiments of the present application and are not intended to limit the embodiments of the present application. In addition, the embodiments provided below are partial embodiments for implementing the present application, rather than providing all embodiments for implementing the present application. In the absence of conflict, the technical solutions recorded in the embodiments of the present application can be implemented in any combination.

[0041] It should be noted that, in the embodiments of the present application, the terms "include", "comprise" or any other variants thereof are intended to cover non-exclusive inclusion, so that a method or device including a series of elements includes not only the elements explicitly recorded, but also includes other elements not explicitly listed, or also includes elements inherent to the implementation of the method or device. In the absence of further restrictions, an element defined by the sentence "includes..." does not exclude the presence of other related elements (such as steps in the method or units in the device, such as a unit in the device may be a part of a circuit, a part of a processor, a part of a program or software, etc.) in the method or device including the element.

[0042] The quantitative assessment method provided in the embodiment of the present application includes a series of steps, but the quantitative assessment method provided in the embodiment of the present application is not limited to the recorded steps. Similarly, the quantitative assessment device provided in the embodiment of the present application includes a series of modules, but the device provided in the embodiment of the present application is not limited to including the modules explicitly recorded, and may also include modules required to obtain relevant information or perform processing based on information.

[0043] The present application embodiment provides a quantitative evaluation method, such as Figure 1 As shown, Figure 1 A flow chart of a quantitative evaluation method is shown. Figure 1 The quantitative assessment methods shown include:

[0044] Step 101: Obtain a relationship model; the relationship model is used to determine user experience data according to the resource occupancy rate of the cloud desktop; the user experience data is a cloud desktop operation indicator that reflects the user experience.

[0045] In this step, the relationship model is used to determine the corresponding relationship between the resource occupancy rate of the cloud desktop and the user experience data. In order to obtain multi-dimensional user experience data, before training the relationship model, multiple cloud desktop operation indicators that can reflect the user experience can be preset as user experience data, so that the subjective feelings of users when using the cloud desktop can be reflected through objective user experience data.

[0046] Take Table 1 as an example, which shows a user experience data:

[0047] Table 1

[0048] User Conduct Best user experience data Program Startup Response time <5s Program Closure Response time <2s File creation Response time <2s File Editing 50 words / s File Deletion Response time <1s Local video playback FPS>30 Online video playback FPS>30 3D Rendering FPS>30 ... ...

[0049] It can be seen that by setting the corresponding optimal user experience data for different user behaviors, objective data reflecting the user experience can be obtained. The optimal user experience data here can be a set of data set based on experience values. In actual applications, the optimal user experience data can also be adjusted in combination with different usage scenarios of the cloud desktop.

[0050] The resource occupancy rate of the cloud desktop can be the occupancy of resources such as CPU, memory, storage and network during the operation of the cloud desktop, especially when the user performs related operations based on the cloud desktop. The resource occupancy rate can also be the rendering performance, including indicators such as rendering frame rate, inter-frame delay, or image quality information. These resource occupancy rates can directly affect the performance and user experience of the cloud desktop. The resource occupancy rate used to determine the user experience data through the relationship model can be a resource occupancy rate, but in order to obtain accurate user experience data, the input data of the relationship model can usually be related to multiple resource occupancy rate data. For example, when it is necessary to obtain the user experience data when the application in the cloud desktop is started, the CPU occupancy rate and the disk input / output (Input / Output, I / O) utilization rate can be used as the input data of the relationship model, and the user experience data of the user when starting the application in the cloud desktop is output through the relationship model.

[0051] Corresponding to Table 1, Table 2 shows the corresponding relationship between resource occupancy rate and user experience data:

[0052] Table 2

[0053] User Conduct Best user experience data Associated resource usage Program Startup Response time <5s CPU, disk I / O utilization, etc. Program Closure Response time <2s CPU, disk I / O utilization, etc. File creation Response time <2s CPU, disk I / O utilization, etc. File Editing 50 words / s CPU, disk I / O utilization, etc. File Deletion Response time <1s CPU, disk I / O utilization, etc. Local video playback FPS>30 CPU, memory, disk, frame rate, etc. Online video playback FPS>30 CPU, memory, network latency, frame rate, etc. 3D Rendering FPS>30 CPU, GPU, memory utilization, etc. ... ... ...

[0054] Specifically, the user best experience data given in Table 1 may be set according to the empirical value, and one or more resource utilizations affecting the user best experience data corresponding to the data may be obtained through experiments, thereby obtaining the corresponding relationship shown in Table 2.

[0055] Step 102: Running a preset number of cloud desktops based on the first server, simulating a user operation in each of the preset number of cloud desktops, and determining a first resource occupancy rate corresponding to each cloud desktop during the simulated user operation.

[0056] The first server is a server that can support the operation of cloud desktops. The first server can support the simultaneous operation of multiple cloud desktops. First, a preset number of cloud desktops are run in the first server. Here, the preset number can be determined based on empirical values ​​or estimated based on the configuration of the first server. In actual applications, a preset number of cloud desktops can also be run in multiple first servers at the same time according to actual conditions to obtain the concurrent number of cloud desktops supported by multiple first servers.

[0057] After running a preset number of cloud desktops, determine the resource usage of each cloud desktop during the simulated user operation process. Specifically, you can run a preset script in each cloud desktop to simulate user operations in each cloud desktop, and you can also use automated testing tools such as Selenium, Appium and other automated testing tools to simulate user interaction operations such as clicking, inputting, and dragging in the cloud desktop.

[0058] In the process of simulating user operations in the cloud desktop, the first resource occupancy rate can be obtained through the console of the cloud desktop service provider, or through third-party tools such as Zabbix and Prometheus. The resource occupancy rate can also be automatically collected by calling the application programming interface (Application Programming Interface, API) of the operating system Windows.

[0059] Step 103: Based on the first resource occupancy rate corresponding to each cloud desktop, first user experience data corresponding to each cloud desktop is obtained through a relationship model.

[0060] After obtaining the first resource occupancy rate of each cloud desktop during the simulated user operation, the first user experience data corresponding to the first resource occupancy rate during the user operation is obtained through the relationship model obtained in step 101. For example, the first user experience data when the user starts and closes the application in the cloud desktop can be obtained through the CPU occupancy rate and the disk I / O utilization rate in the first resource occupancy rate through the relationship model, and the first user experience data when the user performs three-dimensional (3D) rendering in the cloud desktop can be obtained through the CPU occupancy rate, GPU occupancy rate, and memory utilization in the first resource occupancy rate through the relationship model.

[0061] Step 104: Based on the first user experience data corresponding to each cloud desktop, determine the number of concurrent operations supported by the first server for the cloud desktop.

[0062] The first user experience data corresponding to each cloud desktop obtained through the above steps can determine whether the first user experience data corresponding to each cloud desktop meets the preset user experience data threshold. When the first user experience data corresponding to each cloud desktop is greater than the preset user experience data threshold, it is considered that the concurrent number of the current cloud desktop operation meets the requirements and can be used as the concurrent number of cloud desktop operations supported by the first server.

[0063] In the case where one or more of the first user experience data corresponding to each cloud desktop are less than a preset user experience data threshold, it is considered that the current concurrent number of cloud desktop operations cannot guarantee the user experience, and therefore the concurrent number of cloud desktop operations should be reduced. Based on the above steps, the first user experience data corresponding to each cloud desktop after the concurrent number is reduced is obtained, until the first user experience data corresponding to each cloud desktop after the concurrent number is reduced is greater than the preset user experience data threshold.

[0064] The embodiment of the present application provides a quantitative evaluation method, which determines the number of concurrent cloud desktop operations that the first server can support by combining user experience data, and can improve the accuracy of the number of concurrent cloud desktop operations while satisfying user experience. The user experience data of each cloud desktop is directly obtained by obtaining the relationship model, which improves the efficiency of automatically obtaining the user experience data of each cloud desktop.

[0065] In practical applications, steps 101 to 104 can be implemented based on a processor, and the processor can be at least one of an application specific integrated circuit (ASIC), a digital signal processor (DSP), a digital signal processing device (DSPD), a programmable logic device (PLD), a field programmable gate array (FPGA), a CPU, a controller, a microcontroller, and a microprocessor.

[0066] In some embodiments, before obtaining the relationship model, the method further includes: obtaining second user experience data and a second resource occupancy rate obtained by the user during the cloud desktop operation; training the relationship model based on the second user experience data and the second resource occupancy rate to obtain a trained relationship model; obtaining the relationship model includes: obtaining the trained relationship model.

[0067] Based on the data shown in Tables 1 and 2 above, the second user experience data and the second resource occupancy rate of the user during the cloud desktop operation are obtained. The second user experience data and the second resource occupancy rate obtained during the cloud desktop simulation operation can also be obtained by simulating user operations through the method given in the above embodiment. A data set for training a relationship model is constructed through the second user experience data and the second resource occupancy rate.

[0068] In the process of constructing a data set, a specific user behavior can be set, for example, setting the user to start the application by double-clicking, to collect the second user experience data and the second resource occupancy rate in a specific scenario. After collecting multiple second user experience data and second resource occupancy rates, the collected multiple data can be cleaned and preprocessed, such as removing outliers in multiple data, filling missing values ​​in the data, and normalizing the data, etc., to ensure the quality and consistency of the data in the data set, and obtain a processed data set.

[0069] Since there is a complex nonlinear relationship between the second user experience data and the second resource occupancy rate, the above data processing can be performed based on a neural network model, and a relationship model can be constructed based on the neural network model to establish the relationship between the second user experience data and the second resource occupancy rate.

[0070] A part of the data in the processed data set is used as a training set, and another part of the data in the processed data set is used as a test set. The relationship model is trained with the data in the training set, and the relationship model is evaluated based on the data in the test set using indicators such as the root mean square error and the mean absolute error. When the difference between the output result of the model and the preset result is greater than the difference threshold, the parameters of the relationship model are adjusted, or the data in the training set is added to further train the relationship model until the difference between the output result of the trained relationship model and the preset result is less than the difference threshold, and the first resource occupancy rate is processed by the processed relationship model to obtain the first user experience data.

[0071] By training the relationship model, unified processing of the resource occupancy rate of each cloud desktop can be achieved. There is no need to set up a separate script for each cloud desktop, or to add separate instructions for obtaining user experience data, which improves the efficiency of automatically obtaining user experience data.

[0072] In some embodiments, the preset number is N, where N is an integer greater than or equal to 1; the above-mentioned determining the concurrency number of cloud desktops supported by the first server based on the first user experience data corresponding to each cloud desktop includes: in the N cloud desktops, when the first user experience data corresponding to each cloud desktop is greater than the user experience data threshold, the preset number is changed to N+i; in the preset number of N+i cloud desktops, there is any cloud desktop corresponding to the first user experience data less than the user experience data threshold, and in the preset number of N+i-1 cloud desktops, the first user experience data corresponding to each cloud desktop is greater than the user experience data threshold In the case of N+i-1, the concurrent number of cloud desktops supported by the first server is determined to be N+i-1; wherein i is an integer greater than or equal to 1; if, among the N cloud desktops, there is any cloud desktop corresponding to a first user experience data that is less than the user experience data threshold, the preset number is changed to Ni; if, among the preset number of Ni cloud desktops, the first user experience data corresponding to each cloud desktop is greater than the user experience data threshold, and if, among the preset number of N-i+1 cloud desktops, there is any cloud desktop corresponding to a first user experience data that is less than the user experience data threshold, it is determined that the concurrent number of cloud desktops supported by the first server is Ni.

[0073] Since the preset number is based on an empirical value or is estimated according to the configuration information of the first server, assuming that the preset number is N, then based on the method given in the above embodiment, when obtaining the first user experience data corresponding to each of the N cloud desktops, there may be a situation where the first user experience data corresponding to each cloud desktop is greater than the user experience data threshold, or there may be a situation where one or more first user experience data corresponding to each cloud desktop is less than the user experience data threshold.

[0074] When the first user experience data corresponding to each of the N cloud desktops is greater than the user experience data threshold, it is considered that the first server can fully support the parallel operation of the N cloud desktops. In this case, the number of cloud desktops running in parallel can be increased. By using the method provided in this embodiment, when the first user experience data corresponding to any one of the preset number of N+i cloud desktops is less than the user experience data threshold, and when the first user experience data corresponding to each of the preset number of N+i-1 cloud desktops is greater than the user experience data threshold, it is determined that the number of concurrent cloud desktops supported by the first server is N+i-1, that is, the maximum number of cloud desktops running in parallel supported by the first server is N+i-1.

[0075] When one or more of the first user experience data corresponding to each of the N cloud desktops is less than the user experience data threshold, it is considered that the user experience cannot be satisfied when the N cloud desktops are run simultaneously based on the resources of the first server. In this case, the number of concurrent cloud desktops can be reduced. Through the method provided in this embodiment, when the first user experience data corresponding to each of the preset number of Ni cloud desktops is greater than the user experience data threshold, and when the first user experience data corresponding to one or more cloud desktops is less than the user experience data threshold among the preset number of N-i+1 cloud desktops, it is determined that the number of concurrent cloud desktops supported by the first server is Ni, that is, the maximum number of cloud desktops supported by the first server running in parallel is Ni.

[0076] In the specific application process, a curve graph can also be output based on the trained relationship model obtained in the above embodiment, wherein the ordinate of the curve graph represents the output first user experience data, and the abscissa of the curve graph represents the concurrent number of cloud desktop operations. The curve graph output by the trained relationship model can be used to determine whether the curve has an inflection point where the user experience data decreases. If there is no inflection point in the curve, the concurrent number of cloud desktops supported by the first server is increased; if there is an inflection point in the curve, the abscissa data on the left side of the abscissa of the curve closest to the inflection point is determined as the concurrent number of cloud desktop operations supported by the first server.

[0077] In some embodiments, before simulating user operations in each of a preset number of cloud desktops, the method further includes: receiving two or more preset user operation scripts; wherein each of the two or more user operation scripts corresponds to a different cloud desktop usage scenario; the user operation script is used to simulate user operations in the cloud desktop; the simulating user operations in each of the preset number of cloud desktops includes: in each of the preset number of cloud desktops, running a first user operation script, wherein the first user operation script is any one of the two or more user operation scripts; in each cloud desktop, there are at least two cloud desktops running different first user operation scripts.

[0078] Based on the method given in this embodiment, different cloud desktop usage scenarios are first defined. For example, the cloud desktop usage scenarios can be customized to include: light office scenarios, moderate office scenarios, game scenarios, entertainment scenarios, etc., among which the light office scenarios can simulate user operations including: creating and opening a document at intervals of 20 seconds, inserting 50 words into the document, closing the document, deleting the document, etc.; the moderate office scenarios can simulate user operations including: creating and opening a document at intervals of 10 seconds, inserting 50 words into the document, closing 10 documents in succession, deleting 5 documents in succession, opening or closing 10 browser pages, etc.; the game scenarios can simulate user operations including: running or updating large games; the entertainment scenarios can simulate user operations including: playing local videos in a loop, or playing online videos, etc.

[0079] Different user operation scripts can be set for different cloud desktop usage scenarios. The first user operation script can be randomly sent to one of the preset number of cloud desktops, so that the cloud desktop simulates a user operation in a usage scenario based on the received first user operation script, and obtains the first user experience data in a usage scenario. In the process of randomly sending the first user operation script to the cloud desktop, at least two cloud desktops can be set to run different first user operation scripts, that is, the first user experience data in at least two usage scenarios can be obtained. Therefore, based on the method given in this embodiment, the number of concurrent cloud desktops supported by the first server in multiple usage scenarios can be obtained. For example, the first server can simultaneously support 5 cloud desktops for light office scenes, 2 cloud desktops for medium office scenes, and 1 cloud desktop for game scenes on the premise of satisfying the user experience; or, the first server can simultaneously support 1 cloud desktop for light office scenes, 2 cloud desktops for medium office scenes, 1 cloud desktop for entertainment scenes, and 2 cloud desktops for game scenes on the premise of satisfying the user experience; or, the first server can simultaneously support 10 cloud desktops for light office scenes and 1 cloud desktop for game scenes on the premise of satisfying the user experience.

[0080] In some embodiments, before simulating the user operation in each of the preset number of cloud desktops, the method further includes: receiving a preset second user operation script; the second user operation script is used to simulate the user operation in the first preset scenario in the cloud desktop; the simulating the user operation in each of the preset number of cloud desktops includes: running the second user operation script in each of the preset number of cloud desktops.

[0081] Based on the method provided in the above embodiment, it is also possible to obtain the first user experience data in the same scenario by enabling each cloud desktop to run the second user operation script in the same scenario, and further obtain the number of concurrent cloud desktops supported by the first server in the same usage scenario.

[0082] For example, if Figure 2 As shown, the main Master controller can be deployed, and the PowerShell automation script can be sent to the virtual desktop infrastructure (VDI) virtual machine cluster through the Master controller. By controlling the number of cloud desktops running in parallel, and simulating user operations through PowerShell automation scripts, the corresponding resource occupancy rate can be collected. The cloud desktop involved in the embodiment of the present application can be specifically implemented by a VDI virtual machine. Here, the Master controller can be deployed in the data center of the cloud service provider, or in the internal data center of the enterprise, or in the edge computing node.

[0083] The VDI virtual machine simulates user operations on the cloud desktop by running the PowerShell automation script sent by the Master controller, obtains the corresponding resource utilization rate, and reports the relevant data of the resource utilization rate to the Master controller.

[0084] In realization Figure 2 Before the method shown, it is necessary to ensure that the network connection between the Master controller and the VDI virtual machine has been established and that normal communication can be achieved. First, PowerShell will write a PowerShell automation script for automatic execution based on the customized user scenario, and then send the PowerShell automation script to the VDI virtual machine through the Master controller. Each VDI virtual machine in the VDI virtual machine cluster runs the PowerShell automation script to obtain the resource occupancy rate of the cloud desktop, and then return the collected resource occupancy rate data of each cloud desktop to the Master controller through the VDI virtual machine cluster. Figure 3 A flowchart of a Master controller sending a script to a VDI virtual machine is shown, including:

[0085] Step 301: Customize tasks through the Master controller.

[0086] You can customize it in the Master controller to determine the specific scenarios in which the cloud desktop is used and what data the cloud desktop needs to obtain.

[0087] Step 302: Obtain the Internet Protocol (IP) addresses of all VDIs in the cluster through the Master controller.

[0088] Obtain the IP addresses of all VDI virtual machines in the cluster through the Master controller.

[0089] Step 303: Build a message through the Master controller.

[0090] Specifically, the Master controller and the VDI virtual machines in the VDI virtual machine cluster can be set to communicate based on the JSON format, and relevant configuration information, simulated user operation information, etc. can be stored in JSON files, and then these JSON files can be read and parsed through PowerShell scripts.

[0091] Step 304: Send a task message to a specific IP specified by the Master controller and wait for a response.

[0092] The Master controller can send task messages to a preset number of VDI virtual machines in the VDI virtual machine cluster, or to a specified IP address. The Master controller sends the task message and waits for the message to return.

[0093] Step 305: The VDI virtual machine cluster monitors messages.

[0094] The VDI virtual machine cluster can monitor messages through the specific API provided by the cloud desktop to determine whether there is a task message sent by the Master controller.

[0095] Step 306: The VDI virtual machine cluster receives the task message and parses the task.

[0096] After one or more VDI virtual machines in the VDI virtual machine cluster receive the task message, the VDI virtual machines receiving the task message parse the task message and automatically execute the powershell automation script to simulate the user operation.

[0097] Step 307: The VDI virtual machine cluster starts executing tasks.

[0098] The VDI virtual machine that receives the task message starts to execute the simulated user operation and collects resource usage.

[0099] Step 308: The VDI virtual machine cluster returns the resource usage rate to the Master controller.

[0100] After the VDI virtual machine completes the operation of the relevant simulated user, it reports the collected resource occupancy rate to the Master controller. At this time, in step 304, the Master controller receives a response from the VDI virtual machine cluster.

[0101] After receiving the response from the VDI virtual machine cluster, the Master controller processes the resource utilization rate in the received response, screens out the effective resource utilization rate, and can obtain user experience data based on the resource utilization rate through the trained relationship model to obtain the concurrency number of the first server supporting the cloud desktop operation.

[0102] In some embodiments, the resource occupancy rate includes one or more of CPU occupancy rate, graphics processor GPU occupancy rate, memory occupancy rate, disk input / output utilization rate, frame rate, and network resource occupancy rate.

[0103] Alternatively, resource utilization may also include throughput, system response time, etc.

[0104] In some embodiments, the user experience data includes one or more of application startup time, application shutdown time, file creation time, file editing time, file deletion time, local video playback FPS, online video playback FPS, and 3D rendering FPS when user operations are performed in the cloud desktop.

[0105] Through the quantitative evaluation method provided in the embodiment of the present application, it is possible to estimate the maximum concurrent number of cloud desktops that can be loaded by a server in a virtualized environment in various user usage scenarios while ensuring user experience.

[0106] In a cloud computing environment, there are problems such as resource preemption and hardware performance degradation after virtualization. Under the same resource configuration, the user experience of a cloud desktop will be different from that of a physical computer, and it is impossible to ensure the user experience of a cloud desktop through accurate resource configuration. Therefore, the embodiment of the present application uses user experience data to evaluate the number of cloud desktops that a server can carry, and considers the influencing factors of each cloud desktop more comprehensively, solving the problem of accuracy in server capacity evaluation.

[0107] The embodiment of the present application establishes a method for evaluating quantified user experience, and uses machine learning technology to establish a corresponding relationship between the objective data of user experience and key performance indicators related to resource occupancy rate, thereby establishing a connection between the subjective experience and the objective performance indicator data, facilitating the automated collection of user experience data, and solving the problem of insufficient intelligence and low efficiency in obtaining user experience data.

[0108] The embodiments of the present application provide a method for simulating real user operations and collecting resource usage automation, which solves technical problems such as low execution efficiency and limited test scenarios of desktop automation tools such as SikuliX, and AutoIt's inability to obtain information related to user operations.

[0109] Those skilled in the art will appreciate that, in the above method of specific implementation, the order in which the steps are written does not imply a strict execution order and does not constitute any limitation on the implementation process. The specific execution order of the steps should be determined by their functions and possible internal logic.

[0110] Based on the quantity evaluation method proposed in the above embodiment, the embodiment of the present application also provides a quantity evaluation device, such as Figure 4 As shown, the quantity evaluation device comprises:

[0111] The acquisition module 401 is used to obtain a relationship model; based on the first server, a preset number of cloud desktops are run, user operations are simulated in each of the preset number of cloud desktops, and the first resource occupancy rate corresponding to each cloud desktop during the simulated user operation is determined; the relationship model is used to determine user experience data according to the resource occupancy rate of the cloud desktop; the user experience data is a cloud desktop operation indicator that reflects the user experience.

[0112] The processing module 402 is used to obtain first user experience data corresponding to each cloud desktop through a relationship model based on the first resource occupancy rate corresponding to each cloud desktop.

[0113] The evaluation module 403 is used to determine the number of concurrent operations of the cloud desktops supported by the first server based on the first user experience data corresponding to each cloud desktop.

[0114] In practical applications, the acquisition module 401, the processing module 402, and the evaluation module 403 can be implemented based on a processor and a communication device.

[0115] In some embodiments, the quantitative evaluation device also includes a training module, which is used to obtain second user experience data and a second resource occupancy rate obtained by the user during the cloud desktop operation process; based on the second user experience data and the second resource occupancy rate, the relationship model is trained to obtain a trained relationship model; the acquisition module 401 is specifically used to obtain the trained relationship model.

[0116] In some embodiments, the preset number is N, where N is an integer greater than or equal to 1; the evaluation module 403 is specifically used to change the preset number to N+i when the first user experience data corresponding to each cloud desktop in the N cloud desktops is greater than the user experience data threshold; when the first user experience data corresponding to any one of the preset number of N+i cloud desktops is less than the user experience data threshold, and when the first user experience data corresponding to each cloud desktop in the preset number of N+i-1 cloud desktops is greater than the user experience data threshold, determine that the number of concurrent cloud desktops supported by the first server is N+i-1; where i is an integer greater than or equal to 1; when the first user experience data corresponding to any one of the N cloud desktops is less than the user experience data threshold, change the preset number to Ni; when the first user experience data corresponding to each cloud desktop in the preset number of Ni cloud desktops is greater than the user experience data threshold, and when the first user experience data corresponding to any one of the preset number of N-i+1 cloud desktops is less than the user experience data threshold, determine that the number of concurrent cloud desktops supported by the first server is Ni.

[0117] In some embodiments, the acquisition module 401 is also used to receive two or more preset user operation scripts; wherein each of the two or more user operation scripts corresponds to a different cloud desktop usage scenario; the user operation script is used to simulate user operations in the cloud desktop; in each of a preset number of cloud desktops, a first user operation script is run, wherein the first user operation script is any one of the two or more user operation scripts; in each cloud desktop, there are at least two cloud desktops running different first user operation scripts.

[0118] In some embodiments, the acquisition module 401 is also used to receive a preset second user operation script; the second user operation script is used to simulate the user operation in the first preset scenario in the cloud desktop; and the second user operation script is run in each cloud desktop of a preset number of cloud desktops.

[0119] It should be noted that the description of the above device embodiment is similar to the description of the above method embodiment, and has similar beneficial effects as the same method embodiment. For technical details not disclosed in the device embodiment of the present application, please refer to the description of the method embodiment of the present application for understanding.

[0120] It should be noted that in the embodiments of the present application, if the above method is implemented in the form of a software function module and sold or used as an independent product, it can also be stored in a computer-readable storage medium. Based on such an understanding, the technical solution of the embodiment of the present application is essentially or the part that contributes to the prior art can be embodied in the form of a software product, which is stored in a storage medium, including a number of instructions to enable a computer device (which can be a terminal, a server, etc.) to execute all or part of the methods described in each embodiment of the present application. The aforementioned storage medium includes: various media that can store program codes, such as a U disk, a mobile hard disk, a read-only memory (ROM), a disk or an optical disk. In this way, the embodiments of the present application are not limited to any specific combination of hardware and software.

[0121] An embodiment of the present application also provides an electronic device. Figure 5 A schematic diagram of the structure of an electronic device provided in an embodiment of the present application is shown in FIG. Figure 5 As shown, the electronic device 50 may include:

[0122] The memory 501 is used to store executable instructions.

[0123] The processor 502 is used to implement any one of the above-mentioned quantity evaluation methods when executing the executable instructions stored in the memory 501.

[0124] The processor 502 may be at least one of an ASIC, a DSP, a DSPD, a PLD, a FPGA, a CPU, a controller, a microcontroller, and a microprocessor.

[0125] The above-mentioned computer-readable storage medium or memory 501 can be a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), a magnetic random access memory (FRAM), a flash memory (Flash Memory), a magnetic surface memory, an optical disk, or a compact disc read-only memory (CD-ROM) and other memories; it can also be various terminals including one or any combination of the above-mentioned memories, such as mobile phones, computers, tablet devices, personal digital assistants, etc.

[0126] An embodiment of the present application further provides a computer storage medium, on which computer executable instructions are stored, and the computer executable instructions are used to implement any one of the quantitative evaluation methods provided in the above embodiments.

[0127] Correspondingly, an embodiment of the present application further provides a computer program product, which includes computer executable instructions, and the computer executable instructions are used to implement any one of the quantitative evaluation methods provided in the above embodiments.

[0128] In some embodiments, the functions or modules included in the device provided in the embodiments of the present application can be used to execute the method described in the above method embodiments. The specific implementation can refer to the description of the above method embodiments. For the sake of brevity, it will not be repeated here.

[0129] The above description of various embodiments tends to emphasize the differences between the various embodiments. The same or similar aspects can be referenced to each other, and for the sake of brevity, they will not be repeated herein.

[0130] The methods disclosed in the various method embodiments provided in this application can be arbitrarily combined without conflict to obtain new method embodiments.

[0131] The features disclosed in the various product embodiments provided in this application can be arbitrarily combined without conflict to obtain new product embodiments.

[0132] The features disclosed in the various method or device embodiments provided in this application can be arbitrarily combined without conflict to obtain new method embodiments or device embodiments.

[0133] Through the description of the above implementation methods, those skilled in the art can clearly understand that the above-mentioned embodiment methods can be implemented by means of software plus a necessary general hardware platform, and of course by hardware, but in many cases the former is a better implementation method. Based on such an understanding, the technical solution of the present application, or the part that contributes to the prior art, can be embodied in the form of a software product, which is stored in a storage medium (such as ROM / RAM, a magnetic disk, or an optical disk), and includes a number of instructions for a terminal (which can be a mobile phone, a computer, a server, an air conditioner, or a network device, etc.) to execute the methods described in each embodiment of the present application.

[0134] The embodiments of the present application are described above in conjunction with the accompanying drawings, but the present application is not limited to the above-mentioned specific implementation methods. The above-mentioned specific implementation methods are merely illustrative and not restrictive. Under the guidance of the present application, ordinary technicians in this field can also make many forms without departing from the purpose of the present application and the scope of protection of the claims, all of which are within the protection of the present application.

Claims

1. A quantitative evaluation method, characterized in that: The method comprises: Obtaining a relationship model; the relationship model is used to determine user experience data based on the resource occupancy rate of the cloud desktop; the user experience data is a cloud desktop operation indicator that reflects the user experience; Running a preset number of cloud desktops based on the first server, simulating a user operation in each of the preset number of cloud desktops, and determining a first resource occupancy rate corresponding to each of the cloud desktops during the simulated user operation; Based on the first resource occupancy rate corresponding to each cloud desktop, obtaining first user experience data corresponding to each cloud desktop through the relationship model; Based on the first user experience data corresponding to each cloud desktop, determine the concurrency number of cloud desktops supported by the first server.

2. The method according to claim 1, characterized in that Before obtaining the relationship model, the method further includes: Acquire second user experience data and second resource occupancy rate obtained by the user during the cloud desktop operation process; Based on the second user experience data and the second resource occupancy rate, training the relationship model to obtain a trained relationship model; The acquiring relationship model comprises: Get the trained relationship model.

3. The method according to claim 1, characterized in that The preset number is N, where N is an integer greater than or equal to 1; and determining the number of concurrent operations of the cloud desktop supported by the first server based on the first user experience data corresponding to each cloud desktop includes: In the case where the first user experience data corresponding to each of the N cloud desktops is greater than the user experience data threshold, the preset number is changed to N+i; in the case where the first user experience data corresponding to any one of the preset N+i cloud desktops is less than the user experience data threshold, and in the case where the first user experience data corresponding to each of the preset N+i-1 cloud desktops is greater than the user experience data threshold, it is determined that the concurrency number of cloud desktops supported by the first server is N+i-1; wherein i is an integer greater than or equal to 1; If, among the N cloud desktops, the first user experience data corresponding to any one of the cloud desktops is less than the user experience data threshold, the preset number is changed to Ni; if, among the preset number Ni of cloud desktops, the first user experience data corresponding to each cloud desktop is greater than the user experience data threshold, and if, among the preset number N-i+1 cloud desktops, the first user experience data corresponding to any one of the cloud desktops is less than the user experience data threshold, it is determined that the concurrency number of cloud desktops supported by the first server is Ni.

4. The method according to claim 1, characterized in that: Before simulating the user operation in each of the preset number of cloud desktops, the method further includes: Receiving two or more preset user operation scripts; wherein each of the two or more user operation scripts corresponds to a different cloud desktop usage scenario; and the user operation script is used to simulate user operations in the cloud desktop; The simulating the user operation in each of the preset number of cloud desktops includes: In each of the preset number of cloud desktops, a first user operation script is run, wherein the first user operation script is any one of the two or more user operation scripts; in each of the cloud desktops, at least two cloud desktops run different first user operation scripts.

5. The method according to claim 1, characterized in that Before simulating the user operation in each of the preset number of cloud desktops, the method further includes: Receive a preset second user operation script; the second user operation script is used to simulate the user operation in the first preset scenario in the cloud desktop; The simulating the user operation in each of the preset number of cloud desktops includes: The second user operation script is run in each of the preset number of cloud desktops.

6. The method according to any one of claims 1 to 5, characterized in that: The resource occupancy rate includes one or more of the central processing unit CPU occupancy rate, graphics processing unit GPU occupancy rate, memory occupancy rate, disk input / output utilization rate, frame rate, and network resource occupancy rate.

7. The method according to any one of claims 1 to 5, characterized in that: The user experience data includes one or more of the application startup time, application shutdown time, file creation time, file editing time, file deletion time, local video playback frames per second (FPS), online video playback FPS, and three-dimensional rendering FPS when user operations are performed in the cloud desktop.

8. A quantitative evaluation device, characterized in that: The device comprises: An acquisition module is used to acquire a relationship model; based on the first server, a preset number of cloud desktops are run, a user operation is simulated in each of the preset number of cloud desktops, and a first resource occupancy rate corresponding to each cloud desktop during the simulated user operation is determined; the relationship model is used to determine user experience data according to the resource occupancy rate of the cloud desktop; the user experience data is a cloud desktop operation indicator reflecting the user experience; A processing module, configured to obtain first user experience data corresponding to each cloud desktop through the relationship model based on the first resource occupancy rate corresponding to each cloud desktop; An evaluation module is used to determine the number of concurrent operations of the cloud desktops supported by the first server based on the first user experience data corresponding to each of the cloud desktops.

9. An electronic device, characterized in that: The electronic device comprises a processor and a memory for storing a computer program that can be run on the processor; wherein, The processor is configured to run the computer program to perform the method according to any one of claims 1 to 7.

10. A computer storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the method according to any one of claims 1 to 7 is implemented.

11. A computer program product, comprising a computer program, characterized in that The computer program implements the method according to any one of claims 1 to 7 when executed by a processor.