Cloud application processing method and apparatus, and device

By generating a desktop screenshot of transparent pixels on the server and displaying it in the full-screen transparent window of the terminal device, the problem of terminal devices that need to split the screen image is solved, and the effect of efficient display of cloud applications is achieved and the user experience is improved.

WO2025149955A1PCT designated stage expired Publication Date: 2025-07-17CLOUD INTELLIGENCE ASSETS HOLDING (SINGAPORE) PTE LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
PCT/IB2025/050276
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-01-12
Filing Date
2025-01-10
Publication Date
2025-07-17

AI Technical Summary

Technical Problem

In the prior art, the terminal device needs to split the screen image based on window position information, resulting in low efficiency and poor user experience of display cloud applications.

Method used

The server generates a desktop screenshot image and sets the pixels in the non-window area as transparent pixels. The terminal device displays the image in a transparent target window with a full screen, simplifying the processing logic of the terminal device and improving display efficiency.

Benefits of technology

By simplifying the processing logic of terminal devices, the efficiency of display cloud applications is improved, the user experience is improved, and the interaction complexity between terminal devices and servers is reduced.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure IB2025050276_17072025_PF_FP_ABST
    Figure IB2025050276_17072025_PF_FP_ABST
Patent Text Reader

Abstract

The present invention provides a cloud application processing method and apparatus, and a device. The method is applied to a terminal device, and comprises: obtaining a first screen image in a server, wherein the first screen image comprises a window area and a non-window area of at least one cloud application, and pixels of the non-window area are transparent pixels; and displaying the first screen image in a target window of the terminal device, wherein the target window is a window having a transparent background, and the target window is a top-level window of the terminal device. The efficiency of displaying a cloud application is improved.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] This disclosure claims priority to Chinese patent application number 202410052042.3, filed with the China Patent Office on January 12, 2024, entitled "Method, Apparatus, and Device for Processing Cloud Applications," the entire contents of which are incorporated herein by reference. Technical Field This disclosure relates to the field of computers, and more particularly to a method, apparatus, and device for processing cloud applications. Background: Cloud applications are applications installed on a server, and terminal devices may have icons corresponding to these applications. Users can access cloud applications on a server through their terminal devices. In related technologies, a server can determine a screen image, synchronize the screen image to the terminal device, and then synchronize window position information corresponding to each cloud application to the terminal device via a window information channel. After receiving the window position information, the terminal device can determine the display window corresponding to each cloud application in the screen image based on the window position information. However, in the above approach, the terminal device must split the screen image based on window position information to determine the display window corresponding to the cloud application. This complex processing logic results in low cloud application display efficiency. SUMMARY Various aspects of the present disclosure provide a method, apparatus, and device for processing cloud applications to improve the efficiency of cloud application display. In a first aspect, embodiments of the present disclosure provide a cloud application processing method, applied to a terminal device. The method includes: acquiring a first screen image from a server, the first screen image including at least one cloud application window area and a non-window area, wherein pixels in the non-window area are transparent; and displaying the first screen image in a target window of the terminal device, the target window being a top-level window of the terminal device with a transparent background. In one possible implementation, acquiring the first screen image from the server includes: sending a synchronization request to the server in response to an operation on the cloud application in the terminal device; and receiving the first screen image corresponding to the synchronization request from the server. In one possible implementation, the synchronization request includes the screen resolution of the terminal device; receiving the first screen image corresponding to the synchronization request sent by the server includes: receiving encoded data sent by the server, the encoded data being obtained by the server encoding the first screen image of the server, and the resolution of the first screen image being the same as the screen resolution; decoding the encoded data to obtain the first screen image.In one possible embodiment, displaying the first screen image in a target window of the terminal device includes: determining whether the target window exists in the terminal device; if so, updating the image in the target window to the first screen image; if not, creating the target window at the top level of the display screen of the terminal device and displaying the first screen image in the target window. In one possible embodiment, updating the image in the target window to the first screen image includes: determining whether the target window is at the top level of the display screen; if so, updating the image in the target window to the first screen image; if not, setting the target window as the top-level window and displaying the first screen image in the target window. In one possible embodiment, the method further includes: acquiring a mouse event input in the target window; determining an operation position corresponding to the mouse event in the target window; and performing a corresponding response operation based on the operation position. In one possible embodiment, performing a corresponding response operation based on the operation position includes: if the operation position is located in the window area of ​​the target window, determining the target cloud application corresponding to the operation position and performing an operation on the target cloud application; if the operation position is located in the non-window area of ​​the target window, determining whether a local application window of a local application exists at the operation position; if so, displaying the local application window in the target window and performing an operation on the local application. In one possible embodiment, performing an operation on the target cloud application includes: sending an identifier of the target cloud application and the mouse event to the server; receiving a second screen image sent by the server, the second screen image being an image obtained after the server performs an operation on the target cloud application according to the mouse event; and updating the first screen image in the target window to the second screen image. In a second aspect, embodiments of the present disclosure provide a method for processing cloud applications, applied to a server. The method comprises: obtaining a screenshot image of the server's desktop, the screenshot image including a window area and a non-window area of ​​at least one cloud application; setting pixels in the non-window area of ​​the screenshot image to transparent pixels to obtain a first screen image; and sending the first screen image to a terminal device. In one possible implementation, obtaining the server's desktop screenshot image comprises: obtaining a screen resolution of the terminal device; and obtaining the desktop screenshot image based on the screen resolution.In one possible implementation, sending the first screen image to a terminal device includes: encoding the first screen image to obtain encoded data; and sending the encoded data to the terminal device. In a third aspect, embodiments of the present disclosure provide a cloud application processing device, applied to a terminal device, comprising: a first acquisition module and a display module. The first acquisition module is configured to acquire a first screen image from a server, wherein the first screen image includes a window area of ​​at least one cloud application and a non-window area, wherein pixels in the non-window area are transparent pixels; and the display module is configured to display the first screen image in a target window of the terminal device, wherein the target window is a window with a transparent background and is the top-level window of the terminal device. In one possible implementation, the first acquisition module is specifically configured to: in response to an operation on the cloud application on the terminal device, send a synchronization request to the server; and receive the first screen image corresponding to the synchronization request, sent by the server. In one possible implementation, the synchronization request includes the screen resolution of the terminal device. The first acquisition module is specifically configured to: The encoded data is sent to the terminal device. In a fifth aspect, an embodiment of the present disclosure provides a terminal device, comprising: a memory and a processor; the memory stores computer-executable instructions; the processor executes the computer-executable instructions stored in the memory, causing the processor to perform any of the methods described in the first aspect. In a sixth aspect, an embodiment of the present disclosure provides a server, comprising: a memory and a processor; the memory stores computer-executable instructions; the processor executes the computer-executable instructions stored in the memory, causing the processor to perform any of the methods described in the second aspect. In a seventh aspect, an embodiment of the present disclosure provides a computer-readable storage medium, wherein the computer-readable storage medium stores computer-executable instructions. When the computer-executable instructions are executed by the processor, the processor performs any of the methods described in the first aspect. In an eighth aspect, an embodiment of the present disclosure provides a computer-readable storage medium, wherein the computer-executable instructions are stored. When the computer-executable instructions are executed by the processor, the processor performs any of the methods described in the second aspect. In a ninth aspect, an embodiment of the present disclosure provides a computer program product, comprising a computer program. When executed by the processor, the computer program performs any of the methods described in the first aspect. In a tenth aspect, embodiments of the present disclosure provide a computer program product, including a computer program. When executed by a processor, the computer program implements the method described in any one of the second aspects. Embodiments of the present disclosure provide a method, apparatus, and device for processing cloud applications. A server can obtain a screenshot of the server's desktop and, in the screenshot, set pixels in non-window areas to transparent pixels to obtain a first screen image. The server can send the first screen image to a terminal device, so that the terminal device receives the first screen image. The terminal device can display the first screen image in a target window of the terminal device. Because the target window in the terminal device is a full-screen transparent window, and because the pixels in non-window areas of the first screen image are transparent pixels, the effect is achieved that, while the first screen image is displayed, only the window area of ​​at least one cloud application is actually displayed. Compared to the prior art, the terminal device does not need to split the first screen image, simplifying the terminal device's processing logic and improving the efficiency of displaying cloud applications. BRIEF DESCRIPTION OF THE DRAWINGS The drawings described herein are provided to provide a further understanding of the present disclosure and constitute a part of the present disclosure. The exemplary embodiments of the present disclosure and their descriptions are provided to explain the present disclosure and do not constitute undue limitations thereon.In the accompanying drawings: Figure 1 is a scenario diagram provided by an exemplary embodiment of the present disclosure; Figure 2 is a process diagram of a cloud application processing method in related technology; Figure 3 is a flow diagram of a cloud application processing method provided by an exemplary embodiment of the present disclosure; Figure 4 is a schematic diagram of a desktop screenshot image provided by an exemplary embodiment of the present disclosure; Figure 5 is a schematic diagram of a first screen image provided by an exemplary embodiment of the present disclosure; Figure 6 is a flow diagram of another cloud application processing method provided by an exemplary embodiment of the present disclosure; Figure 7 is a process diagram of a cloud application processing method provided by an exemplary embodiment of the present disclosure; Figure 8 is a flow diagram of operating a cloud application in a terminal device provided by an exemplary embodiment of the present disclosure; Figure 9 is a schematic diagram of an operating position provided by an exemplary embodiment of the present disclosure; Figure 10 is a structural diagram of a cloud application processing device provided by an exemplary embodiment of the present disclosure; Figure 11 is a structural diagram of a cloud application processing device provided by an exemplary embodiment of the present disclosure; Figure 12 is a structural diagram of a cloud application processing device provided by an exemplary embodiment of the present disclosure; Figure 13 is a structural diagram of a terminal device provided by an exemplary embodiment of the present disclosure; Figure 14 is a structural diagram of a server provided by an exemplary embodiment of the present disclosure. Specific Implementation Methods: It should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, storage, and display) involved in this disclosure are all authorized by the user or fully authorized by all parties. The collection, use, and processing of relevant data must comply with relevant laws, regulations, and standards, and corresponding operation portals are provided for users to choose to authorize or reject. To further clarify the objectives, technical solutions, and advantages of this disclosure, the technical solutions of this disclosure will be clearly and completely described below in conjunction with specific embodiments of this disclosure and the corresponding drawings. Obviously, the described embodiments are only some of the embodiments of this disclosure, and are not exhaustive. All other embodiments derived by persons of ordinary skill in the art based on the embodiments of this disclosure without inventive effort are within the scope of protection of this disclosure. Figure 1 is a schematic diagram of a scenario provided by an exemplary embodiment of this disclosure. Referring to Figure 1, a server and a terminal device are included. Cloud application 1 and cloud application 2 may be installed on the server. O Users can use cloud applications 1 and 2 in the server through terminal devices ODuring the use of cloud applications 1 and 2, the server can send a first screen image to the terminal device, which can then display the first screen image in a target window. The first screen image can include window area 1 corresponding to cloud application 1 and window area 2 corresponding to cloud application 2. In related art, the server can determine the screen image, synchronize the screen image with the terminal device, and then synchronize the window position information corresponding to each cloud application to the terminal device via a window information channel. After receiving the window position information, the terminal device can determine the display window corresponding to each cloud application in the screen image based on the window position information. However, in this approach, the terminal device must split the screen image based on the window position information to determine the display window corresponding to the cloud application, which complicates the processing logic and results in inefficient display of the cloud applications. In the disclosed embodiment, the server can send the first screen image to the terminal device. Pixels in the non-window areas of the first screen image can be transparent pixels. The terminal device can display the first screen image in a full-screen target window with a transparent background. Because the target window in the terminal device is a full-screen transparent window, and the pixels in the non-window area of ​​the first screen image are transparent, the effect is achieved that, while the first screen image is displayed, only the window area of ​​at least one cloud application is actually displayed. Compared to the prior art, the terminal device does not need to split the first screen image, simplifying the terminal device's processing logic and improving the efficiency of displaying cloud applications. To facilitate understanding of the technical solution of this disclosure, the related art is described below in conjunction with Figure 2. Figure 2 is a process diagram of a cloud application processing method in the related art. Referring to Figure 2, a server and a terminal device are included. A user can operate at least one cloud application on the terminal device. The server can determine the virtual desktop corresponding to the user. Assume that the virtual desktop may include window area 1 corresponding to cloud application 1, window area 2 corresponding to cloud application 2, and a non-window area, where the non-window area includes icon 1. The server can determine the screen image corresponding to the virtual desktop and encode the screen image to obtain encoded data. The server can also determine the position information of the window area corresponding to the at least one cloud application in the screen image to obtain window position information. For example, the screen image may include window area 1 corresponding to cloud application 1, window area 2 corresponding to cloud application 2, and a non-window area, where the non-window area includes icon 1. The window position information may include position information 1 of window area 1 and position information 2 of window area 2. The server may send the encoded data to the terminal device and send the window position information through a window information channel.After receiving the encoded data and window position information, the terminal device can decode the encoded data to obtain a screen image, and then split the screen image based on the window position information to obtain a window area corresponding to at least one cloud application, and then display the window area corresponding to the at least one cloud application. For example, the terminal device can determine window area 1 corresponding to cloud application 1 and window area 1 corresponding to cloud application 2 in the screen image based on the window position information, and then display window area 1 corresponding to cloud application 1 and window area 1 corresponding to cloud application 2. In the related art shown in FIG2 , the server needs to monitor window events and send window position information to the terminal device; the terminal device needs to split the screen image based on the window position information to determine the window area corresponding to at least one cloud application in the screen image. This complex processing logic results in low efficiency in displaying cloud applications and a poor user experience using cloud applications. The technical solutions disclosed in this disclosure are described in detail below through specific embodiments. It should be noted that the following embodiments may exist independently or in combination with each other, and identical or similar content will not be repeated in different embodiments. FIG3 is a flow chart illustrating a method for processing a cloud application according to an exemplary embodiment of the present disclosure. Referring to FIG3 , the method may include:

[0002] S301. The server obtains a desktop screenshot image of the server. The server may have at least one cloud application installed. A user may use the cloud application on the server through a terminal device. The desktop screenshot image includes the window area and non-window area of ​​at least one cloud application. The desktop screenshot image refers to a screenshot image of a virtual desktop generated by the server. Below, a desktop screenshot image is described with reference to FIG4 . FIG4 is a schematic diagram of a desktop screenshot image provided by an exemplary embodiment of the present disclosure. Referring to FIG4 , the desktop screenshot image may include window area 1 corresponding to cloud application 1, window area 2 corresponding to cloud application 2, and a non-window area, where the non-window area includes icon 1. Pixels in the non-window area are non-transparent. Optionally, the server may obtain a desktop screenshot image while the user is using a cloud application. For example, if the user is using cloud application 1 and cloud application 2, the server may obtain the desktop screenshot image shown in FIG4 .

[0003] S302. The server sets the pixels in the non-window area of ​​the desktop screenshot image to transparent pixels to obtain a first screen image. Since the pixels in the non-window area may be non-transparent, the server may set the pixels in the non-window area to transparent pixels to obtain the first screen image. The first screen image may include the window area of ​​at least one cloud application and a non-window area. The pixels in the non-window area are transparent pixels. The color channel values ​​of the transparent pixels may be RGB (0, 0, 0). The first screen image is described below with reference to FIG5 . FIG5 is a schematic diagram of the first screen image provided by an exemplary embodiment of the present disclosure. Referring to FIG5 , if the desktop screenshot image is as shown in FIG4 , the server may set the pixels in the non-window area of ​​the desktop screenshot image to transparent pixels to obtain the first screen image. As shown in FIG5 , the first screen image may include window area 1 corresponding to cloud application 1, window area 2 corresponding to cloud application 2, and a non-window area. The pixels in the non-window area are transparent pixels, that is, icon 1 in the non-window area is also transparent pixels, making icon 1 invisible.

