Jamming analysis method and device for cloud desktop, medium and product

By acquiring terminal activity information and using a random forest model to distinguish the types of lag in cloud desktops, the problem of cloud servers being unable to differentiate between lag types has been solved, thus improving the operating efficiency and user experience of cloud desktops.

CN121125807APending Publication Date: 2025-12-12ZTE CORP
View PDF 0 Cites 0 Cited by

Patent Information

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

AI Technical Summary

Technical Problem

In cloud desktop applications, cloud servers cannot effectively distinguish between different types of lag, leading to increased data processing pressure, affecting the data acquisition speed of the terminal, and reducing server operating efficiency.

Method used

By acquiring information on the activity level of terminal users interacting with the cloud desktop, we use a random forest model to analyze the types of lag, distinguish between server lag and terminal lag, and adjust the corresponding operation and maintenance parameters according to the lag type to speed up the processing.

Benefits of technology

It enables refined analysis of cloud desktop lag, improves the processing efficiency of cloud servers, reduces data transmission errors, and enhances the user experience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121125807A_ABST
    Figure CN121125807A_ABST
Patent Text Reader

Abstract

The invention provides a stagnation analysis method for a cloud desktop. The method comprises the following steps: acquiring information of an active degree of operating the cloud desktop by a terminal; analyzing the stagnation of the cloud desktop according to the information of the activity degree of operating the cloud desktop by the terminal, and determining the type of the stagnation; wherein the type of the lagging comprises server lagging or terminal lagging, the server lagging represents the lagging caused by the cloud server, and the terminal lagging represents the lagging caused by the terminal. The disclosure also provides an electronic device, a computer readable medium, and a computer program product.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present disclosure relates to the technical field of cloud desktop, and particularly relates to a cloud desktop lag analysis method, an electronic device, a computer readable medium and a computer program product. BACKGROUND

[0002] In the application scenario of the cloud desktop, if there is lag when a user operates the cloud desktop through a terminal, the terminal will send all the related data when the lag occurs to the cloud server, so that the cloud server obtains more data of the lag, increases the data processing pressure of the cloud server, and makes the cloud server unable to normally operate. SUMMARY

[0003] The present disclosure provides a cloud desktop lag analysis method, an electronic device, a computer readable medium and a computer program product.

[0004] In a first aspect, an embodiment of the present disclosure provides a cloud desktop lag analysis method, which comprises: obtaining information of an active degree of a terminal operating a cloud desktop; analyzing lag of the cloud desktop according to the information of the active degree of the terminal operating the cloud desktop, and determining a type of the lag; wherein the type of the lag comprises server lag or terminal lag, the server lag represents lag caused by a cloud server, and the terminal lag represents lag caused by the terminal.

[0005] In a second aspect, an embodiment of the present disclosure provides an electronic device, which comprises: one or more processors; and a memory having one or more programs stored thereon, wherein when the one or more programs are executed by the one or more processors, the one or more processors implement any of the cloud desktop lag analysis methods in the embodiments of the present disclosure.

[0006] In a third aspect, an embodiment of the present disclosure provides a readable storage medium, which stores a computer program, and when the computer program is executed by a processor, any of the cloud desktop lag analysis methods in the embodiments of the present disclosure is implemented.

[0007] In a fourth aspect, an embodiment of the present disclosure provides a computer program product, which comprises a computer program, and when the computer program is executed by a processor, any of the cloud desktop lag analysis methods in the embodiments of the present disclosure is implemented.

[0008] The cloud desktop lag analysis method in this embodiment can determine whether the terminal is frequently operating the cloud desktop by acquiring information on the activity level of the terminal operating the cloud desktop. When lag occurs in the cloud desktop, the method can analyze the lag based on the activity level information to determine the type of lag. The type of lag can distinguish whether the lag is caused by the cloud server or by the terminal, so that the cloud server can classify the lag and process the data corresponding to different lag types, thereby speeding up the lag processing and enabling the cloud desktop to operate normally. Attached Figure Description

[0009] In the accompanying drawings of the embodiments disclosed herein:

[0010] Figure 1 This is a schematic diagram of the composition of a cloud desktop system in related technologies;

[0011] Figure 2 A flowchart illustrating a cloud desktop lag analysis method provided in this embodiment of the disclosure;

[0012] Figure 3 This is a schematic diagram illustrating how a target lag level is determined based on a random forest model, according to an embodiment of this disclosure.

[0013] Figure 4 This is a schematic diagram illustrating the composition of a cloud desktop lag analysis system provided in an embodiment of the present disclosure;

[0014] Figure 5 A flowchart illustrating a cloud desktop lag analysis method provided in this embodiment of the disclosure;

[0015] Figure 6 This is a schematic diagram illustrating how a target lag level is determined based on a random forest model, according to an embodiment of this disclosure.

[0016] Figure 7 A schematic diagram illustrating the lag analysis results of a cloud desktop provided in this embodiment of the disclosure;

[0017] Figure 8 A block diagram of a cloud desktop lag analysis device provided in this embodiment of the present disclosure;

[0018] Figure 9 This is a block diagram of an electronic device provided in an embodiment of the present disclosure. Detailed Implementation

[0019] For those skilled in the art to better understand the technical solutions of the present disclosure, the embodiments of the present disclosure are described in detail below. In the following, the present disclosure will be described more fully with reference to the accompanying drawings, but the embodiments shown can be embodied in different forms and the present disclosure should not be interpreted as being limited to the embodiments set forth below. On the contrary, the purpose of providing these embodiments is to make the present disclosure thorough and complete and to enable those skilled in the art to fully understand the scope of the present disclosure.

[0020] The drawings of the embodiments of the present disclosure are used to provide further understanding of the embodiments of the present disclosure and constitute a part of the specification, which is used to explain the present disclosure together with the detailed embodiments, and do not constitute a limitation of the present disclosure. The above and other features and advantages will become more apparent to those skilled in the art by referring to the detailed embodiments described below with reference to the drawings.

[0021] In the case of no conflict, the embodiments of the present disclosure and the features in the embodiments can be combined with each other.

[0022] The terms used in the present disclosure are only used to describe specific embodiments and are not intended to limit the present disclosure. As used in the present disclosure, the term "and / or" includes any and all combinations of one or more of the related listed items.

