CN112732399B - Switching method of desktop display protocol, computing device and readable storage medium - Google Patents
Switching method of desktop display protocol, computing device and readable storage medium Download PDFInfo
- Publication number
- CN112732399B CN112732399B CN202110349863.XA CN202110349863A CN112732399B CN 112732399 B CN112732399 B CN 112732399B CN 202110349863 A CN202110349863 A CN 202110349863A CN 112732399 B CN112732399 B CN 112732399B
- Authority
- CN
- China
- Prior art keywords
- display protocol
- virtual desktop
- current virtual
- application
- load data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 76
- 230000008569 process Effects 0.000 claims description 17
- 238000003066 decision tree Methods 0.000 claims description 6
- 230000007246 mechanism Effects 0.000 claims description 6
- 235000013599 spices Nutrition 0.000 claims description 6
- 230000008859 change Effects 0.000 claims description 5
- 238000012544 monitoring process Methods 0.000 claims description 4
- 238000004891 communication Methods 0.000 description 16
- 238000010586 diagram Methods 0.000 description 7
- 238000011161 development Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 238000012545 processing Methods 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 238000012549 training Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000011068 loading method Methods 0.000 description 2
- 230000007723 transport mechanism Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
- G06F9/452—Remote windowing, e.g. X-Window System, desktop virtualisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/10—Terrestrial scenes
Abstract
The invention discloses a switching method of a virtual desktop display protocol, which is executed in computing equipment and comprises the following steps: acquiring load data of an application corresponding to the current virtual desktop and load data of a server side based on a trigger condition; according to the load data of the application and the load data of the server side, identifying the use scene of the application by using the trained scene identification model; determining a display protocol matched with the current virtual desktop according to the application scene and the association table; and switching the actual display protocol according to the determined display protocol matched with the current virtual desktop and the actual display protocol of the current virtual desktop. The invention also discloses a corresponding device, a computing device and a readable storage medium. The switching method of the virtual desktop display protocol improves the user experience and reduces the consumption of bandwidth resources.
Description
Technical Field
The invention relates to the field of computers, in particular to a method and a device for switching a virtual desktop display protocol, a computing device and a readable storage medium.
Background
With the increasing maturity of virtualization technology and its wide application prospect, virtualization has become a research hotspot today. Virtualization can be generally divided into server virtualization, network virtualization, storage virtualization, and desktop virtualization. Among them, the former three kinds of virtualization, especially server virtualization, have been widely used by IT, but as the virtualization technology extends to desktop computing, the desktop virtualization technology is more and more concerned by people.
The ultimate goal of a virtual desktop is to provide a user experience that approaches or even exceeds what can be achieved using a traditional local computer desktop, where the most central technical factor is the desktop display protocol. At present, no desktop display protocol can be applied to all application scenarios, so that the user experience is affected by statically determining the display protocol of the user at the beginning of the creation of the user desktop.
Disclosure of Invention
To this end, the present invention provides a method, an apparatus, a computing device and a readable storage medium for switching a virtual desktop display protocol, in an effort to solve or at least alleviate the above-existing problems.
According to an aspect of the present invention, there is provided a method for switching a virtual desktop display protocol, adapted to be executed in a computing device, in which an association table of a display protocol and a usage scenario of an application is stored, the method including: acquiring load data of an application corresponding to the current virtual desktop and load data of a server side based on a trigger condition; according to the load data of the application and the load data of the server side, identifying the use scene of the application by using the trained scene identification model; determining a display protocol matched with the current virtual desktop according to the application scene and the association table; and switching the actual display protocol according to the determined display protocol matched with the current virtual desktop and the actual display protocol of the current virtual desktop.
Optionally, in the method for switching a virtual desktop display protocol according to the present invention, the trigger condition is that a change value of the load data at the server side at a certain time is greater than a first predetermined value.
Optionally, in the switching method of the virtual desktop display protocol according to the present invention, the scene recognition model adopts a decision tree model.
Optionally, in the method for switching a display protocol of a virtual desktop according to the present invention, the step of switching an actual display protocol according to the determined display protocol matched with the current virtual desktop and the actual display protocol of the current virtual desktop includes: judging whether the determined display protocol matched with the current virtual desktop is consistent with the actual display protocol of the current virtual desktop or not; when the determined display protocol matched with the current virtual desktop is inconsistent with the actual display protocol of the current virtual desktop, switching the actual display protocol of the current virtual desktop into the display protocol matched with the current virtual desktop; and when the determined display protocol matched with the current virtual desktop is consistent with the actual display protocol of the current virtual desktop, continuing to use the actual display protocol of the current virtual desktop.
Optionally, in the method for switching a display protocol of a virtual desktop according to the present invention, in the step of switching the actual display protocol of the current virtual desktop to the display protocol matching the current virtual desktop, the actual display protocol of the current virtual desktop is switched to the display protocol matching the current virtual desktop based on the device lock mechanism.
Optionally, in the method for switching a display protocol of a virtual desktop according to the present invention, the step of switching an actual display protocol of a current virtual desktop to a display protocol matching the current virtual desktop based on a device lock mechanism includes: when the determined display protocol matched with the current virtual desktop is inconsistent with the actual display protocol of the current virtual desktop, locking the client, and monitoring a cache queue at the client side for storing the decoding content of the display protocol; and when the buffer queue is empty, switching the actual display protocol of the current virtual desktop into the display protocol matched with the current virtual desktop, and unlocking the client.
Optionally, in the method for switching a virtual desktop display protocol according to the present invention, the load data of the application includes a CPU usage rate, a memory usage rate, a network usage rate, a disk usage rate of the process of the application, and the number of file handles held by the process of the application, and the load data of the server side includes a CPU usage rate, a memory usage rate, a network usage rate, and a disk usage rate of the system.
Optionally, in the method for switching the virtual desktop display protocol according to the present invention, the display protocol includes rdp protocol, spice protocol and vnc protocol.
According to another aspect of the present invention, there is provided an apparatus for switching a virtual desktop display protocol, which resides in a computing device, wherein the computing device stores an association table of usage scenarios and display protocols of applications, the apparatus comprising: the acquisition module is suitable for acquiring the load data of the application corresponding to the current virtual desktop and the load data of the server side based on the trigger condition; the recognition module is suitable for recognizing the application use scene by using the trained scene recognition model according to the application load data and the server side load data; the determining module is suitable for determining a display protocol matched with the current virtual desktop according to the application scene and the association table; and the switching module is suitable for switching the actual display protocol according to the determined display protocol matched with the current virtual desktop and the actual display protocol of the current virtual desktop.
According to yet another aspect of the invention, there is provided a computing device comprising: at least one processor; and a memory storing program instructions, wherein the program instructions are configured to be executed by the at least one processor, the program instructions comprising instructions for performing the method for switching the virtual desktop display protocol according to the present invention.
According to still another aspect of the present invention, there is provided a readable storage medium storing program instructions that, when read and executed by a computing device, cause the computing device to execute a switching method of a virtual desktop display protocol according to the present invention.
According to the switching method of the virtual desktop display protocol, firstly, based on the trigger condition, the load data of the application corresponding to the current virtual desktop and the load data of the server side are obtained. And then, according to the load data of the application and the load data of the server side, using the trained scene recognition model to recognize the use scene of the application. Then, according to the application use scene and the association table, a display protocol matched with the current virtual desktop is determined. And finally, switching the actual display protocol according to the determined display protocol matched with the current virtual desktop and the actual display protocol of the current virtual desktop. Therefore, in the process that the user uses the virtual desktop, the method and the device can identify the use scene of the desktop in real time according to the load data of the application corresponding to the current virtual desktop and the load data of the server side, and dynamically adjust the display protocol, so that the display protocol which is most matched with the current virtual desktop is always used by the user, the experience of the user can be improved, and the consumption of bandwidth resources can be reduced.
Drawings
To the accomplishment of the foregoing and related ends, certain illustrative aspects are described herein in connection with the following description and the annexed drawings, which are indicative of various ways in which the principles disclosed herein may be practiced, and all aspects and equivalents thereof are intended to be within the scope of the claimed subject matter. The above and other objects, features and advantages of the present disclosure will become more apparent from the following detailed description read in conjunction with the accompanying drawings. Throughout this disclosure, like reference numerals generally refer to like parts or elements.
FIG. 1 is a diagram illustrating a method for switching a virtual desktop display protocol according to one embodiment of the invention;
FIG. 2 illustrates a block diagram of a computing device 200, according to one embodiment of the invention;
FIG. 3 illustrates a flow diagram of a method 300 for switching a virtual desktop display protocol according to one embodiment of the invention;
fig. 4 is a block diagram illustrating a switching apparatus 400 of a virtual desktop display protocol according to an embodiment of the present invention.
Detailed Description
Exemplary embodiments of the present disclosure will be described in more detail below with reference to the accompanying drawings. While exemplary embodiments of the present disclosure are shown in the drawings, it should be understood that the present disclosure may be embodied in various forms and should not be limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the disclosure to those skilled in the art.
The efficiency of the desktop display protocol can greatly affect the performance of the channel, and simply, the higher the protocol, the better the experience of the user end. That is, the effectiveness of the desktop display protocol directly impacts the experience of the virtual desktop user. In view of the above, the present invention provides a method for dynamically adjusting a display protocol according to an application scenario actually used by a user during a process of using a virtual desktop by the user, based on a point that different desktop display protocols are different in operation situations under different application scenarios. Specifically, referring to fig. 1, in the process that a user uses a virtual desktop, the invention identifies the application type and the usage scenario used by the user in real time based on the load data of the application corresponding to the virtual desktop and the load data of the server side, and further provides the user with a display protocol most matched with the currently used application scenario, so that the efficiency of various desktop display protocols can be fully exerted, the experience of the user can be improved, and especially for users with rich usage scenarios. In addition, the display protocol switching method can ensure that the display protocol which is most matched with the currently used application scene is always used by the user, thereby saving bandwidth resources.
FIG. 2 shows a block diagram of a computing device 200, according to one embodiment of the invention. It should be noted that the computing device 200 shown in fig. 2 is only an example, and in practice, the computing device for implementing the switching method of the virtual desktop display protocol of the present invention may be any type of device, and the hardware configuration thereof may be the same as that of the computing device 200 shown in fig. 2 or different from that of the computing device 200 shown in fig. 2. In practice, the computing device for implementing the switching method of the virtual desktop display protocol according to the present invention may add or delete hardware components of the computing device 200 shown in fig. 2, and the present invention does not limit the specific hardware configuration of the computing device.
As shown in FIG. 2, in a basic configuration 202, a computing device 200 typically includes a system memory 206 and one or more processors 204. A memory bus 208 may be used for communication between the processor 204 and the system memory 206.
Depending on the desired configuration, the processor 204 may be any type of processing, including but not limited to: a microprocessor (μ P), a microcontroller (μ C), a digital information processor (DSP), or any combination thereof. The processor 204 may include one or more levels of cache, such as a level one cache 210 and a level two cache 212, a processor core 214, and registers 216. Example processor cores 214 may include Arithmetic Logic Units (ALUs), Floating Point Units (FPUs), digital signal processing cores (DSP cores), or any combination thereof. The example memory controller 218 may be used with the processor 204, or in some implementations the memory controller 218 may be an internal part of the processor 204.
Depending on the desired configuration, system memory 206 may be any type of memory, including but not limited to: volatile memory (such as RAM), non-volatile memory (such as ROM, flash memory, etc.), or any combination thereof. The physical memory in the computing device is usually referred to as a volatile memory RAM, and data in the disk needs to be loaded into the physical memory to be read by the processor 204. System memory 206 may include an operating system 220, one or more applications 222, and program data 224. In some implementations, the application 222 can be arranged to execute instructions on the operating system with the program data 224 by the one or more processors 204. Operating system 220 may be, for example, Linux, Windows, or the like, which includes program instructions for handling basic system services and for performing hardware-dependent tasks. The application 222 includes program instructions for implementing various user-desired functions, and the application 222 may be, for example, but not limited to, a browser, instant messenger, a software development tool (e.g., an integrated development environment IDE, a compiler, etc.), and the like. When the application 222 is installed into the computing device 200, a driver module may be added to the operating system 220.
When the computing device 200 is started, the processor 204 reads program instructions of the operating system 220 from the memory 206 and executes them. Applications 222 run on top of operating system 220, utilizing the interface provided by operating system 220 and the underlying hardware to implement various user-desired functions. When the user starts the application 222, the application 222 is loaded into the memory 206, and the processor 204 reads the program instructions of the application 222 from the memory 206 and executes the program instructions.
A network communication link may be one example of a communication medium. Communication media may typically be embodied by computer readable instructions, data structures, program modules, and may include any information delivery media, such as carrier waves or other transport mechanisms, in a modulated data signal. A "modulated data signal" may be a signal that has one or more of its data set or its changes made in such a manner as to encode information in the signal. By way of non-limiting example, communication media may include wired media such as a wired network or private-wired network, and various wireless media such as acoustic, Radio Frequency (RF), microwave, Infrared (IR), or other wireless media. The term computer readable media as used herein may include both storage media and communication media.
In the computing device 200 according to the present invention, the application 222 includes instructions for performing the switching method 300 of the virtual desktop display protocol of the present invention, which may instruct the processor 204 to perform the switching method of the virtual desktop display protocol of the present invention. It will be appreciated by those skilled in the art that the application 222 may include other applications 226 for implementing other functions in addition to instructions for performing the switching method 300 of the virtual desktop display protocol.
FIG. 3 illustrates a flow diagram of a method 300 for switching virtual desktop display protocols, the method 300 being suitable for execution in a computing device (e.g., the computing device 200 shown in FIG. 3), according to one embodiment of the invention.
The computing device stores an association table of usage scenarios and display protocols of applications. The display protocols comprise rdp protocol, spice protocol and vnc protocol, and the use scenario of the application and the association table of the display protocols can be obtained by a theoretical analysis method. For example, the rdp display protocol cannot display the BIOS screen, but it performs well in terms of color, audio, and usb transmissions, whereas users are working with office software, which involves much interaction with small data volumes, and the user's screen content typically varies little. Therefore, when a user uses the office software for office work, it is more appropriate to use the rdp display protocol, and the office scene of the office application can be associated with the rdp display protocol. Of course, in order to ensure the accuracy of the obtained usage scenario and display protocol association table of the application, after obtaining the usage scenario and display protocol association table of the application through theoretical analysis, the usage scenario and display protocol association table of the application may be further revised through experimental tests. The present invention is not limited in particular to the method for obtaining the association table of the usage scenario and the display protocol of the application.
In addition, it is explained here that, since there are a plurality of usage scenarios for some applications and the display protocol suitable for each usage scenario is different, the present invention stores the association table of the usage scenarios and the display protocols of the applications. For example, the love art audio and video software has two use scenes. When a user browses on the interface of the Aiqiyi audio-visual software, the browsing scene of the Aiqiyi application is used, the protocol is suitable for rdp display, and when the user watches videos on the Aiqiyi audio-visual software, the watching scene of the Aiqiyi application is used, and the protocol is suitable for spice display. Therefore, the invention associates the browsing scene of the Aichi art application with the rdp display protocol and associates the viewing scene of the Aichi art application with the spice display protocol.
As shown in fig. 3, the method 300 for switching the virtual desktop display protocol starts at step S310. In step S310, load data of an application corresponding to the current virtual desktop and load data of the server side are obtained based on the trigger condition. The load data of the application comprises data which can represent the process characteristics of the application, such as the CPU utilization rate, the memory utilization rate, the network utilization rate, the disk utilization rate, the number of file handles held by the process of the application and the like of the process of the application. The server-side load data includes, but is not limited to, CPU usage, memory usage, network usage, and disk usage of the system.
According to an embodiment of the present invention, the trigger condition may be that a variation value of the load data on the server side at a certain time is larger than a first predetermined value. The method comprises the steps of monitoring load data of a server side in real time, and acquiring the load data of an application corresponding to a current virtual desktop and the load data of the server when a change value of the load data of the server side at a certain moment is larger than a first preset value. And acquiring the load data of the application corresponding to the current virtual desktop and the load data of the server as long as the change value of any load data at the server side at a certain moment is greater than a first preset value. For example, if the network usage rate of the server side at a certain time is suddenly increased compared to the previous time, and the change value is greater than the first predetermined value, the load data of the application corresponding to the current virtual desktop and the load data of the server are obtained. The value of the first predetermined value is not particularly limited. In the specific embodiment, a person skilled in the art can set the setting according to actual needs.
For convenience, the trigger condition may be set to a predetermined time, that is, the load data corresponding to the current virtual desktop and the load data on the server side may be acquired once every predetermined time. The triggering condition may be set by a person skilled in the art according to actual needs, and the present invention is not limited to this.
It should be noted that, the virtual desktop can be displayed on the client device, which shows that a corresponding application program is running on the server side. Thus, each virtual desktop necessarily corresponds to an application, and the current virtual desktop corresponds to the application to which the current active window corresponds.
And then, the process goes to step S320, and the trained scene recognition model is used to recognize the usage scene of the application according to the load data of the application and the load data of the server side. The scene recognition model may adopt a decision tree model. When the decision tree model is adopted, a training sample set is obtained firstly, each sample in the training sample set is load data of an application and load data of a server side, and a label of the sample is a use scene of the application. And then, training a decision tree by using the acquired sample set to obtain a trained scene recognition model. According to an embodiment of the present invention, the load data of the application includes a CPU usage rate, a memory usage rate, a network usage rate, a disk usage rate of the process of the application, and the number of file handles held by the process of the application, and the load data of the server side includes a CPU usage rate, a memory usage rate, a network usage rate, and a disk usage rate of the system. It should be noted that other models may be used as the scene recognition model, and the present invention is not limited in this respect.
The generation of the scene recognition model file is described below with a specific example. Scenario a of a known application is first run on a development machine. Then, the load data of the development machine (i.e., the load data of the system) and the load data of the application are collected, and the collected result is recorded to the file a. And analogizing in sequence, collecting system load data and application load data under various application scenes on a development machine, and sequentially recording the system load data and the application load data to the files B, C and D. Finally, the load data files (A, B, C, D,...) under various scenes of various applications are trained into model files, namely scene recognition model files (namely scene recognition models), through a development library related to a machine learning decision tree.
Obviously, after the trained scene recognition model is obtained, the obtained load data of the application corresponding to the current virtual desktop and the obtained load data of the server side are input into the trained scene recognition model, so that the use scene of the application corresponding to the current virtual desktop can be obtained. As an example, assuming that the current virtual desktop displays a frame of a video being played by the aitchicraft software, that is, the user is currently watching the video using the aitchicraft software, the load data of the aitchicraft software playing the video (i.e., the load data of the current active window) and the load data of the system loading the video at that time (i.e., the load data of the server at that time) are input into the trained scene recognition model, so that the watching scene currently used by the aitchicraft application can be recognized.
And then, the step S330 is carried out, and the display protocol matched with the current virtual desktop is determined according to the application use scene and the association table. After the use scene of the application is obtained, the display protocol associated with the use scene of the application can be obtained by comparing the use scene with the stored association table, that is, the display protocol associated with the use scene of the application corresponding to the current virtual desktop is obtained, so that the display protocol is the display protocol matched with the current virtual desktop.
And then, step S340 is performed, and the actual display protocol is switched according to the determined display protocol matched with the current virtual desktop and the actual display protocol of the current virtual desktop. Specifically, whether the determined display protocol matched with the current virtual desktop is consistent with the actual display protocol of the current virtual desktop is judged. And when the determined display protocol matched with the current virtual desktop is inconsistent with the actual display protocol of the current virtual desktop, switching the actual display protocol of the current virtual desktop into the display protocol matched with the current virtual desktop.
In order to prevent the display protocol from being jammed during switching and affecting the user experience, according to an embodiment of the present invention, the actual display protocol of the current virtual desktop may be switched to the display protocol matching the current virtual desktop based on the device lock mechanism.
Specifically, when desktop display protocols such as rdp, spice, vnc and the like are analyzed on the client side, the desktop display protocols are uniformly analyzed into standard local device instructions which can be displayed by the display device, then the device instructions obtained through analysis are pressed into a cache queue, and locking and unlocking are set for pressing and popping of the cache queue.
When the determined display protocol matched with the current virtual desktop is inconsistent with the actual display protocol of the current virtual desktop, locking the client side (which can be considered as locking the cache queue) first, and monitoring the cache queue on the client side for storing the display protocol decoded content (i.e. the content decoded by the display protocol). Then, when the buffer queue is empty, the actual display protocol of the current virtual desktop is switched to the display protocol matched with the current virtual desktop, and the client is unlocked (it can be considered as unlocking the buffer queue).
Therefore, when the display protocol is determined to be switched, the display device is locked firstly. And then, switching the display protocol when the buffer queue is empty. And finally, unlocking the display equipment after the display protocol is switched. The switching of the display protocol is completed through the three steps, so that the smooth transition of the display protocol can be realized, and the consistency of the display picture of the client is ensured.
When the determined display protocol matched with the current virtual desktop is consistent with the actual display protocol of the current virtual desktop, the display protocol of the current virtual desktop is not adjusted, and the actual display protocol of the current virtual desktop is continuously used.
In addition, it is described herein that the switching method of the virtual desktop display protocol according to the present invention can be executed on both the client side and the server side. When the virtual desktop is operated on the client side, the load data of the application corresponding to the current virtual desktop and the load data of the server side are sent to the client side by the server. And when the display protocol switching is determined to be performed, the client side sends a protocol switching instruction to the server side, namely, the client and the server both switch the currently used display protocol to the display protocol matched with the current virtual desktop. The transmission of the load data and the protocol switching instruction is carried out in a self-established private network channel of the server and the client, and the channel and the display protocol channel are not interfered with each other. Similarly, when the client side operates on the server side and determines to switch the display protocol according to the load data, the server side also sends a protocol switching instruction to the client side, so that the client side and the server both switch the currently used display protocol to the display protocol matched with the current virtual desktop.
Fig. 4 shows a block diagram of a switching apparatus 400 for a virtual desktop display protocol according to an embodiment of the present invention, which is suitable for residing in a computing device 200, wherein an association table of a display protocol and a usage scenario of an application is stored in the computing device. As shown in fig. 4, the switching apparatus 400 of the virtual desktop display protocol includes an obtaining module 410, an identifying module 420, a determining module 430, and a switching module 440.
The obtaining module 410 is adapted to obtain load data of an application corresponding to the current virtual desktop and load data of the server side based on the trigger condition.
And the recognition module 420 is adapted to recognize the usage scenario of the application by using the trained scenario recognition model according to the load data of the application and the load data of the server side.
And the determining module 430 is adapted to determine a display protocol matched with the current virtual desktop according to the application use scene and the association table.
The switching module 440 is adapted to switch the actual display protocol according to the determined display protocol matched with the current virtual desktop and the actual display protocol of the current virtual desktop.
The details of the switching device 400 for the virtual desktop display protocol according to the present invention are disclosed in detail in the description based on fig. 1 and fig. 3, and are not described herein again.
According to the switching method of the virtual desktop display protocol, firstly, based on the trigger condition, the load data of the application corresponding to the current virtual desktop and the load data of the server side are obtained. And then, according to the load data of the application and the load data of the server side, using the trained scene recognition model to recognize the use scene of the application. And finally, determining a display protocol matched with the current virtual desktop according to the application use scene and the association table. And when the determined display protocol matched with the current virtual desktop is inconsistent with the actual display protocol of the current virtual desktop, switching the actual display protocol of the current virtual desktop into the display protocol matched with the current virtual desktop. Therefore, when a user accesses a virtual machine in a server through terminal equipment or a personal PC to display a virtual desktop, the method and the system can identify the use scene of the current desktop (namely the scene of the currently used application) in real time based on the load data of the application corresponding to the virtual desktop and the load data of the server side, and provide a display protocol which is most matched with the currently used application scene for the user. Obviously, the switching method of the virtual desktop display protocol can give full play to the efficiency of various display protocols, thereby improving the experience of users and reducing the consumption of bandwidth resources.
In addition, the display protocol is switched based on the equipment locking mechanism, and the actual display protocol of the current virtual desktop is switched to the display protocol matched with the current virtual desktop only when the buffer queue is empty, so that the continuity of the display picture of the client can be ensured, and the user experience is further improved.
The various techniques described herein may be implemented in connection with hardware or software or, alternatively, with a combination of both. Thus, the methods and apparatus of the present invention, or certain aspects or portions thereof, may take the form of program code (i.e., instructions) embodied in tangible media, such as removable hard drives, U.S. disks, floppy disks, CD-ROMs, or any other machine-readable storage medium, wherein, when the program is loaded into and executed by a machine, such as a computer, the machine becomes an apparatus for practicing the invention.
In the case of program code execution on programmable computers, the computing device will generally include a processor, a storage medium readable by the processor (including volatile and non-volatile memory and/or storage elements), at least one input device, and at least one output device. Wherein the memory is configured to store program code; the processor is configured to execute the document loading method of the present invention according to instructions in the program code stored in the memory.
By way of example, and not limitation, readable media may comprise readable storage media and communication media. Readable storage media store information such as computer readable instructions, data structures, program modules or other data. 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. Combinations of any of the above are also included within the scope of readable media.
In the description provided herein, algorithms and displays are not inherently related to any particular computer, virtual system, or other apparatus. Various general purpose systems may also be used with examples of this invention. The required structure for constructing such a system will be apparent from the description above. Moreover, the present invention is not directed to any particular programming language. It is appreciated that a variety of programming languages may be used to implement the teachings of the present invention as described herein, and any descriptions of specific languages are provided above to disclose the best mode of the invention.
In the description provided herein, numerous specific details are set forth. It is understood, however, that embodiments of the invention may be practiced without these specific details. In some instances, well-known methods, structures and techniques have not been shown in detail in order not to obscure an understanding of this description.
It should be appreciated that in the foregoing description of exemplary embodiments of the invention, various features of the invention are sometimes grouped together in a single embodiment, figure, or description thereof for the purpose of streamlining the disclosure and aiding in the understanding of one or more of the various inventive aspects. However, the disclosed method should not be interpreted as reflecting an intention that: that the invention as claimed requires more features than are expressly recited in each claim. Rather, as the following claims reflect, inventive aspects lie in less than all features of a single foregoing disclosed embodiment. Thus, the claims following the detailed description are hereby expressly incorporated into this detailed description, with each claim standing on its own as a separate embodiment of this invention.
Those skilled in the art will appreciate that the modules or units or components of the devices in the examples disclosed herein may be arranged in a device as described in this embodiment or alternatively may be located in one or more devices different from the devices in this example. The modules in the foregoing examples may be combined into one module or may be further divided into multiple sub-modules.
Those skilled in the art will appreciate that the modules in the device in an embodiment may be adaptively changed and disposed in one or more devices different from the embodiment. The modules or units or components of the embodiments may be combined into one module or unit or component, and furthermore they may be divided into a plurality of sub-modules or sub-units or sub-components. All of the features disclosed in this specification (including any accompanying claims, abstract and drawings), and all of the processes or elements of any method or apparatus so disclosed, may be combined in any combination, except combinations where at least some of such features and/or processes or elements are mutually exclusive. Each feature disclosed in this specification (including any accompanying claims, abstract and drawings) may be replaced by alternative features serving the same, equivalent or similar purpose, unless expressly stated otherwise.
Furthermore, those skilled in the art will appreciate that while some embodiments described herein include some features included in other embodiments, rather than other features, combinations of features of different embodiments are meant to be within the scope of the invention and form different embodiments. For example, in the following claims, any of the claimed embodiments may be used in any combination.
Furthermore, some of the described embodiments are described herein as a method or combination of method elements that can be performed by a processor of a computer system or by other means of performing the described functions. A processor having the necessary instructions for carrying out the method or method elements thus forms a means for carrying out the method or method elements. Further, the elements of the apparatus embodiments described herein are examples of the following apparatus: the apparatus is used to implement the functions performed by the elements for the purpose of carrying out the invention.
As used herein, unless otherwise specified the use of the ordinal adjectives "first", "second", "third", etc., to describe a common object, merely indicate that different instances of like objects are being referred to, and are not intended to imply that the objects so described must be in a given sequence, either temporally, spatially, in ranking, or in any other manner.
While the invention has been described with respect to a limited number of embodiments, those skilled in the art, having benefit of this description, will appreciate that other embodiments can be devised which do not depart from the scope of the invention as described herein. Furthermore, it should be noted that the language used in the specification has been principally selected for readability and instructional purposes, and may not have been selected to delineate or circumscribe the inventive subject matter. Accordingly, many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the appended claims. The present invention has been disclosed in an illustrative rather than a restrictive sense, and the scope of the present invention is defined by the appended claims.
Claims (10)
1. A switching method of a virtual desktop display protocol is suitable for being executed in a computing device, wherein an association table of a use scene and a display protocol of an application is stored in the computing device, and the method comprises the following steps:
acquiring load data of an application corresponding to a current virtual desktop and load data of a server side based on a trigger condition, wherein the load data of the application comprises the CPU utilization rate, the memory utilization rate, the network utilization rate and the disk utilization rate of a process of the application and the number of file handles held by the process of the application, and the load data of the server side comprises the CPU utilization rate, the memory utilization rate, the network utilization rate and the disk utilization rate of a system;
according to the load data of the application and the load data of the server side, identifying the use scene of the application by using a trained scene identification model;
determining a display protocol matched with the current virtual desktop according to the application scene and the association table;
and switching the actual display protocol according to the determined display protocol matched with the current virtual desktop and the actual display protocol of the current virtual desktop.
2. The method of claim 1, wherein the trigger condition is that a change value of the load data on the server side at a certain time is greater than a first predetermined value.
3. The method of claim 1 or 2, wherein the scene recognition model employs a decision tree model.
4. The method as claimed in claim 1 or 2, wherein the step of switching the actual display protocol according to the determined display protocol matching with the current virtual desktop and the actual display protocol of the current virtual desktop comprises:
judging whether the determined display protocol matched with the current virtual desktop is consistent with the actual display protocol of the current virtual desktop or not;
when the determined display protocol matched with the current virtual desktop is inconsistent with the actual display protocol of the current virtual desktop, switching the actual display protocol of the current virtual desktop into the display protocol matched with the current virtual desktop;
and when the determined display protocol matched with the current virtual desktop is consistent with the actual display protocol of the current virtual desktop, continuing to use the actual display protocol of the current virtual desktop.
5. The method of claim 4, wherein in the step of switching the actual display protocol of the current virtual desktop to a display protocol matching the current virtual desktop, the actual display protocol of the current virtual desktop is switched to a display protocol matching the current virtual desktop based on a device lock mechanism.
6. The method of claim 5, wherein the step of switching the actual display protocol of the current virtual desktop to a display protocol matching the current virtual desktop based on the device lock mechanism comprises:
when the determined display protocol matched with the current virtual desktop is inconsistent with the actual display protocol of the current virtual desktop, locking the client, and monitoring a cache queue at the client side for storing the decoding content of the display protocol;
and when the cache queue is empty, switching the actual display protocol of the current virtual desktop into the display protocol matched with the current virtual desktop, and unlocking the client.
7. The method of claim 1 or 2, wherein the display protocols comprise the rdp protocol, the spice protocol, and the vnc protocol.
8. An apparatus for switching a virtual desktop display protocol, residing in a computing device, in which an association table of a display protocol and a usage scenario of an application is stored, the apparatus comprising:
the acquisition module is suitable for acquiring load data of an application corresponding to a current virtual desktop and load data of a server side based on a trigger condition, wherein the load data of the application comprises the CPU utilization rate, the memory utilization rate, the network utilization rate, the disk utilization rate of the application process and the number of file handles held by the application process, and the load data of the server side comprises the CPU utilization rate, the memory utilization rate, the network utilization rate and the disk utilization rate of a system;
the recognition module is suitable for recognizing the use scene of the application by using a trained scene recognition model according to the load data of the application and the load data of the server side;
the determining module is suitable for determining a display protocol matched with the current virtual desktop according to the application scene and the association table;
and the switching module is suitable for switching the actual display protocol according to the determined display protocol matched with the current virtual desktop and the actual display protocol of the current virtual desktop.
9. A computing device, comprising:
at least one processor; and
a memory storing program instructions, wherein the program instructions are configured to be executed by the at least one processor, the program instructions comprising instructions for performing the method of any of claims 1-7.
10. A readable storage medium storing program instructions that, when read and executed by a computing device, cause the computing device to perform the method of any of claims 1-7.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110349863.XA CN112732399B (en) | 2021-03-31 | 2021-03-31 | Switching method of desktop display protocol, computing device and readable storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110349863.XA CN112732399B (en) | 2021-03-31 | 2021-03-31 | Switching method of desktop display protocol, computing device and readable storage medium |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112732399A CN112732399A (en) | 2021-04-30 |
CN112732399B true CN112732399B (en) | 2021-07-16 |
Family
ID=75596235
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110349863.XA Active CN112732399B (en) | 2021-03-31 | 2021-03-31 | Switching method of desktop display protocol, computing device and readable storage medium |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112732399B (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117149470A (en) * | 2023-10-31 | 2023-12-01 | 西安雷风电子科技有限公司 | Cloud desktop connection method, device, equipment and system |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101770399A (en) * | 2009-01-05 | 2010-07-07 | 联想(北京)有限公司 | Electronic equipment, method and device for switching operating system desktop |
CN103595578A (en) * | 2013-11-01 | 2014-02-19 | 福建升腾资讯有限公司 | Method and system for evaluating performance of desktop cloud terminal in virtualization application scene |
CN106686149A (en) * | 2017-03-23 | 2017-05-17 | 江苏磐数信息科技有限公司 | Terminal-to-terminal enterprise-level dynamic virtual desktop delivery method |
CN107229409A (en) * | 2017-05-24 | 2017-10-03 | 中兴通讯股份有限公司 | The operating method and device of remote virtual desktop system |
CN111901414A (en) * | 2020-07-27 | 2020-11-06 | 山东超越数控电子股份有限公司 | Realization method and realization system of secure desktop transmission protocol based on virtualization environment |
CN111984350A (en) * | 2020-07-23 | 2020-11-24 | 深圳市秦班科技有限公司 | Information acquisition and analysis method based on virtual reality technology |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11475636B2 (en) * | 2017-10-31 | 2022-10-18 | Vmware, Inc. | Augmented reality and virtual reality engine for virtual desktop infrastucture |
-
2021
- 2021-03-31 CN CN202110349863.XA patent/CN112732399B/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101770399A (en) * | 2009-01-05 | 2010-07-07 | 联想(北京)有限公司 | Electronic equipment, method and device for switching operating system desktop |
CN103595578A (en) * | 2013-11-01 | 2014-02-19 | 福建升腾资讯有限公司 | Method and system for evaluating performance of desktop cloud terminal in virtualization application scene |
CN106686149A (en) * | 2017-03-23 | 2017-05-17 | 江苏磐数信息科技有限公司 | Terminal-to-terminal enterprise-level dynamic virtual desktop delivery method |
CN107229409A (en) * | 2017-05-24 | 2017-10-03 | 中兴通讯股份有限公司 | The operating method and device of remote virtual desktop system |
CN111984350A (en) * | 2020-07-23 | 2020-11-24 | 深圳市秦班科技有限公司 | Information acquisition and analysis method based on virtual reality technology |
CN111901414A (en) * | 2020-07-27 | 2020-11-06 | 山东超越数控电子股份有限公司 | Realization method and realization system of secure desktop transmission protocol based on virtualization environment |
Also Published As
Publication number | Publication date |
---|---|
CN112732399A (en) | 2021-04-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI729472B (en) | Method, device and server for determining feature words | |
WO2020038128A1 (en) | Video processing method and device, electronic device and computer readable medium | |
US20100254622A1 (en) | Methods for dynamically selecting compression method for graphics remoting | |
US8947438B2 (en) | Reducing font instructions | |
WO2020038130A1 (en) | Video processing method and apparatus, electronic device, and computer-readable medium | |
US10360046B2 (en) | Using contextual and spatial awareness to improve remote desktop imaging fidelity | |
JP2016535890A (en) | Virtual session benchmarking tool for measuring performance and / or scalability of a centralized desktop environment | |
CN109542361A (en) | A kind of distributed memory system file reading, system and relevant apparatus | |
US20080209048A1 (en) | Loading A Mirror Driver In Remote Terminal Server Session | |
CN107544970B (en) | Apparatus and method for dynamic partial rendering of browser | |
CN113473214B (en) | Screen recording method and device, computing equipment and readable storage medium | |
CN113730902A (en) | Download-free operation method for game | |
CN112732399B (en) | Switching method of desktop display protocol, computing device and readable storage medium | |
CN110874298B (en) | Request data storage method and terminal equipment | |
US9609042B1 (en) | Generation of background content requests for performance analysis | |
CN114391260A (en) | Character recognition method and device, storage medium and electronic equipment | |
CN116401462A (en) | Interactive data analysis method and system applied to digital sharing | |
CN108351888B (en) | Generating deferrable data streams | |
CN112905931B (en) | Page information display method and device, electronic equipment and storage medium | |
CN111563259B (en) | Puppet process detection method and device, readable storage medium and computing device | |
CN112165634B (en) | Method for establishing audio classification model and method and device for automatically converting video | |
JPWO2014024255A1 (en) | Terminal and video playback program | |
CN112114806A (en) | Display interface generation method, device and system | |
WO2011023109A1 (en) | Method, device and system for processing chapter of electronic book | |
KR20160109805A (en) | System for cloud streaming service, method of image cloud streaming service using split of changed image and apparatus for the same |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |