Virtual application system and method based on remote window
Through a virtual application system based on remote windows, using browsers and management servers to generate cloud server configurations, the problem of insufficient flexibility of virtual applications is solved, and flexible application use is achieved without installing a client, which improves applicability.
Patent Information
- Application Number
- CN202310056070.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-01-16
- Publication Date
- 2025-01-07
- Estimated Expiration
- 2043-01-16
AI Technical Summary
The flexibility of existing virtual applications is insufficient and cannot meet the needs of different users. The client needs to be downloaded and installed, which limits the flexibility of the application.
Through a virtual application system based on remote windows, the browser receives user login and server selection instructions, generates cloud server configuration information, establishes a connection between the client and the cloud server, and captures and transmits the image information of the target application through a video encoding program, and provides Flexible server configuration selection.
It improves the applicability and flexibility of virtual applications, allowing users to select cloud servers with different configurations according to their needs, and realizes the function of using virtual applications without installing a client.
Smart Images

Figure CN116149769B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of computer technology, and in particular to a virtual application system and method based on a remote window. Background Art
[0002] As the concept of cloud computing continues to develop, virtual applications are widely used as a very convenient technology. Virtual applications do not need to consider the compatibility of the client and have low requirements for client hardware. However, the current technology requires downloading and installing the corresponding client before use. In the face of user scenarios with different needs, the flexibility of virtual applications faces a huge test.
[0003] The above contents are only used to assist in understanding the technical solution of the present invention and do not constitute an admission that the above contents are prior art. Summary of the invention
[0004] The main purpose of the present invention is to provide a remote window-based virtual application system and method, aiming to solve the technical problem of insufficient flexibility of virtual applications in the prior art.
[0005] To achieve the above object, the present invention provides a remote window-based virtual application system, the remote window-based virtual application system comprising:
[0006] The browser is used to receive a user login instruction;
[0007] The management server is used to generate a cloud server management page according to the user login instruction;
[0008] The browser is also used to obtain a server selection instruction;
[0009] The management server is further used to generate target cloud server configuration information according to the server selection instruction and the cloud server management page;
[0010] The management server is further used to generate a corresponding cloud server according to the target cloud server configuration information and the system image, and establish a connection between the client and the cloud server;
[0011] The browser is also used to receive a new window instruction from the user;
[0012] The cloud server is used to start the corresponding target application according to the user's new window instruction and obtain the image information of the target application window;
[0013] The browser is used to generate an application image according to the image information of the target application window.
[0014] Optionally, the cloud server is further used to start the corresponding target application according to the user's new window instruction;
[0015] generating a target application window identifier according to the target application;
[0016] The bitmap corresponding to the target application window is captured by a preset video encoding program and the target identifier, and the image information of the target application is generated according to the bitmap corresponding to the target application window.
[0017] Optionally, the management server is also used to obtain cloud server parameters;
[0018] Create a system image based on the preset server instance and image creation interface;
[0019] A cloud server management page is determined based on the system image.
[0020] Optionally, the management server is further used to install graphical interface software, gateway information and video encoding program on the preset system;
[0021] Setting the video encoding program to start automatically at startup;
[0022] A NAS file system is mounted on the preset system to generate a preset server instance.
[0023] Optionally, the management server is further used to generate a corresponding cloud server according to the target cloud server configuration information and the system image;
[0024] Log into the operating system of the cloud server according to the target cloud server address, user name and password;
[0025] When the operating system of the cloud server is logged in, the video encoding program and the NAS file system are started, and a connection between the client and the cloud server is established.
[0026] Furthermore, to achieve the above-mentioned object, the present invention also provides a remote window-based virtual application method, the remote window-based virtual application method is applied to a remote window-based virtual application system, the remote window-based virtual application system comprises: a client, a management server and a cloud server, the client is installed with a browser;
[0027] The remote window-based virtual application method comprises:
[0028] The browser receives a user login instruction;
[0029] The management server generates a cloud server management page according to the user login instruction;
[0030] The browser is also used to obtain a server selection instruction;
[0031] The management server is also used to generate target cloud server configuration information according to the server selection instruction and the cloud server management page;
[0032] The management server generates a corresponding cloud server according to the target cloud server configuration information and the system image, and establishes a connection between the client and the cloud server;
[0033] The browser receives a new window instruction from the user;
[0034] The cloud server starts the corresponding target application according to the user's new window instruction and obtains the image information of the target application window;
[0035] The browser generates an application image according to the image information of the target application window.
[0036] Optionally, the cloud server starts a corresponding target application according to a new window instruction issued by the user, and obtains image information of the target application window, including:
[0037] The cloud server starts the corresponding target application according to the user's new window instruction;
[0038] generating a target application window identifier according to the target application;
[0039] The bitmap corresponding to the target application is captured by a preset video encoding program and the target application window identifier, and the image information of the target application is generated according to the bitmap corresponding to the target application window.
[0040] Optionally, before the management server generates the target cloud server configuration information according to the server selection instruction and the cloud server management page, the management server further includes:
[0041] The management server obtains cloud server parameters;
[0042] Create a system image based on the preset server instance and image creation interface;
[0043] A cloud server management page is determined based on the system image.
[0044] Optionally, before making a system image according to a preset server instance and an image making interface, the method further includes:
[0045] The management server installs the graphical interface software, gateway information and video encoding program on the preset system;
[0046] Setting the video encoding program to start automatically at startup;
[0047] A NAS file system is mounted on the preset system to generate a preset server instance.
[0048] Optionally, the management server generates a corresponding cloud server according to the target cloud server configuration information and the system image, and establishes a connection between the client and the cloud server, including:
[0049] The management server generates a corresponding cloud server according to the target cloud server configuration information and the system image;
[0050] Log into the operating system of the cloud server according to the target cloud server address, user name and password;
[0051] When the operating system of the cloud server is logged in, the video encoding program and the NAS file system are started, and a connection between the client and the cloud server is established.
[0052] The browser of the present invention is used to receive a user login instruction; the management server is used to generate a cloud server management page according to the user login instruction; the browser is also used to obtain a server selection instruction; the management server is also used to generate target cloud server configuration information according to the server selection instruction and the cloud server management page; the management server is also used to generate a corresponding cloud server according to the target cloud server configuration information and the system image, and establish a connection between the client and the cloud server; the browser is also used to receive a user new window instruction; the cloud server is used to start the corresponding target application according to the user new window instruction, and obtain the image information of the target application window; the browser is used to generate an application image according to the image information of the target application window. Through the above scheme, the server selection process is improved by providing users with servers with multiple configurations, thereby improving the applicability of virtual applications. BRIEF DESCRIPTION OF THE DRAWINGS
[0053] Figure 1 It is a structural block diagram of a first embodiment of a virtual application system based on a remote window of the present invention;
[0054] Figure 2 This is a diagram of a new connection interface of an embodiment of a virtual application system based on a remote window of the present invention;
[0055] Figure 3 A user usage flow chart of an embodiment of a virtual application system based on a remote window of the present invention;
[0056] Figure 4 A flowchart of cloud server configuration of an embodiment of a virtual application system based on a remote window of the present invention;
[0057] Figure 5 It is a flowchart of a first embodiment of a remote window-based virtual application method of the present invention;
[0058] Figure 6It is a flow chart of a second embodiment of a remote window-based virtual application method of the present invention;
[0059] The realization of the purpose, functional features and advantages of the present invention will be further explained in conjunction with embodiments and with reference to the accompanying drawings. DETAILED DESCRIPTION
[0060] It should be understood that the specific embodiments described herein are only used to explain the present invention, and are not used to limit the present invention.
[0061] Reference Figure 1 , Figure 1 It is a structural block diagram of the first embodiment of the virtual application system based on remote windows of the present invention.
[0062] The remote window-based virtual application system includes: a client 10, a management server 20 and a cloud server 30, and a browser is installed on the client.
[0063] In this embodiment, the browser receives a user login instruction.
[0064] It should be noted that the browser is used to provide a user interaction interface. When the user has a login requirement, the service of the management server 20 can be obtained through the browser. The user login instruction is received by detecting the user's login operation and the user login instruction is sent to the management server 20.
[0065] In this embodiment, the management server 20 generates a cloud server management page according to a user login instruction.
[0066] It is understandable that the management server 20 generates a cloud server management page according to the user login instruction, wherein the cloud server management page is used to provide the user with a server configuration selection page. This is because in actual use, the user needs to flexibly select the performance of the server. For example, when the user has a large model computing requirement, the performance requirement for the cloud server is high, while when running ordinary office software, there is almost no requirement for performance. Therefore, it is necessary to provide different choices to the user through the cloud server management page. In this way, when the user logs in to the Web platform, he can apply for the corresponding configured cloud server on demand, and the Web platform uses the above-created system and the interface provided by the cloud server manufacturer to create the corresponding cloud server.
[0067] In this embodiment, the browser is used to obtain a server selection instruction.
[0068] It should be noted that the browser is used to provide a user interaction interface. When the user has a server selection requirement, the browser obtains a server selection instruction, detects the user's server selection operation, and sends the server selection instruction to the management server 20.
[0069] In this embodiment, the management server 20 is used to generate target cloud server configuration information according to the server selection instruction and the cloud server management page.
[0070] It is understandable that the management server 20 is used to generate target cloud server configuration information according to the server selection instruction and the cloud server management page, wherein the target cloud server configuration information includes information on what configuration the server required by the user should have.
[0071] In this embodiment, the management server 20 generates a corresponding cloud server 30 according to the target cloud server configuration information and the system image, and establishes a connection between the client 10 and the cloud server 30 .
[0072] It should be noted that, according to the target cloud server configuration information, the management server 20 can generate a cloud server 30 that meets the user's expected configuration and complete the connection between the client 10 and the cloud server 30 .
[0073] In this embodiment, the management server 20 generates a corresponding cloud server 30 according to the target cloud server configuration information and system image; logs in to the operating system of the cloud server 30 according to the target cloud server address, user name and password; when logging in to the operating system of the cloud server 30, starts the video encoding program and the NAS file system, and establishes a connection between the client 10 and the cloud server 30.
[0074] It should be noted that after the cloud server 30 is generated, the management server 20 can obtain the target cloud server address, user name and password to log in to the operating system of the cloud server 30 and complete the connection between the cloud server 30 and the client 10. After the operating system of the cloud server 30 is logged in, the cloud server 30 will start the video encoding program and the NAS file system to complete the startup of the operating system of the cloud server 30. For example: the user selects a cloud server for connection, and the Web platform initiates a WebSocket connection containing the server address, user name and password to connect to the server through the FreeRDP-WebConnect gateway via WebRDP, triggering the cloud server Windows system login, and then starting the JSMpeg program on the server and mounting the NAS file system.
[0075] Among them, FreeRDP-WebConnect is a gateway that can access RDP sessions in the form of Web, mainly relying on WebSocket and Canvas. Among them, WebSocket is responsible for transmitting the operations of the client 10 to the server, and transmitting the image of the server desktop to the browser for rendering on the Canvas node. In this embodiment, the browser receives the user's new window instruction.
[0076] It should be noted that the browser is used to provide a user interaction interface. When the user has a need to start an application, the browser generates a user new window instruction by detecting the user's new window operation, and sends the user new window instruction to the cloud server 30. Figure 3 As shown, by clicking the New Connection button, a new window is created to display the application screen. For example, the user clicks the "New Connection" button to start the target application in the cloud server 30 and transmit the image to the cloud server.
[0077] In this embodiment, the cloud server 30 starts the corresponding target application according to the user's new window instruction and obtains the image information of the target application window.
[0078] It can be understood that the cloud server 30 starts the corresponding target application according to the user's new window instruction, and the new window instruction includes the application information that the user needs to start, and the corresponding application is started in the cloud server 30 through the application information.
[0079] In this embodiment, the cloud server 30 starts the corresponding target application according to the user's new window instruction; generates a target application window identifier according to the target application; captures the bitmap corresponding to the target application window through a preset video encoding program and the target application window identifier, and generates image information of the target application according to the bitmap corresponding to the target application window.
[0080] It should be understood that the target application window identifier is used to mark the target application window. Through the target application window identifier, the preset video encoding program can capture the bitmap corresponding to the target application window, encode it to obtain video stream data, transmit it to the client 10, and display it through the browser. Among them, the preset video encoding program can be a JSMpeg program. The specific process is, for example: the user clicks the "New Connection" button, and the JSMpeg program on the cloud server starts the graphical interface software after receiving the command, and converts the captured software window image bitmap by FFmpeg into an MPEG-1 format stream and transmits it to the Web platform through the WebSocket protocol; the Web platform decodes the received stream data to display the remote application window, and transmits the user's mouse and keyboard operation instructions to the cloud server.
[0081] Among them, it should be noted that the JSMpeg program is deployed on the server, mainly including the FFmpeg module and the libwebsockets module. The FFmpeg module is mainly responsible for converting the captured window bitmap into streaming data in MPEG-1 format, and the libwebsockets module is responsible for managing the WebSocket connection with the browser. When JSMpeg receives the "new connection" instruction issued by the Web platform, it starts the graphical interface software, enumerates the graphical interface software windows and sub-windows, encodes the window bitmap into streaming data in MPEG-1 format and sends it to the client 10 browser. After receiving the streaming data, the browser uses the jsmpeg.js plug-in to continuously parse and render the image frame on the canvas node, display the remote application window, and transmit the user's mouse and keyboard operation commands to the server. Therefore, users can operate the graphical interface software locally, and calculation and rendering are all completed on the cloud server.
[0082] It is understandable, however, that in this embodiment, cloud servers with different configurations can be created through interfaces and image files provided by cloud server manufacturers. When users manage different cloud servers 30, they can perform functions such as releasing, starting and stopping the cloud servers 30.
[0083] It should be noted that NAS (Network Attached Storage) file system users can upload files to the NAS file system on the Web platform, or mount the NAS file system in the created cloud server system to use the files in it. Multiple users can also share files through the NAS file system to achieve collaboration. The steps to mount the NAS file system in the Windows system are as follows: Install the NFS client, open the Server Manager, select Management > Add Roles and Features; under the Server Roles tab, select File and Storage Services > NFS Server under File and iSCSI Services. On the Functions tab, select NFS Client; restart the system.
[0084] In this embodiment, the browser generates an application image according to the image information of the target application.
[0085] It should be noted that the client 10 generates an application image in the browser according to the received video stream data, and the image information of the target application can be the stream data converted from the bitmap of the target application. Figure 4 As shown, after the user logs in, select the corresponding cloud server and connect to the cloud server successfully.
[0086] In the specific implementation, the virtual application use process of the remote window is JSMpeg remotely starting the graphical interface software, enumerating and capturing the bitmaps of the software window and sub-windows, and transmitting them to the client 10 browser in the form of a stream. After receiving the stream data, the browser uses the jsmpeg.js plug-in to continuously parse and render the image frame on the canvas node, display the remote application window, and transmit the user's mouse and keyboard operation commands to the server; the Web platform creates a cloud server with deployed graphical interface software, FreeRDP-WebConnect gateway, NAS file system and JSMpeg program on demand through the image file and the interface of the cloud server manufacturer; the Web platform initiates a WebSocket connection containing the server address, user name and password through the FreeRDP-WebConnect gateway to connect to the server through WebRDP, trigger the cloud server Windows system login, and then realize the JSMpeg program self-starting at startup.
[0087] The browser of this embodiment is used to receive user login instructions; the management server 20 is used to generate a cloud server management page according to the user login instructions; the browser is also used to obtain server selection instructions; the management server 20 is also used to generate target cloud server configuration information according to the server selection instructions and the cloud server management page; the management server 20 is also used to generate a corresponding cloud server 30 according to the target cloud server configuration information and the system image, and establish a connection between the client 10 and the cloud server 30; the browser is also used to receive a user new window instruction; the cloud server 30 is used to start the corresponding target application according to the user new window instruction, and obtain the image information of the target application window; the browser is used to generate an application image according to the image information of the target application window. Through the above scheme, the server selection process is improved by providing users with servers with multiple configurations, thereby improving the flexibility of virtual applications.
[0088] Reference Figure 2 , Figure 2 This is a structural block diagram of a second embodiment of a virtual application system based on a remote window of the present invention. Based on the above first embodiment, a second embodiment of a virtual application system based on a remote window of the present invention is proposed.
[0089] In this embodiment, the management server 20 obtains cloud server parameters.
[0090] It should be noted that the cloud server parameters are the server parameters that developers determine the users may choose based on the general needs of users, for example: 4 cores 32G, etc.
[0091] In this embodiment, the system image is created according to the preset server instance and the system image creation interface.
[0092] In this embodiment, the management server 20 installs the graphical interface software, gateway information and video encoding program on the preset system; sets the video encoding program to start automatically at boot; and mounts the NAS file system on the preset system to generate a preset server instance. The configuration process of the preset server instance is as follows: Figure 5 shown.
[0093] In a specific implementation, the method for generating a preset server instance can be, for example, to install graphical interface software, FreeRDP-WebConnect gateway, and JSMpeg program on a Windows system, and set the JSMpeg program to start automatically at boot. Install an NFS client, and write a script to automatically mount the NAS file system when the system logs in, so as to complete the generation of the preset server instance.
[0094] It should be noted that using the NAS file system for file storage can effectively control permissions, thereby solving data security issues.
[0095] In this embodiment, the cloud server management page is determined according to the system image.
[0096] The management server 20 described in this embodiment obtains cloud server parameters; creates a system image according to a preset server instance and an image creation interface; and determines a cloud server management page according to the system image.
[0097] Further, refer to Figure 5 , Figure 5 The present invention is a virtual application method based on a remote window. Figure 5 This is a flow chart of the first embodiment of the remote window-based virtual application method of the present invention. The remote window-based virtual application method is applied to a remote window-based virtual application system. The remote window-based virtual application system includes: a client, a management server and a cloud server. A browser is installed on the client.
[0098] Step S10: The browser receives a user login instruction.
[0099] It should be noted that the browser is used to provide a user interaction interface. When the user has a login requirement, the service of the management server can be obtained through the browser. The user login instruction is received by detecting the user's login operation and sent to the management server.
[0100] Step S20: The management server generates a cloud server management page according to the user login instruction.
[0101] It is understandable that the management server generates a cloud server management page according to the user login instruction, wherein the cloud server management page is used to provide the user with a server configuration selection page. This is because in actual use, the user needs to flexibly choose the performance of the server. For example, when the user has a large model operation requirement, the performance requirement for the cloud server is high, while when running ordinary office software, there is almost no requirement for performance. Therefore, it is necessary to provide users with different choices through the cloud server management page. In this way, when the user logs in to the Web platform, he can apply for the corresponding configured cloud server on demand, and the Web platform uses the above selected configuration parameters and the interface provided by the cloud server manufacturer to create the corresponding cloud server.
[0102] Step S30: The browser obtains a server selection instruction.
[0103] It should be noted that the browser is used to provide an interactive interface to the user, and when the user has a server selection requirement, the user selects the corresponding configuration through the browser. Step S40: The management server generates target cloud server configuration information according to the server selection instruction and the cloud server management page.
[0104] It is understandable that the management server generates the target cloud server configuration information according to the server selection instruction and the cloud server management page, wherein the target cloud server information includes information on what configuration the server required by the user should have.
[0105] Step S50: the management server generates a corresponding cloud server according to the selected server configuration information and system image, and establishes a connection between the client and the cloud server.
[0106] In this embodiment, the management server generates a corresponding cloud server according to the target cloud server configuration information; logs in to the operating system of the cloud server according to the target cloud server address, user name and password; when logging in to the operating system of the cloud server, starts the video encoding program and the NAS file system, and establishes a connection between the client and the cloud server.
[0107] It should be noted that after the cloud server is determined, the management server can obtain the target cloud server address, user name and password to log in to the cloud server's operating system and complete the connection between the cloud server and the client. When the cloud server's operating system is logged in, the cloud server will start the video encoding program and the NAS file system to complete the startup of the cloud server's operating system. For example: the user selects a cloud server for connection, and the Web platform initiates a WebSocket connection containing the server address, user name and password to connect to the server through the FreeRDP-WebConnect gateway via WebRDP, triggering the cloud server Windows system login, and then starting the JSMpeg program on the server and mounting the NAS file system.
[0108] Among them, FreeRDP-WebConnect is a gateway that can access RDP sessions in the form of Web, mainly relying on WebSocket and Canvas. Among them, WebSocket is responsible for transmitting the client's operations to the server, and transmitting the image of the server desktop to the browser for rendering on the Canvas node. Step S60: The browser receives the user's new window instruction.
[0109] It should be noted that the browser is used to provide a user interaction interface. When the user has a need to start an application, the browser generates a user new window instruction by detecting the user's new window operation, and sends the user new window instruction to the cloud server. Figure 3 As shown, by clicking the New Connection button, a new window is created to display the application screen. For example, the user clicks the "New Connection" button to start the target application in the cloud server and transmit the image to the cloud server.
[0110] Step S70: the cloud server starts the corresponding target application according to the user's new window instruction and obtains the image information of the target application.
[0111] It can be understood that the cloud server starts the corresponding target application according to the user's new window instruction, and the new window instruction includes the application information that the user needs to start, and the corresponding application is started in the cloud server through the application information.
[0112] In this embodiment, the cloud server starts the corresponding target application according to the user's new window instruction; generates a target application window identifier according to the target application; captures the bitmap corresponding to the target application window through a preset video encoding program and the target application window identifier, and generates image information of the target application according to the bitmap corresponding to the target application window.
[0113] It should be understood that the target application window identifier is used to mark the target application window. By identifying the preset video encoding program, the bitmap corresponding to the target application window can be captured, and the video stream data can be encoded and transmitted to the client for display through the browser. The preset video encoding program can be a JSMpeg program. The specific process is as follows: the user clicks the "New Connection" button, and the JSMpeg program on the cloud server starts the graphical interface software after receiving the command, and converts the captured software window image bitmap by FFmpeg into an MPEG-1 format stream and transmits it to the Web platform through the WebSocket protocol; the Web platform encodes the received stream data to display the remote application window, and transmits the user's mouse and keyboard operation instructions to the cloud server.
[0114] It should be noted that the JSMpeg program is deployed on the server, mainly including the FFmpeg module and the libwebsockets module. The FFmpeg module is mainly responsible for converting the captured window bitmap into streaming data in MPEG-1 format, while the libwebsockets module is responsible for managing the WebSocket connection with the browser. When JSMpeg receives the "new connection" instruction issued by the Web platform, it starts the graphical interface software, enumerates the graphical interface software windows and sub-windows, encodes the window bitmap into streaming data in MPEG-1 format and sends it to the client browser. After receiving the streaming data, the browser uses the jsmpeg.js plug-in to continuously parse and render the image frame on the canvas node, display the remote application window, and transmit the user's mouse and keyboard operation commands to the server. Therefore, users can operate the graphical interface software locally, and the calculation and rendering are all completed on the cloud server.
[0115] It is understandable that this embodiment can create cloud servers with different configurations through the interface and image files provided by the cloud server manufacturer. When users manage different cloud servers, they can perform functions such as releasing, starting and stopping the cloud servers.
[0116] It should be noted that NAS (Network Attached Storage) file system users can upload files to the NAS file system on the Web platform, or mount the NAS file system in the created cloud server system to use the files in it. Multiple users can also share files through the NAS file system to achieve collaboration. The steps to mount the NAS file system in the Windows system are as follows: Install the NFS client, open the Server Manager, select Management > Add Roles and Features; under the Server Roles tab, select File and Storage Services > NFS Server under File and iSCSI Services. On the Functions tab, select NFS Client; restart the system.
[0117] Step S80: the browser generates an application image according to the image information of the target application.
[0118] It should be noted that the client generates an application image in the browser according to the received video stream data, and the image information of the target application window can be the stream data converted from the bitmap of the target application window. Figure 4 As shown, after the user logs in, he selects the corresponding cloud server and successfully connects to the cloud server, and then transmits the image back to the browser for display.
[0119] In the specific implementation, the virtual application use process of the remote window is JSMpeg remotely starting the graphical interface software, enumerating and capturing the bitmaps of the software window and sub-windows, and transmitting them to the client browser in the form of a stream. After receiving the stream data, the browser uses the jsmpeg.js plug-in to continuously parse and render the image frame on the canvas node, display the remote application window, and transmit the user's mouse and keyboard operation commands to the server; the Web platform creates a cloud server with deployed graphical interface software, FreeRDP-WebConnect gateway, NAS file system and JSMpeg program on demand through the image file and the interface of the cloud server manufacturer; the Web platform initiates a WebSocket connection with the server address, user name and password through the Web platform, and connects to the server through the FreeRDP-WebConnect gateway via WebRDP, triggering the cloud server Windows system login, and then realizing the JSMpeg program self-starting at startup.
[0120] The browser of this embodiment is used to receive user login instructions; the management server is used to generate a cloud server management page according to the user login instructions; the browser is also used to obtain server selection instructions; the management server is also used to generate target cloud server configuration information according to the server selection instructions and the cloud server management page; the management server is also used to generate a corresponding cloud server according to the target cloud server configuration information and the system image, and establish a connection between the client and the cloud server; the browser is also used to receive a user new window instruction; the cloud server is used to start the corresponding target application according to the user new window instruction, and obtain the image information of the target application window; the browser is used to generate an application image according to the image information of the target application window. Through the above scheme, the server selection process is improved by providing users with servers with multiple configurations, thereby improving the flexibility of virtual applications.
[0121] Reference Figure 6 , Figure 6 This is a flow chart of a second embodiment of a remote window-based virtual application method according to the present invention. Figure 5The illustrated embodiment provides a second embodiment of the remote window-based virtual application method of the present invention.
[0122] In this embodiment, before step S40, the method further includes:
[0123] Step S41: The management server obtains cloud server parameters.
[0124] It should be noted that the cloud server parameters are the server parameter types that developers determine based on the general needs of users and that users may choose, for example: 4 cores, 32G, etc.
[0125] Step S42: Create a system image according to the preset server instance and the image creation interface.
[0126] It should be noted that the process of making a system image according to the preset server instance and the image making interface is to call the image making interface to copy the system and system settings of the target server instance. In this embodiment, the management server installs the graphical interface software, gateway information and video encoding program on the preset system; sets the video encoding program to start automatically at boot; and mounts the NAS file system on the preset system to generate the preset server instance. The configuration process of the preset server instance is as follows: Figure 5 shown.
[0127] In a specific implementation, the generation method of the preset server instance can be, for example, to install the graphical interface software, FreeRDP-WebConnect gateway and JSMpeg program on the Windows system, and set the JSMpeg program to start automatically at boot. Install the NFS client, write a script to automatically mount the NAS file system when the system logs in, so as to complete the generation of the preset server instance. The subsequent cloud server can be configured according to the preset server instance to meet the requirements of remote control of virtual applications.
[0128] It should be noted that using the NAS file system for file storage can effectively control permissions, thereby solving data security issues.
[0129] Step S43: Determine the cloud server management page according to the system image.
[0130] In addition, it should be noted that, in this article, the terms "include", "comprises" or any other variations thereof are intended to cover non-exclusive inclusion, so that a process, method, article or system including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or system. In the absence of further restrictions, an element defined by the sentence "comprises a ..." does not exclude the existence of other identical elements in the process, method, article or system including the element.
[0131] The serial numbers of the above embodiments of the present invention are only for description and do not represent the advantages or disadvantages of the embodiments.
[0132] Through the description of the above implementation methods, those skilled in the art can clearly understand that the above-mentioned embodiment methods can be implemented by means of software plus a necessary general hardware platform, and of course by hardware, but in many cases the former is a better implementation method. Based on such an understanding, the technical solution of the present invention is essentially or the part that contributes to the prior art can be embodied in the form of a software product, which is stored in a storage medium (such as a read-only memory (ROM) / RAM, a magnetic disk, or an optical disk), and includes a number of instructions for a terminal device (which can be a mobile phone, a computer, a server, or a network device, etc.) to execute the methods described in each embodiment of the present invention.
[0133] The above are only preferred embodiments of the present invention, and are not intended to limit the patent scope of the present invention. Any equivalent structure or equivalent process transformation made using the contents of the present invention specification and drawings, or directly or indirectly applied in other related technical fields, are also included in the patent protection scope of the present invention.
Claims
1. A virtual application system based on a remote window, characterized in that: The remote window-based virtual application system includes: a client, a management server and a cloud server, and a browser is installed on the client; The browser is used to receive a user login instruction; The management server is used to generate a cloud server management page according to the user login instruction; The browser is also used to obtain a server selection instruction; The management server is further used to generate target cloud server configuration information according to the server selection instruction and the cloud server management page; The management server is further used to obtain cloud server parameters, create a system image according to a preset server instance and an image creation interface, and determine a cloud server management page according to the system image; The management server is further used to install the graphical interface software, gateway information and video encoding program on the preset system, set the video encoding program to start automatically at boot, and mount the NAS file system on the preset system to generate a preset server instance; The management server is further used to generate a corresponding cloud server according to the target cloud server configuration information and the system image, and establish a connection between the client and the cloud server; The browser is also used to receive a new window instruction from the user; The cloud server is used to start the corresponding target application according to the user's new window instruction and obtain the image information of the target application window; The cloud server is further used to start the corresponding target application according to the user's new window instruction, generate a target application window identifier according to the target application, capture a bitmap corresponding to the target application window through a preset video encoding program and the target application window identifier, and generate image information of the target application according to the bitmap corresponding to the target application window, wherein the image information is stream data converted from the bitmap of the target application; The browser is further configured to send user mouse and keyboard operation commands to the cloud server upon receiving the stream data; The browser is used to generate an application image according to the image information of the target application window.
2. The remote window-based virtual application system according to claim 1, characterized in that: The management server is further used to generate a corresponding cloud server according to the target cloud server configuration information and the system image; Log into the operating system of the cloud server according to the target cloud server address, user name and password; When the operating system of the cloud server is logged in, the video encoding program and the NAS file system are started, and a connection between the client and the cloud server is established.
3. A virtual application method based on a remote window, characterized in that: The remote window-based virtual application method is applied to a remote window-based virtual application system, which includes a client, a management server and a cloud server, and a browser is installed on the client; The remote window-based virtual application method comprises: The browser receives a user login instruction; The management server generates a cloud server management page according to the user login instruction; The browser is also used to obtain a server selection instruction; The management server is also used to generate target cloud server configuration information according to the server selection instruction and the cloud server management page; The management server is also used to generate target cloud server configuration information according to the server selection instruction and the cloud server management page, and further includes: The management server obtains cloud server parameters, creates a system image according to a preset server instance and an image creation interface, and determines a cloud server management page according to the system image; Before making a system image according to the preset server instance and the image making interface, the method further includes: The management server installs the graphical interface software, gateway information and video encoding program on the preset system, sets the video encoding program to start automatically at boot, and mounts the NAS file system on the preset system to generate a preset server instance; The management server generates a corresponding cloud server according to the target cloud server configuration information and the system image, and establishes a connection between the client and the cloud server; The browser receives a new window instruction from the user; The cloud server starts the corresponding target application according to the user's new window instruction and obtains the image information of the target application window; The cloud server starts the corresponding target application according to the user's new window instruction and obtains the image information of the target application window, including: The cloud server starts the corresponding target application according to the user's new window instruction, generates a target application window identifier according to the target application, captures a bitmap corresponding to the target application through a preset video encoding program and the target application window identifier, and generates image information of the target application according to the bitmap corresponding to the target application window, wherein the image information is stream data converted from the bitmap of the target application; When receiving the stream data, the browser sends the user's mouse and keyboard operation commands to the cloud server; The browser generates an application image according to the image information of the target application window.
4. The remote window-based virtual application method according to claim 3, characterized in that: The management server generates a corresponding cloud server according to the target cloud server configuration information and the system image, and establishes a connection between the client and the cloud server, including: The management server generates a corresponding cloud server according to the target cloud server configuration information and the system image; Log into the operating system of the cloud server according to the target cloud server address, user name and password; When the operating system of the cloud server is logged in, the video encoding program and the NAS file system are started, and a connection between the client and the cloud server is established.
Citation Information
Patent Citations
Server communication method and device and electronic equipment
CN111294386A
Window processing system, method and device
CN114268626A