[0023] Unless otherwise defined, all terms used in the present disclosure, including technical and scientific terms, have the same meaning as commonly understood by those of ordinary skill in the art. It will also be understood that terms such as those defined in commonly used dictionaries should be interpreted as having a meaning consistent with their meaning in the context of the relevant art and the present disclosure, and should not be interpreted in an idealized or overly formal sense unless the present disclosure expressly so defines.

[0024] Cloud desktop is a computer desktop service provided by a cloud server based on cloud computing technology. Through cloud desktop, the operating system of the device is virtualized, and the interaction data and desktop application data between the terminal and the cloud server are stored on the cloud server, and the cloud server uniformly manages each data, so that the terminal can remotely operate the cloud desktop to obtain the required data resources, thereby improving the work efficiency of the user.

[0025] Among them, the user can operate the cloud desktop through the terminal, and send the operation instruction to the cloud server, so that the cloud server can obtain the data required by the terminal according to the operation instruction of the terminal, and feed back the data to the terminal for display.

[0026] For example, Figure 1 is a schematic diagram of the composition of a cloud desktop system in the related art. As Figure 1As shown, the cloud desktop system includes a cloud server 110 and a plurality of terminals (such as a terminal 121, a terminal 121,..., and a terminal 12m, m representing the number of terminals, m being an integer greater than or equal to 1).

[0027] The cloud server 110 and each terminal are connected through a wired network or a wireless network. The terminal can be a smartphone, a tablet computer, a personal computer, etc., and the present disclosure does not limit this, which will not be described here.

[0028] Different users operate the cloud desktop running on the cloud server 110 through different terminals. In order to enable each terminal to safely and stably operate the cloud desktop, it is usually necessary to detect the running environment of the cloud desktop to determine whether the cloud desktop can run smoothly.

[0029] However, if the terminal operating the cloud desktop is stuck, the cloud server cannot distinguish the type of the stick, and thus cannot analyze the stick in time, which reduces the processing efficiency of the cloud server for the stick, affects the data acquisition speed of the terminal when operating the cloud desktop, and also increases the data processing pressure of the cloud server, so that the cloud server cannot operate normally.

[0030] To solve the above problems, the present disclosure provides a cloud desktop stick analysis method, an electronic device, a computer readable medium and a computer program product.

[0031] In a first aspect, the present disclosure provides a cloud desktop stick analysis method.

[0032] Figure 2 A flowchart of a cloud desktop stick analysis method provided by the present disclosure is shown. The cloud desktop stick analysis method is applied to a cloud desktop stick analysis device, which can be arranged in a cloud server. As shown in Figure 2 The cloud desktop stick analysis method includes but is not limited to the following steps.

[0033] Step S201, obtaining information of the activity level of the terminal operating the cloud desktop.

[0034] The cloud desktop is a data processing method based on cloud computing technology, which deploys corresponding devices (such as processors or memories of remote servers, etc.) in a host computer (such as a cloud server) and virtualizes to form a virtual machine. The virtual machine of the host computer receives operation instructions from the terminal and performs corresponding data processing, and then sends the processed data to the terminal through a preset desktop transmission protocol, so that the terminal performs corresponding data display on its display device.

[0035] The activity level of the terminal operating the cloud desktop represents how frequently the terminal operates the cloud desktop, which can be reflected by how frequently the terminal operates the application on the cloud desktop based on software or hardware. For example, the activity level can be reflected by how frequently a certain software (such as remote control software) installed on the terminal operates the cloud desktop.

[0036] In step S202, the information about the activity level of the terminal operating the cloud desktop is used to analyze the lag of the cloud desktop and determine the type of the lag.

[0037] The lag of the cloud desktop can be reflected by the running state of the cloud desktop (such as the flow degree of the cloud desktop, the time delay, the clarity of the displayed picture, etc.). The type of the lag includes server lag or terminal lag.

[0038] The server lag represents the lag caused by the cloud server, such as the lag caused by the low processing capability of the processor of the cloud server (and / or the limited storage space of the cloud server, etc.) in the process of supporting the cloud desktop to provide corresponding data processing services.

[0039] The terminal lag represents the lag caused by the terminal, such as the lag caused by the limited processing capability of the processor of the terminal (and / or the small data storage space of the terminal, etc.) in the process of the terminal interacting with the cloud server for the cloud desktop.

[0040] By using the information about the activity level of the terminal operating the cloud desktop, the running state of the cloud desktop is analyzed to determine the type of the lag of the cloud desktop, so that it can be determined whether the lag is caused by the cloud server or the terminal, thereby more accurately locating the lag of the cloud desktop, speeding up the processing of the lag, making the cloud desktop run more smoothly, and improving the user experience.

[0041] The cloud desktop lag analysis method in the embodiments of the present disclosure can determine whether the terminal is frequently operating the cloud desktop by obtaining the information about the activity level of the terminal operating the cloud desktop. When the cloud desktop lags, the information about the activity level can be used to analyze the lag of the cloud desktop and determine the type of the lag, which can distinguish whether the lag of the cloud desktop is caused by the cloud server or the terminal, so that the cloud server can classify the lag, and then process the data corresponding to different types of lag based on different types of lag, thereby speeding up the processing speed of the lag, making the cloud desktop run normally, speeding up the speed of the terminal obtaining the required data through the cloud desktop, and improving the user experience.

[0042] In some example embodiments, the analyzing the lag of the cloud desktop according to the information of the activity degree of the terminal operating the cloud desktop in step S202 comprises: determining the type of the lag as terminal lag when the activity degree exceeds a preset degree threshold; and determining the type of the lag as server lag when the activity degree does not exceed the preset degree threshold.

[0043] The preset degree threshold is a degree threshold determined according to historical operation information of the cloud desktop. By comparing the activity degree with the preset degree threshold, it can be determined whether the type of the lag is terminal lag or server lag.

[0044] Since the cloud desktop is deployed on a cloud server, lag of the cloud server will directly cause lag of the cloud desktop. Therefore, when the activity degree is less than or equal to the preset degree threshold, it indicates that the lag of the cloud desktop is caused by the cloud server, i.e., the type of the lag is server lag.

[0045] If the activity degree is greater than the preset degree threshold, it indicates that the cause of the lag of the cloud desktop is the process of data interaction between the terminal and the cloud server. Therefore, the proportion of the lag of the cloud desktop caused by the terminal is better, and the type of the lag can be determined as terminal lag.

[0046] By using the preset degree threshold to measure the activity degree of the terminal operating the cloud desktop, the type of the lag of the cloud desktop can be distinguished, so that the lag of the cloud desktop can be located from different dimensions, and the speed of determining the root cause of the lag of the cloud desktop can be accelerated.

[0047] In some example embodiments, the activity degree in step S201 is determined based on the frequency of the terminal operating the cloud desktop through the hardware device of the terminal. The frequency is positively correlated with the activity degree.

[0048] The frequency of the terminal operating the cloud desktop through the hardware device of the terminal is based on the frequency of the input / output device (such as a mouse, a keyboard, a writing board, etc.) of the terminal operating the cloud desktop.

[0049] For example, if the frequency of the terminal operating the cloud desktop through the hardware device of the terminal is higher than a preset frequency threshold, it indicates that the terminal needs to quickly obtain the required data through the cloud desktop at this time (i.e., the activity degree of the terminal operating the cloud desktop is high), and the terminal needs the cloud server to provide a stable cloud desktop interaction environment for it and try to reduce the lag of the cloud desktop.

[0050] For example, if the terminal does not operate the cloud desktop through the hardware device (or the frequency of the terminal operating the cloud desktop through the hardware device is lower than the preset frequency threshold), it indicates that the cloud desktop may be in the background running stage (or the cloud desktop is in the light use stage), at this time, the terminal has no demand (or the demand is weak) for the interaction environment of the cloud desktop provided by the cloud server, in other words, the user using the terminal is not sensitive to the lag of the cloud desktop, at this time, it indicates that the activity level of the terminal operating the cloud desktop is low.

[0051] The activity level of the terminal operating the cloud desktop is determined based on the frequency of the terminal operating the cloud desktop through the hardware device, so that the type of the lag of the cloud desktop can be more accurately measured based on the activity level, so as to adjust the lag of the cloud desktop based on different types of lag, and make the cloud desktop run more smoothly.

[0052] In some exemplary embodiments, the method further comprises: obtaining a plurality of to-be-verified data; inputting the plurality of to-be-verified data into the preset model for analysis to determine the target lag level.

[0053] The plurality of to-be-verified data includes at least two different categories of device interaction data. The device interaction data can be interaction data between devices, such as network delay data, network packet loss data, etc.; or can be interaction data between various modules inside the device, such as operation data between various modules inside the cloud server, or operation data between various modules inside the terminal, etc. The present application does not limit this, and will not be repeated here.

[0054] The preset model is obtained by training an initial classification model based on a plurality of different categories of sample data. The different categories of sample data correspond to different categories and levels of lag.

[0055] During the training of the model, the initial classification model can be trained by selecting sample data of a plurality of categories of terminal lag (or server lag), wherein the sample data of each category corresponds to different levels of terminal lag (or server lag), so that the preset model obtained by training can analyze to-be-verified data with the category of lag being terminal lag (or server lag) to determine the target lag level corresponding to the terminal lag (or server lag).

[0056] Since in the existing scene of detecting the lag of the cloud desktop, it is determined whether the cloud desktop is lagging or not by comparing single index data with a preset threshold, it can only simply distinguish whether it is lagging or not, and cannot further determine different lag types. In the present disclosure, by using a preset model to analyze inputted multiple different types of to-be-verified data, it can more specifically determine whether the cloud desktop is terminal lagging or server lagging, and further analyze the target lag level corresponding to the terminal lag, so as to realize fine analysis of the lag of the cloud desktop, so as to facilitate subsequent analysis of the root cause of the lag according to different lag levels, speed up the operation and maintenance efficiency of the cloud desktop, and make the cloud desktop run smoothly.

[0057] In some exemplary embodiments, the preset model is a random forest model, and the random forest model includes multiple trees, each tree corresponding to processing a type of data.

[0058] The multiple to-be-verified data are inputted into the preset model for analysis to determine the target lag level corresponding to the terminal lag, including: inputting each type of data into the corresponding tree for processing to obtain the contribution degree of the data of the type to the lag; and determining the target lag level according to the maximum value in the multiple contribution degrees.

[0059] Each type of data corresponds to a tree, and the tree can be used to analyze the data of the corresponding type to determine the contribution degree of the data of the type to the lag (such as the probability value of causing the terminal lag), and then the multiple contribution degrees are screened to obtain the maximum value in the contribution degrees (such as the maximum probability value of causing the terminal lag), and further, the lag level of the data corresponding to the maximum value is obtained as the target lag level.

[0060] In some embodiments, the to-be-verified data is device interaction data with time sequence characteristics collected within a preset period.

[0061] For example, continuous data collection is performed within a preset period, so that the collected to-be-verified data has the feature of the execution order in time dimension, thereby facilitating analysis of the to-be-verified data.

[0062] For example, the moment when the cloud desktop lags is taken as a target moment, and the device interaction data within 5 minutes before the target moment and the device interaction data within 5 minutes after the target moment are selected as the to-be-verified data. In order to obtain more comprehensive feature data with the execution order in time dimension, the preset model can analyze the feature in time dimension more specifically, so that the finally obtained target lag level is more accurate.

[0063] The choppiness level corresponding to each category of data can include any one of the following: no choppiness, a first choppiness level, a second choppiness level, and a third choppiness level.

[0064] The first choppiness level, the second choppiness level, and the third choppiness level are sequentially increasing choppiness levels, and different choppiness levels correspond to different user experiences of the terminal.

[0065] For example, during the use of the cloud desktop, no choppiness indicates that the data interaction between the terminal and the cloud server is smooth; the first choppiness level indicates that the data interaction between the terminal and the cloud server has slight choppiness; the second choppiness level indicates that the data interaction between the terminal and the cloud server has moderate choppiness; and the third choppiness level indicates that the data interaction between the terminal and the cloud server has severe choppiness.

[0066] Correspondingly, the target choppiness level includes any one of the following: no choppiness, a first choppiness level, a second choppiness level, and a third choppiness level.

[0067] In some exemplary embodiments, the data to be verified includes at least two of network latency data, network packet loss data, cloud server processor usage rate data, cloud server memory usage rate data, cloud server disk read-write delay data, terminal processor usage rate data, and terminal memory usage rate data.

[0068] The network latency data is the latency when the cloud server and the terminal perform data transmission. The network packet loss data is the number of data packets lost and the proportion of data packets lost during data transmission between the cloud server and the terminal.

[0069] The cloud server processor usage rate data includes a usage rate determined based on the number of cores of the used cloud server processor, the number of threads, and other parameters. The cloud server memory usage rate data includes a usage rate determined based on the storage frequency of the memory, the storage capacity of the used cloud server memory, and other parameters. The cloud server disk read-write delay data is the latency when the cloud server performs data read-write.

[0070] The terminal processor parameter usage rate data includes a usage rate determined based on the number of cores of the used terminal processor, the number of threads, and other parameters. The terminal memory usage rate data includes a usage rate determined based on the storage frequency of the memory, the storage capacity of the used terminal memory, and other parameters.

[0071] By using multiple different categories of data as to-be-verified data, possible reasons for the lag of the cloud desktop can be comprehensively measured, so that the lag level of the cloud desktop can be more accurately determined, so as to more finely analyze and process the lag of the cloud desktop, and the cloud desktop can be smoothly run.

[0072] In some embodiments, Figure 3 An example of determining a target lag level corresponding to terminal lag based on a random forest model is provided for the embodiments of the present disclosure. As shown in the figure, Figure 3 The random forest model includes multiple trees (such as tree A, tree B, tree C, tree D, etc.), each tree including multiple branches. By inputting input data (such as multiple to-be-verified data) into each tree for processing, a corresponding processing result (such as the contribution degree of each category of data to terminal lag) can be obtained. Then, the processing result corresponding to each tree is input into a combiner for comprehensive analysis (such as selecting the maximum value from multiple contribution degrees), and the final output data (i.e., the target lag level corresponding to the terminal lag) can be obtained.

[0073] Each tree can be implemented by a decision tree, which is a prediction model representing a mapping relationship between object attributes and object values (such as a mapping relationship between a certain category of data and its contribution degree to terminal lag). The input data includes multiple different categories of data.

[0074] In some embodiments, the contribution degree can be represented by a classification probability value, that is, the probability value of each type of data causing a type of terminal lag.

[0075] The construction process of each decision tree includes: selecting an optimal feature as the splitting basis of the current node in a category of data, and dividing the category of data into at least two subsets according to the optimal feature; then, for each subset, repeating the above process until the stopping condition is met, thereby obtaining a decision tree.

[0076] The stopping condition includes: reaching a preset maximum depth, or the number of samples in the subset is less than a preset number threshold.

[0077] It should be noted that each category of data includes the data itself and the label corresponding to the data (such as a human-set type of data that can cause lag), and the category of data can be divided by the label corresponding to the data, so as to use different categories of data to construct different categories of random forest models.

[0078] For example, if the label corresponding to a certain category of data is terminal lag, the data of this category is used as sample data for constructing a random forest model for determining the target lag level of the terminal lag; if the label corresponding to a certain category of data is server lag, the data of this category is used as sample data for constructing a random forest model for determining the target lag level of the server lag.

[0079] By constructing the random forest model in the above manner, multiple different categories of data in the input data can correspond to a decision tree respectively, so that the data of the category corresponding to the decision tree can be processed by using the decision tree, thereby improving the processing efficiency of the data.

[0080] In some example embodiments, after the target lag level corresponding to the terminal lag is determined by inputting the multiple to-be-verified data into the preset model for analysis, the method further includes: in response to the type of the lag being terminal lag, obtaining a preset resolution strategy corresponding to the target lag level; and adjusting the operation and maintenance parameters of the cloud desktop according to the preset resolution strategy corresponding to the target lag level.

[0081] The preset resolution strategy corresponding to the target lag level is a strategy that is preset to match the target lag level and can alleviate the lag of the cloud desktop.

[0082] The operation and maintenance parameters of the cloud desktop are operation and maintenance parameters required during the running of the cloud desktop. For example, the operation and maintenance parameters include at least one of the following: processor parameters of the cloud server (such as the number of cores and the number of threads of the processor of the cloud server used), memory parameters of the cloud server (such as the storage frequency of the memory and the storage capacity of the memory of the cloud server used), disk read-write parameters of the cloud server (such as the disk read-write frequency), processor parameters of the terminal (such as the number of cores and the number of threads of the processor of the terminal used), and memory parameters of the terminal (such as the storage frequency of the memory and the storage capacity of the memory of the terminal used).

[0083] In some example embodiments, the operation and maintenance parameters of the cloud desktop include operation and maintenance parameters of a terminal operating the cloud desktop, and / or operation and maintenance parameters of a cloud server corresponding to the cloud desktop.

[0084] The preset resolution strategy corresponding to the target lag level includes any one of the following: a first-level strategy and a second-level strategy; the first-level strategy is a strategy for adjusting the operation and maintenance parameters of the terminal operating the cloud desktop; and the second-level strategy is a strategy for adjusting the operation and maintenance parameters of the terminal operating the cloud desktop and the operation and maintenance parameters of the cloud server corresponding to the cloud desktop simultaneously.

[0085] When the target stutter level is the first stutter level, it indicates that the data interaction between the terminal and the cloud server is slightly stuttered, and the first level strategy needs to be used to adjust the operation and maintenance parameters of the cloud desktop.

[0086] For example, the number of cores of the processor of the terminal is increased, or the number of threads of the terminal is increased, or the storage frequency of the memory of the terminal is increased, or the storage capacity of the memory of the terminal is increased, so that the terminal can quickly process the data sent by the cloud server, and the slow data interaction phenomenon caused by the first stutter level is reduced.

[0087] When the target stutter level is the second stutter level or the third stutter level, it indicates that the data interaction between the terminal and the cloud server is moderately stuttered or severely stuttered, and the second level strategy needs to be used to adjust the operation and maintenance parameters of the terminal and the operation and maintenance parameters of the cloud desktop at the same time, so that the terminal and the cloud server can act on each other, and the stutter phenomenon of the cloud desktop is reduced.

[0088] For example, while adjusting the operation and maintenance parameters of the terminal operating the cloud desktop, the operation and maintenance parameters of the cloud server also need to be adjusted, such as increasing the number of cores of the processor of the cloud server, or increasing the number of threads of the cloud server, or increasing the storage frequency of the memory of the cloud server, or increasing the storage capacity of the memory of the cloud server, or increasing the disk read-write frequency, etc.

[0089] When the stutter behavior of the terminal is determined, the operation and maintenance parameters of the cloud desktop are adjusted by using the preset solution strategy corresponding to the target stutter level, so that the operation of the cloud desktop is smoother, and the proportion of data transmission errors caused by the terminal stutter is reduced.

[0090] In some embodiments, in response to the type of stutter being server stutter, the operation and maintenance parameters of the cloud server are adjusted.

[0091] When it is determined that the type of stutter is server stutter, it is clear that the stutter is caused by the cloud server (for example, the cloud server is caused by the low processing capability of the processor of the cloud server, or the small storage space of the cloud server in the process of supporting the cloud desktop to provide corresponding data processing services), and the operation and maintenance parameters of the cloud server need to be adjusted at this time.

[0092] For example, the number of cores of the processor of the cloud server is increased, or the number of threads of the cloud server is increased, or the storage frequency of the memory of the cloud server is increased, or the storage capacity of the memory of the cloud server is increased, or the disk read-write frequency is increased, etc.

[0093] By adjusting the operation and maintenance parameters of the cloud desktop, the operation of the cloud desktop can be smoother, and data transmission errors caused by server lag can be reduced.

[0094] In a second aspect, the embodiments of the present disclosure provide a cloud desktop lag analysis system.

[0095] Figure 4 A composition schematic diagram of a cloud desktop lag analysis system provided by the embodiments of the present disclosure is shown in FIG. 4. Figure 4 As shown in the figure, the cloud desktop lag analysis system includes a cloud server 410 and a lag detection and analysis system server 420.

[0096] The lag detection and analysis system server 420 includes, but is not limited to, the following modules: a data acquisition and preprocessing module 421, a lag detection module 422, a root cause analysis module 423, and a lag mitigation strategy module 424.

[0097] The data acquisition and preprocessing module 421 is configured to acquire data during the operation of the cloud desktop, and to preprocess the acquired data so that the processed data can meet the preset storage rules and satisfy the input requirements of the lag detection module 422.

[0098] The acquired data includes at least two of the following: network delay data, network packet loss data, processor usage rate of the cloud server 410, memory usage rate data of the cloud server 410, disk read-write delay data of the cloud server 410, processor usage rate data of the terminal, and memory usage rate data of the terminal.

[0099] It should be noted that the above-mentioned acquired data are all device interaction data with time sequence characteristics acquired within a preset time period. If some of the acquired data do not have time sequence characteristics, these data need to be reordered according to their acquisition time information so that the data have time sequence characteristics.

[0100] In some embodiments, if the acquired data include extreme values, the extreme values need to be filtered out; if there are missing values between two adjacent data, a neighboring interpolation algorithm needs to be used to complete the missing values between the two data. Thus, the continuity and time sequence of the data are ensured.

[0101] The lag detection module 422 is configured to detect the unsmoothness during the use of the cloud desktop by the terminal, to determine whether there is lag in the operation of the cloud desktop, and to determine the type of the lag and output the type of the lag to the root cause analysis module 423 if it is determined that there is lag.

[0102] The types of lag include server lag and terminal lag. Server lag indicates lag caused by the cloud server 410, while terminal lag indicates lag caused by the terminal itself.

[0103] In some embodiments, the lag detection module 422 can be implemented using a preset model. By dividing the input data into training data and data to be verified, the preset model is then trained offline to obtain a trained preset model capable of accurately detecting the type of lag. Furthermore, the preset model is deployed in an online scenario to enable real-time detection of the type of lag during cloud desktop operation.

[0104] For example, the preset model can be a random forest model, which includes multiple trees, each of which processes a class of data.

[0105] By inputting the data of each category in the data to be verified into the tree corresponding to that category for processing, the degree of contribution of that category of data to the terminal lag can be obtained; then, based on the maximum value among multiple contribution degrees, the target lag level corresponding to the terminal lag is determined.

[0106] The root cause analysis module 423 is used to analyze the data input by the stuttering detection module 422 to determine the type of stuttering.

[0107] The lag mitigation strategy module 424 is used to respond to the lag type as terminal lag, obtain the preset solution strategy corresponding to the target lag level, and adjust the operation and maintenance parameters of the cloud desktop according to the preset solution strategy corresponding to the target lag level, so as to make the cloud desktop run more smoothly and thus improve the user experience.

[0108] The cloud desktop's operation and maintenance parameters may include the processor utilization rate of the cloud server 410, the memory utilization rate of the cloud server 410, and the disk read / write latency data of the cloud server 410; they may also include the processor utilization rate and memory utilization rate of the terminal.

[0109] Figure 5 This is a flowchart illustrating a cloud desktop lag analysis method provided in an embodiment of this disclosure. Figure 5 As shown, the method for analyzing the lag of this cloud desktop includes, but is not limited to, the following steps.

[0110] In step S501, the data acquisition and preprocessing module 421 acquires data during the operation of the cloud desktop and preprocesses the acquired data to obtain the processed data.

[0111] The collected data includes any one or more of network delay data f1, network packet loss data f2, processor usage rate f3 of the cloud server 410, memory usage rate f4 of the cloud server 410, disk read-write delay data f5 of the cloud server 410, processor usage rate f6 of the terminal, and memory usage rate f7 of the terminal. The processed data is data that meets the input requirements of the frame freezing detection module 422.

[0112] In some embodiments, the processed data can be divided into training data and to-be-verified data.

[0113] For example, the training data includes data collected in a sampling period of 5 minutes (min). If the collected data includes network delay data f1, network packet loss data f2, processor usage rate f3 of the cloud server 410, memory usage rate f4 of the cloud server 410, disk read-write delay data f5 of the cloud server 410, processor usage rate f6 of the terminal, and memory usage rate f7 of the terminal, a total of 7 types, the training data can be represented by a matrix A as follows:

[0114]

[0115] wherein T1 represents the first sampling period (i.e., the first 5 min), T2 represents the second sampling period (i.e., the second 5 min),..., and T5 represents the fifth sampling period (i.e., the fifth 5 min);

[0116] f 11 represents network delay data collected in the first sampling period, f 12 represents network delay data collected in the second sampling period,..., and f 15 represents network delay data collected in the fifth sampling period;