[0004] S303. The server sends the first screen image to the terminal device. For example, the first screen image is as shown in FIG5 . The server may send the first screen image to the terminal device so that the terminal device obtains the first screen image from the server.

[0005] S304. The terminal device displays the first screen image in a target window of the terminal device. The target window is a window with a transparent background and is the top-level window of the terminal device. For example, if the first screen image received by the terminal device is as shown in FIG5 , the target window can be determined and the first screen image can be displayed in the target window. In an embodiment of the present disclosure, the server can obtain a screenshot of the server's desktop and set the pixels in the non-window area of ​​the desktop screenshot to transparent pixels to obtain the first screen image. The server can send the first screen image to the terminal device so that the terminal device receives the first screen image. The terminal device can display the first screen image in the target window of the terminal device. Because the target window in the terminal device is a full-screen transparent window and the pixels in the non-window area of ​​the first screen image are transparent pixels, the effect is achieved that although the first screen image is displayed, only the window area of ​​at least one cloud application is actually displayed. Compared to the existing technology, the terminal device does not need to split the first screen image, simplifying the terminal device's processing logic and improving the efficiency of displaying cloud applications. The following describes the cloud application processing method in detail based on the embodiment shown in FIG3 and in conjunction with FIG6 . FIG6 is a flow chart illustrating another method for processing a cloud application according to an exemplary embodiment of the present disclosure. Referring to FIG6 , the method may include:

[0006] In step 5601, in response to an operation on a cloud application on a terminal device, the terminal device sends a synchronization request to a server. A user may operate a cloud application on a terminal device. In response to the user's operation on the cloud application, the terminal device may send a synchronization request to the server. Optionally, the synchronization request may include the screen resolution of the terminal device, and may also include a cloud application identifier and a user identifier. For example, in response to user 1's operation on cloud application 2, the terminal device may send synchronization request 1 to the server. Assuming the screen resolution of the terminal device is 1920px x 1080px (pixels), synchronization request 1 may include the screen resolution of 1920px x 1080px, the identifier of cloud application 2, APP002, and the user identifier UE001. o

[0007] S602. The server obtains a screenshot image of the server's desktop. Optionally, the server's desktop screenshot image can be obtained by obtaining the screen resolution of the terminal device and obtaining the desktop screenshot image based on the screen resolution. After receiving the synchronization request, the server can obtain the user identifier and the screen resolution of the terminal device in the synchronization request. The server can determine the virtual desktop corresponding to the user based on the user identifier and set the resolution of the virtual desktop to the screen resolution based on the screen resolution, thereby obtaining the desktop screenshot image of the virtual desktop. The resolution of the desktop screenshot image is the same as the screen resolution of the terminal device. For example, if the server receives synchronization request 1, which includes a screen resolution of 1920px x 1080px and user identifier UE001, the server can determine virtual desktop 1 corresponding to user 1 based on user identifier UE001 and set the resolution of virtual desktop 1 to 1920px x 1080px based on the screen resolution of 1920px x 1080px. o The server can obtain a desktop screenshot image 1 of the virtual desktop 1. The desktop screenshot image 1 can be as shown in FIG4. The resolution of the desktop screenshot image 1 is 1920px X 1080px. o

[0008] At step S603, the server sets the pixels in the non-window area of ​​the desktop screenshot image to transparent pixels to obtain a first screen image. For example, if the desktop screenshot image is shown in FIG4 , the pixels in the non-window area can be set to transparent pixels to obtain a first screen image, as shown in FIG5 . The resolution of the first screen image is the same as the resolution of the desktop screenshot image, that is, the same as the screen resolution of the terminal device.

[0009] S604. The server sends the first screen image corresponding to the synchronization request to the terminal device. Optionally, the first screen image can be sent to the terminal device in the following manner: encoding the first screen image to obtain encoded data; and sending the encoded data to the terminal device. The terminal device can receive the encoded data sent by the server and decode the encoded data to obtain the first screen image. For example, if the first screen image is as shown in FIG5 , the server can encode the first screen image to obtain encoded data 1, and send encoded data 1 to the terminal device. After receiving encoded data 1, the terminal device can decode encoded data 1 to obtain the first screen image. The resolution of the first screen image is the same as the screen resolution of the terminal device.

[0010] S605. The terminal device determines whether a target window exists in the terminal device. The target window may be a full-screen window with a transparent background. The resolution of the target window is the screen resolution of the terminal device. The terminal device may determine whether a target window exists. If yes, S606 may be executed; if no, S607 may be executed. o

[0011] S606. The terminal device updates the image in the target window to the first screen image. In an optional embodiment, the image in the target window can be updated to the first screen image in the following manner: determining whether the target window is located at the top layer of the display screen; if so, updating the image in the target window to the first screen image; if not, setting the target window as the top layer window and displaying the first screen image in the target window. A top layer window refers to a window located at the topmost layer of the display screen. For example, if target window 1 exists in the terminal device, it can be determined whether target window 1 is located at the top layer of the display screen. If so, the image in target window 1 can be updated to the first screen image shown in FIG. 5; if not, setting target window 1 as the top layer window and displaying the first screen image shown in FIG. 5 in target window 1.

[0012] S607. The terminal device creates a target window at the top level of the terminal device's display screen and displays the first screen image in the target window. If the target window does not exist on the terminal device, a target window may be created at the top level of the display screen. The target window may be a full-screen window with a transparent background. The resolution of the target window is the terminal device's screen resolution. The terminal device may display the first screen image in the target window. Because the resolution of the target window is the terminal device's screen resolution, and the resolution of the first screen image is the same as the terminal device's screen resolution, the first screen image can fit the target window without image distortion. For example, if the terminal device determines that the target window does not exist, it may create target window 1 at the top level of the display screen. Target window 1 may be a full-screen window with a transparent background. The terminal device may display the first screen image shown in FIG5 in target window 1. The technical solution of this disclosure can achieve a window streaming effect based on a full-screen streaming approach. That is, although the server sends the first screen image to the terminal device, the terminal device actually displays only the window area of ​​at least one cloud application. The overall logic is relatively simple, and compared to full-screen streaming, it provides a better user experience. The server does not need to monitor and send window information to the terminal device, improving the compatibility of cloud applications, reducing the logical complexity of the interaction between the terminal device and the server, and avoiding issues such as window information errors or delays that lead to a poor user experience. The terminal device does not need to split the first screen image, simplifying the terminal device's processing logic and improving the efficiency of displaying cloud applications. In an embodiment of the present disclosure, the terminal device can send a synchronization request to the server in response to an operation on the cloud application on the terminal device. The server can obtain a screenshot of the server's desktop and set the pixels in the non-window area of ​​the desktop screenshot to transparent pixels to obtain a first screen image. The server can then send the first screen image corresponding to the synchronization request to the terminal device. The terminal device can determine whether a target window exists on the terminal device. If so, the terminal device can update the image in the target window to the first screen image. If not, the terminal device can create a target window on the top layer of the terminal device's display screen and display the first screen image in the target window. Because the target window in the terminal device is a full-screen transparent window, and the pixels in the non-window area of ​​the first screen image are transparent pixels, the effect of displaying the first screen image while actually only displaying the window area of ​​at least one cloud application is achieved. Compared with the existing technology, the terminal device does not need to split the first screen image, which simplifies the processing logic of the terminal device and improves the efficiency of displaying cloud applications.Based on any of the above embodiments, and in conjunction with Figure 7 , a cloud application processing method will be further described in detail. Figure 7 is a schematic diagram of a cloud application processing method provided by an exemplary embodiment of the present disclosure. Referring to Figure 7 , steps ①, ②, ③, ④, ⑤, ⑥, and ⑦ are included. In step ①, the terminal device may send a synchronization request to the server in response to a user's operation on the cloud application on the terminal device. For example, the synchronization request may include the terminal device's screen resolution of 1920px x 1080px, the user identifier UE001, and the identifier APP002 of cloud application 2. oIn step 2, after receiving the synchronization request, the server can determine the virtual desktop corresponding to the user based on the user identifier and set the resolution of the virtual desktop to the screen resolution based on the screen resolution, thereby obtaining a desktop screenshot image of the virtual desktop. For example, the desktop screenshot image may include window area 1 corresponding to cloud application 1, window area 2 corresponding to cloud application 2, and a non-window area. The non-window area may include icon 1, and the pixels in the non-window area are non-transparent pixels. In step 3, the server sets the pixels in the non-window area in the desktop screenshot image to transparent pixels to obtain a first screen image. For example, the first screen image may include window area 1 corresponding to cloud application 1, window area 2 corresponding to cloud application 2, and a non-window area. The pixels in the non-window area are transparent pixels, that is, icon 1 in the non-window area is also transparent pixels, so that icon 1 is not visible. In step 4, the server may encode the first screen image to obtain encoded data. In step 5, the server may send the encoded data to the terminal device. In step 6, after receiving the encoded data, the terminal device can decode the encoded data to obtain the first screen image. In step 7, the terminal device can display the first screen image in the target window. Specifically, the terminal device can determine whether a target window exists. If so, the image in the target window can be updated to the first screen image. If not, the terminal device can create a target window at the top level of the display screen and display the first screen image in the target window. The target window is a full-screen window with a transparent background. Note that in Figure 7, the local application window in the terminal device is located below the target window. Because the target window is a full-screen window with a transparent background, and the non-window area of ​​the first screen image is transparent pixels, displaying the first screen image in the target window does not affect the local application window corresponding to the local application. In embodiments of the present disclosure, the terminal device can send a synchronization request to the server in response to an operation on the cloud application in the terminal device. The server may obtain a screenshot of the server's desktop and set the pixels in the non-window area of ​​the screenshot to transparent pixels to obtain a first screen image. The server may then send the first screen image corresponding to the synchronization request to the terminal device. The terminal device may determine whether a target window exists on the terminal device. If so, the terminal device may update the image in the target window to the first screen image. If not, the terminal device may create a target window on top of the terminal device's display screen and display the first screen image in the target window.Because the target window in the terminal device is a full-screen transparent window, and the pixels in the non-window area of ​​the first screen image are transparent, the effect is achieved that, while the first screen image is displayed, only the window area of ​​at least one cloud application is actually displayed. Compared to the prior art, the terminal device does not need to split the first screen image, simplifying the terminal device's processing logic and improving the efficiency of displaying cloud applications. Figure 8 is a schematic diagram of a process for operating a cloud application in a terminal device according to an exemplary embodiment of the present disclosure. Referring to Figure 8, the method may include:

[0013] S801. Obtain mouse events input in a target window. A user can use a mouse to perform operations in a target window of a terminal device. The terminal device can obtain mouse events in the target window in response to the user operations. For example, if a user uses a mouse to close cloud application 2 in the target window of the terminal device, the terminal device can obtain mouse event 1. Mouse event 1 indicates the closing operation of cloud application 2.

[0014] S802. Determine the operation position corresponding to the mouse event in the target window. Optionally, the terminal device may display at least one cloud application in the target window and may also display a local application on the display screen. The local application is not in the target window. Since the target window is a full-screen window with a transparent background, a user operation in the target window may be performed on a cloud application in the target window or on a local application. Therefore, the operation position corresponding to the mouse event can be determined in the target window, and the target application of the user operation can be determined based on the operation position. The target application can be a cloud application or a local application.

[0015] S803. If the operation location is located in a window area within the target window, the terminal device determines the target cloud application corresponding to the operation location and performs an operation on the target cloud application. The operation location is described below with reference to FIG9 . FIG9 is a schematic diagram of an operation location provided in an exemplary embodiment of the present disclosure. For example, if the target window includes window area 1 corresponding to cloud application 1 and window area 2 corresponding to cloud application 2, and the operation location is located in window area 2, the terminal device may determine that the target cloud application corresponding to the operation location is cloud application 2 and perform an operation on cloud application 2. In an optional embodiment, the target cloud application may be operated in the following manner: sending the target cloud application identifier and a mouse event to a server; receiving a second screen image sent by the server; and updating the first screen image in the target window to the second screen image. The second screen image may be an image obtained by the server performing an operation on the target cloud application based on the mouse event. For example, if mouse event 1 is a closing operation on cloud application 2, the target cloud application is cloud application 2, and the identifier of cloud application 2 is APP002, the terminal device can send cloud application 2 identifier APP002 and mouse event 1 to the server. If the first screen image on the server is as shown in Figure 5, after receiving cloud application 2 identifier APP002 and mouse event 1, the server can close cloud application 2 based on mouse event 1, obtain a second screen image, and send the second screen image to the terminal device. The second screen image can include window area 1 and non-window area corresponding to cloud application 1. Pixels in the non-window area of ​​the second screen image are transparent. After receiving the second screen image, the terminal device can update the first screen image in the target window to the second screen image, that is, the target window can display window area 1 corresponding to cloud application 1.

