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 PDF

Info

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
Application number
CN202110349863.XA
Other languages
Chinese (zh)
Other versions
CN112732399A (en
Inventor
贺毅涛
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Uniontech Software Technology Co Ltd
Original Assignee
Uniontech Software Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Uniontech Software Technology Co Ltd filed Critical Uniontech Software Technology Co Ltd
Priority to CN202110349863.XA priority Critical patent/CN112732399B/en
Publication of CN112732399A publication Critical patent/CN112732399A/en
Application granted granted Critical
Publication of CN112732399B publication Critical patent/CN112732399B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • G06F9/452Remote windowing, e.g. X-Window System, desktop virtualisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/10Terrestrial 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

Switching method of desktop display protocol, computing device and readable storage medium
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.
Computing device 200 also includes storage device 232, storage device 232 including removable storage 236 and non-removable storage 238, each of removable storage 236 and non-removable storage 238 being connected to storage interface bus 234.
Computing device 200 may also include an interface bus 240 that facilitates communication from various interface devices (e.g., output devices 242, peripheral interfaces 244, and communication devices 246) to the basic configuration 202 via the bus/interface controller 230. The example output device 242 includes a graphics processing unit 148 and an audio processing unit 250. They may be configured to facilitate communication with various external devices, such as a display or speakers, via one or more a/V ports 252. Example peripheral interfaces 244 can include a serial interface controller 254 and a parallel interface controller 256, which can be configured to facilitate communications with external devices such as input devices (e.g., keyboard, mouse, pen, voice input device, touch input device) or other peripherals (e.g., printer, scanner, etc.) via one or more I/O ports 258. An example communication device 246 may include a network controller 260, which may be arranged to facilitate communications with one or more other computing devices 262 over a network communication link via one or more communication ports 264.
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.
CN202110349863.XA 2021-03-31 2021-03-31 Switching method of desktop display protocol, computing device and readable storage medium Active CN112732399B (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (6)

* Cited by examiner, † Cited by third party
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