[0117] By analogy, f 71 represents the memory usage rate of the terminal collected in the first sampling period, f 12 represents the memory usage rate of the terminal collected in the second sampling period,..., and f 15 represents the memory usage rate of the terminal collected in the fifth sampling period.

[0118] It should be noted that the size of the above sampling period and the number of types of collected data can be set according to actual needs to meet different needs in different application scenarios.

[0119] In some embodiments, after obtaining the above collected data, the data collection and preprocessing module 421 also needs to preprocess the data of each category. For example, extreme values are filtered out and missing values are interpolated.

[0120] In the filtering of extreme values, a preset numerical threshold range is set to filter the collected data, so as to filter the extreme values of the data.

[0121] In some examples, during the collection of data, or during the filtering of extreme values, some data may be lost, and interpolation processing of the missing data is required.

[0122] For example, the missing data is interpolated by segmenting in the time dimension, such as using a cubic spline interpolation algorithm to interpolate the missing data.

[0123] The cubic spline interpolation algorithm is to divide the known data into several small intervals, construct a cubic polynomial function on each interval, and first and second derivatives of the cubic polynomial function are taken, so that the derivatives of different orders are continuous, and the corresponding function values are also continuous, so that the corresponding missing data is obtained, so that the processed data has good smoothness.

[0124] For example, the cubic polynomial function is represented by formula (1):

[0125] S(x)=S i (x)=a i +b i (x-x i )+c i (x-x i ) 2 +d i (x-x i ) 2 (1)

[0126] Wherein, a i , b i , c i and d i are unknown coefficients, which can be constructed by a plurality of point coordinate values (x i , y i ) to form an equation group, and the equation group is solved to obtain the values of each coefficient (i.e. a i , b i , c i and d i ), and then the equation of the entire curve is obtained, and the missing data is determined according to the equation, so as to perform interpolation processing of the missing values.

[0127] The choppiness detection module 422 can be implemented by using a preset model, which is a random forest model, and the random forest model includes a plurality of trees, each tree corresponding to processing a type of data.

[0128] Step S502, the stall detection module 422 respectively inputs each category of data into its corresponding tree for processing to obtain the contribution degree of the category of data to the stall.

[0129] It should be noted that the random forest model is a model implemented based on a bootstrap aggregating (Bagging) algorithm. The Bagging algorithm is an algorithm that reselects multiple new data sets through sampling with replacement on the original data set, and trains a classifier according to the multiple new data sets.

[0130] By combining multiple weak classifiers and obtaining the classification results input by each weak classifier, the contribution degree of each category of data to the stall is obtained through voting or averaging.

[0131] Step S503, the stall detection module 422 determines the target stall level according to the maximum value in the multiple contribution degrees.

[0132] The target stall level includes any one of the following: no stall, first stall level, second stall level, and third stall level.

[0133] In some embodiments, numbers 0-3 can be used to represent different stall levels in sequence, that is, 0 represents no stall, 1 represents the first stall level, 2 represents the second stall level, and 3 represents the third stall level.

[0134] No stall means that the data interaction is smooth and there is no stall phenomenon during the use of the cloud desktop by the terminal.

[0135] The first stall level means that there is a slight stall during the use of the cloud desktop by the terminal. For example, the operation response is slightly delayed, but it does not affect the normal use of the user.

[0136] The second stall level means that there is a moderate stall during the use of the cloud desktop by the terminal. For example, the operation response is obviously delayed, and the screen is stalled, but the terminal can still complete the corresponding operation task.

[0137] The second stall level means that there is a severe stall during the use of the cloud desktop by the terminal. For example, the operation response is extremely slow, the screen is severely stalled, and the terminal cannot normally operate the task.

[0138] In some embodiments, Figure 6 A schematic diagram of determining a target stall level corresponding to a terminal stall based on a random forest model is provided for the embodiments of the present disclosure. As shown in FIG. 6, the random forest model includes a plurality of trees, and each tree corresponds to a category of data. Figure 6As shown, the random forest model can obtain a plurality of data sets (such as data set D1, data set D2, …, data set Dn, where n is the number of data sets, and n is an integer greater than or equal to 1) by randomly sampling the data set D with replacement.

[0139] Then, for each data set, a separate classification process is performed to obtain a classifier corresponding to each data set. For example, the first classifier C1 is the classifier corresponding to the data set D1, the second classifier C2 is the classifier corresponding to the data set D2, …, and the n-th classifier Cn is the classifier corresponding to the data set Dn.

[0140] Further, the output results of each classifier are input into a voter for processing (such as selecting the output result with the largest contribution to the terminal hang, or performing an averaging operation on the output results of each classifier, etc.), and after processing by a strong classifier, the final hang level is obtained.

[0141] In some embodiments, the first classifier C1, the second classifier C2, …, and the n-th classifier Cn can be implemented using Classification And Regression Trees (CART).

[0142] Wherein, CART selects a feature from a data set by using the Gini coefficient, and then divides the data set into two data subsets according to the feature, and ensures that the Gini coefficient of each data subset is minimized; by continuously recursively dividing, each data subset is further divided in turn until the termination condition is met.

[0143] In some embodiments, the Gini coefficient Gini(D) is used to represent the purity of a data set D, where the Gini coefficient Gini(D) is calculated using formula (2):

[0144]

[0145] Wherein, p(x i ) represents the classification probability value of the i-th data x i to the terminal hang, and n represents the number of data categories; Gini(D) represents the probability that different sample data corresponding to different categories of hang are randomly extracted from the data set D. The smaller the value of Gini(D), the higher the purity of the data set D.

[0146] In some embodiments, after constructing the random forest model in the above manner, in order to ensure the generalization ability of the random forest model, pruning operation needs to be performed on the random forest model, and performance evaluation needs to be performed on the pruned model to obtain the optimal random forest model.

[0147] In some embodiments, when the random forest model is deployed into an online operation environment, it can be deployed based on a streaming data processing framework (such as a kafka stream data processing framework, or a flink data processing framework, etc.) so as to be able to schedule the random forest model in real time, obtain the target frame freezing level corresponding to the terminal frame freezing, and improve the analysis efficiency of the terminal frame freezing.

[0148] Step S504, in the case where it is determined that the type of frame freezing is terminal frame freezing, the root cause analysis module 423 determines a preset solution strategy corresponding to the target frame freezing level.