[0016] S804: If the operation location is in the non-window area of ​​the target window, determine whether a local application window of the local application exists at the operation location. If so, display the local application window above the target window and perform operations on the local application. Optionally, the terminal device may adjust the hierarchy of the local application window to display the local application window above the target window. For example, as shown in FIG9 , if the operation location is in the non-window area of ​​the target window, the terminal device may determine whether a local application window of the local application exists at the operation location. If local application window 1 of local application 1 exists at the operation location, the terminal device may adjust the hierarchy of the local application window to display local application window 1 above the target window and perform operations on local application 1. In embodiments of the present disclosure, the terminal device may obtain mouse events input in the target window and determine the operation location corresponding to the mouse event in the target window. If the operation location is within the window area of ​​the target window, the terminal device determines the target cloud application corresponding to the operation location and performs the operation on the target cloud application. If the operation location is within the non-window area of ​​the target window, the terminal device determines whether a local application window of the local application exists at the operation location. If so, the local application window is displayed above the target window, and the operation is performed on the local application. Because the target window is a full-screen, transparent window, and the terminal device can switch between the local application window and the target window, operations on the local application window are not affected, thus improving the user experience. Figure 10 is a first structural diagram of a cloud application processing device provided in accordance with an exemplary embodiment of the present disclosure. Referring to Figure 10 , the cloud application processing device 10 is applied to a terminal device and includes: a first acquisition module 11 and a display module 12. The first acquisition module 11 is configured to acquire a first screen image from a server, wherein the first screen image includes at least one window area of ​​a cloud application and a non-window area, wherein pixels in the non-window area are transparent pixels; and the display module 12 is configured to display the first screen image in a target window of the terminal device, wherein the target window is a window with a transparent background and is the top-level window of the terminal device. In one possible embodiment, the first acquisition module 11 is specifically configured to: send a synchronization request to the server in response to an operation on the cloud application in the terminal device; and receive the first screen image corresponding to the synchronization request sent by the server.In one possible embodiment, the synchronization request includes the screen resolution of the terminal device; the first acquisition module 11 is specifically configured to: receive encoded data sent by the server, the encoded data obtained by the server encoding the server's first screen image, the resolution of the first screen image being the same as the screen resolution; and decode the encoded data to obtain the first screen image. In one possible embodiment, the display module 12 is specifically configured to: determine whether the target window exists in the terminal device; if so, update the image in the target window to the first screen image; if not, create the target window at the top level of the terminal device's display screen and display the first screen image in the target window. In one possible embodiment, the display module 12 is specifically configured to: determine whether the target window is at the top level of the display screen; if so, update the image in the target window to the first screen image; if not, set the target window as the top-level window and display the first screen image in the target window. The cloud application processing device provided in the embodiments of the present disclosure can implement the technical solutions shown in the above-mentioned method embodiments. The implementation principles and beneficial effects are similar and are not further described here. FIG11 is a second structural diagram of a cloud application processing device provided by an exemplary embodiment of the present disclosure. Referring to FIG11 , based on the device shown in FIG10 , the cloud application processing device 10 may further include a second acquisition module 13, a determination module 14, and an execution module 15, wherein: FIG12 shows a cloud application processing device 20 applied to a server. The cloud application processing device 20 includes an acquisition module 21, a setting module 22, and a sending module 23. The acquisition module 21 is configured to acquire a desktop screenshot image of the server, including a window area and a non-window area of ​​at least one cloud application. The setting module 22 is configured to set pixels in the non-window area of ​​the desktop screenshot to transparent pixels to obtain a first screen image. The sending module 23 is configured to send the first screen image to a terminal device. The cloud application processing device provided in the embodiments of the present disclosure can implement the technical solutions shown in the above method embodiments. The implementation principles and beneficial effects are similar and will not be further described here. In one possible implementation, the acquisition module 21 is specifically configured to: acquire the screen resolution of the terminal device; and acquire the desktop screenshot image based on the screen resolution. In another possible implementation, the sending module 23 is specifically configured to: encode the first screen image to obtain encoded data; and send the encoded data to the terminal device. The cloud application processing device provided in the embodiments of the present disclosure can implement the technical solutions shown in the above-described method embodiments. The implementation principles and beneficial effects are similar and will not be further described here. The exemplary embodiments of the present disclosure provide a schematic diagram of the structure of a terminal device, as shown in FIG13 . The terminal device 30 may include a processor 31 and a memory 32. Illustratively, the processor 31 and the memory 32 are interconnected via a bus 33. The memory 32 stores computer-executable instructions; the processor 31 executes the computer-executable instructions stored in the memory 32, causing the processor 31 to perform the method shown in the above-described method embodiments. The exemplary embodiments of the present disclosure provide a schematic diagram of the structure of a server, as shown in FIG14 . The server 40 may include a processor 41 and a memory 42. Illustratively, the processor 41 and the memory 42 are interconnected via a bus 43. The memory 42 stores computer-executable instructions; the processor 41 executes the computer-executable instructions stored in the memory 42, causing the processor 41 to perform the method shown in the above-described method embodiments. Accordingly, an embodiment of the present disclosure provides a computer-readable storage medium, wherein the computer-readable storage medium stores computer-executable instructions, and when the computer-executable instructions are executed by a processor, the method described in the above method embodiment is implemented.Accordingly, embodiments of the present disclosure may also provide a computer program product, including a computer program. When executed by a processor, the computer program can implement the methods described in the above method embodiments. Those skilled in the art will appreciate that embodiments of the present disclosure may be provided as methods, systems, or computer program products. Therefore, the present disclosure may take the form of entirely hardware embodiments, entirely software embodiments, or embodiments combining software and hardware. Furthermore, the present disclosure may take the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage, CD-ROMs, optical storage, etc.) containing computer-usable program code. The present disclosure is described with reference to flowcharts and / or block diagrams of methods, devices (systems), and computer program products according to embodiments of the present disclosure. It should be understood that each process and / or block in the flowcharts and / or block diagrams, as well as combinations of processes and / or blocks in the flowcharts and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing device to produce a machine, such that the instructions, when executed by the processor of the computer or other programmable data processing device, produce means for implementing the functions specified in one or more flows in the flowchart and / or one or more blocks in the block diagram. These computer program instructions can also be stored in a computer-readable memory capable of directing the computer or other programmable data processing device to operate in a specific manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means, which implement the functions specified in one or more flows in the flowchart and / or one or more blocks in the block diagram. These computer program instructions can also be loaded onto a computer or other programmable data processing device, such that a series of operational steps are executed on the computer or other programmable device to produce a computer-implemented process, such that the instructions executed on the computer or other programmable device provide steps for implementing the functions specified in one or more flows in the flowchart and / or one or more blocks in the block diagram. In a typical configuration, a computing device includes one or more processors (CPUs), input / output interfaces, network interfaces, and memory. Memory may include non-persistent storage in a computer-readable medium, random access memory (RAM) and / or non-volatile memory such as read-only memory (ROM) or flash RAM. OMemory is an example of computer-readable media. Computer-readable media includes both permanent and non-permanent, removable and non-removable media that can implement information storage using any method or technology. Information can be computer-readable instructions, data structures, program modules, or other data. Examples of computer storage media include, but are not limited to, phase-change RAM (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technologies, compact disc read-only memory (CD-ROM), digital versatile disc (DVD) or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other non-transmitting medium that can be used to store information accessible by a computing device. As defined herein, computer-readable media does not include transitory computer-readable media, such as modulated data signals and carrier waves. It should also be noted that the terms "comprise," "include," or any other variations thereof are intended to encompass non-exclusive inclusion, such that a process, method, product, or apparatus comprising a list of elements includes not only those elements but also other elements not explicitly listed, or elements inherent to such process, method, product, or apparatus. Without further limitation, an element specified by the phrase "comprising a..." does not preclude the presence of additional identical elements in the process, method, product, or apparatus comprising the recited element. The foregoing description is merely an example of the present disclosure and is not intended to limit the present disclosure. Various modifications and variations of the present disclosure will be apparent to those skilled in the art. Any modifications, equivalent substitutions, improvements, and the like made within the spirit and principles of the present disclosure are intended to be encompassed by the claims of the present disclosure.

Claims

Claims 9. A processing method for cloud applications, applied to a server, the method comprising: Obtain a desktop screenshot image of the server, where the desktop screenshot image includes at least one window area and a non-window area of a cloud application; In the desktop screenshot image, set the pixels of the non-window area to transparent pixels to obtain a first screen image; send the first screen image to a terminal device.

10. The method according to claim 9, obtaining a desktop screenshot image of the server, includes: Obtain the screen resolution of the terminal device; According to the screen resolution, obtain the desktop screenshot image.

11. The method according to claim 9 or 10, sending the first screen image to the terminal device includes: Perform encoding processing on the first screen image to obtain encoded data; Send the encoded data to the terminal device.

12. A processing device for cloud applications, applied to a terminal device, the device comprising: A first acquisition module and a display module, where the first acquisition module is configured to obtain a first screen image in the server, the first screen image includes at least one window area of a cloud application and a non-window area, and the pixels of the non-window area are transparent pixels; the display module is configured to display the first screen image in a target window of the terminal device, the target window is a window with a transparent background, and the target window is the top-level window of the terminal device.

13. A processing device for cloud applications, applied to a server, the device comprising: An acquisition module, a setting module, and a sending module, where the acquisition module is configured to obtain a desktop screenshot image of the server, the desktop screenshot image includes at least one window area and a non-window area of a cloud application; the setting module is configured to set the pixels of the non-window area to transparent pixels in the desktop screenshot image to obtain a first screen image; the sending module is configured to send the first screen image to a terminal device.

14. A terminal device, comprising: At least one processor; And a memory communicatively connected to the at least one processor; wherein the memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor to cause the terminal device to execute the method according to any one of claims 1-8.

15. A server, comprising: At least one processor; And a memory communicatively connected to the at least one processor; wherein the memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor to cause the server to execute the method according to any one of claims 9-11.

16. A computer-readable storage medium stores computer-executable instructions, and when a processor executes the computer-executable instructions, the method according to any one of claims 1-8 or claims 9-11 is implemented.

17. A computer program product includes a computer program, and when the computer program is executed by a processor, the method according to any one of claims 1-8 or claims 9-11 is implemented.

Citation Information

Patent Citations

  • Remote desktop video streaming alpha-channel

    US20200007602A1