[0149] Step S505, the frame freezing alleviation strategy module 424 adjusts the operation and maintenance parameters of the cloud desktop according to the preset solution strategy corresponding to the target frame freezing level.

[0150] The preset solution strategy corresponding to the target frame freezing level is a strategy that is preset to match the target frame freezing level and can alleviate the frame freezing of the cloud desktop.

[0151] The operation and maintenance parameters include at least one of the following: a processor parameter of a cloud server (such as the number of cores and the number of threads of the processor of the cloud server used), a memory parameter of the cloud server (such as the storage frequency of the memory and the storage capacity of the memory of the cloud server used), a disk read-write parameter of the cloud server (such as the disk read-write frequency), a processor parameter of a terminal (such as the number of cores and the number of threads of the processor of the terminal used), and a memory parameter of the terminal (such as the storage frequency of the memory and the storage capacity of the memory of the terminal used).

[0152] By adjusting the above operation and maintenance parameters, the frame freezing of the cloud desktop can be alleviated, the cloud desktop can run smoothly, and the user experience can be improved.

[0153] After the above adjustment, a corresponding alleviation effect can be obtained, for example, Figure 7 A cloud desktop frame freezing analysis result schematic diagram is provided for the embodiments of the present disclosure. Through the cloud desktop frame freezing analysis result schematic diagram shown in FIG. 6, the frame freezing rate curves in different time periods and different networks can be obtained, and the “frame freezing reason distribution” and the “frame freezing source distribution” can be obtained. Figure 7 The frame freezing rate curves in different time periods and different networks can be obtained, and the “frame freezing reason distribution” and the “frame freezing source distribution” can be obtained.

[0154] The frame freezing reason distribution includes: frame freezing caused by the average packet loss rate of the client (i.e., the terminal), frame freezing caused by the desktop CPU usage rate (i.e., the usage rate of the processor of the cloud server), frame freezing caused by the average time delay of the client (i.e., the average time delay of the terminal), and frame freezing caused by the desktop memory usage rate (i.e., the memory usage rate of the cloud server).

[0155] The distribution of the stall sources includes: 90% of the stalls are analyzed (i.e., stall causes determined by the stall analysis method of the cloud desktop in the present disclosure), 8.71% of the stalls are caused by the keyboard, 1.23% of the stalls are caused by the sound, and 0.06% of the stalls are reported by the user (i.e., the terminal).

[0156] By Figure 7 As shown in the analysis result, the stall analysis method of the cloud desktop in the present disclosure can greatly improve the accuracy of the stall analysis of the cloud desktop and reduce the false positive rate of the stall of the cloud desktop, thereby facilitating the maintenance and repair of the stall of the cloud desktop by the operation and maintenance personnel in a timely manner, and improving the user experience.

[0157] In a third aspect, the present disclosure provides a stall analysis apparatus of a cloud desktop.

[0158] Figure 8 A component block diagram of a stall analysis apparatus of a cloud desktop provided by the present disclosure is provided. The stall analysis apparatus of the cloud desktop can be arranged in a cloud server, so that the cloud server can realize the detection and analysis of the stall of the cloud desktop, or the detection and root cause analysis of the stall of the video.

[0159] As Figure 8 shown, the stall analysis apparatus 800 of the cloud desktop includes but is not limited to the following modules.

[0160] The acquisition module 801 is configured to acquire information about the activity level of the terminal operating the cloud desktop.

[0161] The analysis module 802 is configured to analyze the stall of the cloud desktop according to the information about the activity level of the terminal operating the cloud desktop, and determine the type of the stall.

[0162] The type of the stall includes server stall or terminal stall, the server stall represents the stall caused by the cloud server, and the terminal stall represents the stall caused by the terminal.

[0163] It should be noted that the stall analysis apparatus of the cloud desktop in the present embodiment can realize any of the stall analysis methods of the cloud desktop in the present disclosure.

[0164] According to the cloud desktop lag analysis apparatus provided in the embodiments of the present disclosure, the information about the activity degree of the terminal operating the cloud desktop is acquired by the acquisition module, and it can be determined whether the terminal is frequently operating the cloud desktop. When the cloud desktop lags, the analysis module can analyze the lag of the cloud desktop based on the information about the activity degree, and determine the type of the lag. The type of the lag can distinguish whether the lag of the cloud desktop is caused by the cloud server or the terminal, so that the cloud server can classify the lags, and then process the data corresponding to different types of lags based on the types of the lags, thereby accelerating the processing speed of the lags, making the cloud desktop run normally, and accelerating the speed of the terminal obtaining the required data through the cloud desktop, and improving the user experience.

[0165] It should be noted that the present disclosure is not limited to the specific configurations and processes described in the above embodiments and shown in the drawings. For the convenience and brevity of description, detailed descriptions of known methods are omitted herein, and the specific working processes of the above-described systems, modules and units can refer to the corresponding processes in the foregoing method embodiments, which will not be described here in detail.

[0166] In a fourth aspect, the embodiments of the present disclosure provide an electronic device, a computer readable medium and a computer program product.

[0167] Figure 9 A block diagram of an electronic device according to the embodiments of the present disclosure is provided.

[0168] As shown in Figure 9 , the electronic device includes at least one processor 901, at least one memory 902, and one or more I / O interfaces 903. The processor 901, the memory 902 and the I / O interface 903 are connected to each other through a bus 904. The memory 902 stores one or more computer programs, and the one or more computer programs are executed by the at least one processor 901, so that the at least one processor 901 can implement any of the cloud desktop lag analysis methods described in the above embodiments.

[0169] The processor is a device with data processing capability, including but not limited to a central processing unit (CPU) and the like; the memory is a device with data storage capability, including but not limited to a random access memory (RAM, more specifically SDRAM, DDR, etc.), a read-only memory (ROM), an electrically erasable programmable read-only memory (EEPROM), a flash memory (FLASH); the I / O interface (read-write interface) is connected between the processor and the memory, and can realize the information interaction between the memory and the processor, including but not limited to a data bus (Bus) and the like.

[0170] Each of the modules in the electronic device described above can be implemented in whole or in part by software, hardware, and a combination thereof. The modules described above can be embedded in or independent of a processor in the computer device in hardware form, or stored in a memory in the computer device in software form, so as to be called and executed by a processor to perform the operations corresponding to each of the modules.

[0171] The embodiments of the present disclosure further provide a computer readable storage medium having a computer program stored thereon, wherein the computer program, when executed by a processor, implements any of the cloud desktop stuttering analysis methods described in the above embodiments. The computer readable storage medium can be a volatile or non-volatile computer readable storage medium.

[0172] The embodiments of the present disclosure further provide a computer program product comprising a computer program, which, when executed by a processor, implements the cloud desktop stuttering analysis method described above.

[0173] Those of ordinary skill in the art can understand that all or some of the functional modules / units in the steps, systems, and devices disclosed above can be implemented as software, firmware, hardware, and appropriate combinations thereof.

[0174] In a hardware implementation, the division between the functional modules / units mentioned in the above description does not necessarily correspond to the division of physical components; for example, one physical component can have multiple functions, or one function or step can be performed by several physical components in cooperation.

[0175] Some or all of the physical components can be implemented as software executed by a processor, such as a central processing unit (CPU), a digital signal processor, or a microprocessor, or hardware, or a combination of software and / or hardware. Such software can be distributed on computer readable media, which can comprise computer storage media (or non-transitory media), and communication media (or transitory media). Computer storage media, as used herein, includes volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data. Computer storage media includes, but is not limited to, random access memory (RAM), such as SDRAM, DDR, or other RAM, read only memory (ROM), electrically erasable programmable read only memory (EEPROM), flash memory, or other memory technology, compact disc read only memory (CD-ROM), digital versatile disks (DVD) or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium that can be used to store the desired information and that can be accessed by a computer. Further, it should be appreciated by those skilled in the art that computer storage media generally includes computer readable instructions, data structures, program modules, or other data in a modulated data signal such as a carrier wave or other transport mechanism and includes any information delivery media. Communication media typically embodies computer readable instructions, data structures, program modules or other data in a modulated data signal such as a carrier wave or other transport mechanism and includes any information delivery media. Accordingly, the disclosure is not limited to entirely software based embodiments implemented using computers other embodiments can be implemented using hardware, firmware, software, or any combination thereof.

[0176] The present disclosure has disclosed example embodiments, and although the specific terms are employed, they are used in a generic descriptive sense only and not for purposes of limitation. In some instances, it will be apparent to those skilled in the art that features, characteristics or / and elements described in connection with a particular embodiment can be used in conjunction with other embodiments unless otherwise explicitly stated, or in the alternative, used in isolation. Accordingly, it will be understood by those skilled in the art that various changes in form and details can be made without departing from the scope of the present disclosure as set forth in the appended claims.

Claims

1. A method for analyzing a stall of a cloud desktop, comprising: obtaining information about an activity level of a terminal operating the cloud desktop; analyzing a stall of the cloud desktop according to the information about the activity level of the terminal operating the cloud desktop, and determining a type of the stall; wherein the type of the stall comprises a server stall or a terminal stall, the server stall representing a stall caused by a cloud server, and the terminal stall representing a stall caused by the terminal.

2. The method of claim 1, wherein, The analyzing a stall of the cloud desktop according to the information about the activity level of the terminal operating the cloud desktop, and determining a type of the stall, comprises: in a case where the activity level exceeds a preset degree threshold, determining that the type of the stall is the terminal stall; in a case where the activity level does not exceed the preset degree threshold, determining that the type of the stall is the server stall.

3. The method of claim 2, wherein, The activity level is determined based on a frequency of the terminal operating the cloud desktop through a hardware device thereof, and the frequency is positively correlated with the activity level.

4. The method of claim 1, wherein, The method further comprises: obtaining a plurality of to-be-verified data, the plurality of to-be-verified data comprising device interaction data of at least two different categories; inputting the plurality of to-be-verified data into a preset model for analysis, and determining a target stall level.

5. The method of claim 4, wherein, The preset model is a random forest model, and the random forest model comprises a plurality of trees, each of which corresponds to processing one category of data. The inputting the plurality of to-be-verified data into a preset model for analysis, and determining a target stall level, comprises: inputting each category of data into a corresponding tree for processing, and obtaining a contribution degree of the category of data to the stall; determining the target stall level according to a maximum value of the plurality of contribution degrees. 6.The method of claim 4, wherein the to-be-verified data are device interaction data with a time sequence characteristic collected within a preset time period. 7.The method of claim 4, wherein the target stall level comprises any one of the following: no stall, a first stall level, a second stall level, and a third stall level.

8. The method of claim 4, wherein, The to-be-verified data comprise at least two of the following: network latency data, network packet loss data, processor usage rate data of the cloud server, memory usage rate data of the cloud server, disk read-write latency data of the cloud server, processor usage rate data of the terminal, and memory usage rate data of the terminal.

9. The method of any one of claims 4 to 8, wherein, After the inputting the plurality of to-be-verified data into a preset model for analysis, and determining a target stall level, the method further comprises: in response to the type of the stall being a terminal stall, obtaining a preset resolution strategy corresponding to the target stall level; adjusting an operation and maintenance parameter of the cloud desktop according to the preset resolution strategy corresponding to the target stall level.

10. The method of claim 9, wherein, The operation and maintenance parameter of the cloud desktop comprises an operation and maintenance parameter of a terminal operating the cloud desktop, and / or an operation and maintenance parameter of a cloud server corresponding to the cloud desktop. The preset solution strategy corresponding to the target frame freezing level includes any one of the following: a first level strategy, a second level strategy; the first level strategy is a strategy of adjusting operation and maintenance parameters of a terminal operating the cloud desktop; and the second level strategy is a strategy of simultaneously adjusting operation and maintenance parameters of a terminal operating the cloud desktop and operation and maintenance parameters of a cloud server corresponding to the cloud desktop. 11.An electronic device, comprising a memory and a processor; the memory stores a computer program executable by the processor, and the computer program is executed by the processor to implement the frame freezing analysis method of the cloud desktop according to any one of claims 1 to 10. 12.A computer readable medium, having stored thereon a computer program, the computer program being executed by a processor to implement the frame freezing analysis method of the cloud desktop according to any one of claims 1 to 10. 13.A computer program product, comprising a computer program, the computer program being executed by a processor to implement the frame freezing analysis method of the cloud desktop according to any one of claims 1 to 10.