[go: up one dir, main page]

CN116149769B - Virtual application system and method based on remote window - Google Patents

Virtual application system and method based on remote window Download PDF

Info

Publication number
CN116149769B
CN116149769B CN202310056070.8A CN202310056070A CN116149769B CN 116149769 B CN116149769 B CN 116149769B CN 202310056070 A CN202310056070 A CN 202310056070A CN 116149769 B CN116149769 B CN 116149769B
Authority
CN
China
Prior art keywords
cloud server
server
window
target application
target
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202310056070.8A
Other languages
Chinese (zh)
Other versions
CN116149769A (en
Inventor
丁桦
尚菲菲
王博
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Shifeng Technology Co ltd
Original Assignee
Shenzhen Shifeng Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shenzhen Shifeng Technology Co ltd filed Critical Shenzhen Shifeng Technology Co ltd
Priority to CN202310056070.8A priority Critical patent/CN116149769B/en
Publication of CN116149769A publication Critical patent/CN116149769A/en
Application granted granted Critical
Publication of CN116149769B publication Critical patent/CN116149769B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • G06F9/452Remote windowing, e.g. X-Window System, desktop virtualisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

The invention belongs to the field of computers and discloses a virtual application system and method based on a remote window. The method comprises the steps that a browser receives a user login instruction, a management server generates a cloud server management page according to the user login instruction, a browser obtains a server selection instruction, the management server generates target cloud server configuration information according to the server selection instruction and the cloud server management page, the management server generates a corresponding cloud server according to the target cloud server configuration information and a system mirror image, connection between a client and the cloud server is established, the browser receives a user newly-built window instruction, the cloud server starts a corresponding target application according to the user newly-built window instruction, image information of a target application window is obtained, and the browser generates an application image according to the image information of the target application window. By the scheme, the server with various configurations is provided for the user in the process of selecting the server, so that the flexibility of the virtual application is improved.

Description

Virtual application system and method based on remote window
Technical Field
The present invention relates to the field of computer technologies, and in particular, to a virtual application system and method based on a remote window.
Background
With the continuous development of cloud computing concepts, virtual applications are widely used by people as a very convenient technology, wherein the virtual applications do not need to consider the compatibility of clients, and have lower requirements on the hardware of the clients. However, the current technology needs to download and install the corresponding client to use, and faces the use scenes of users with different requirements, so that the flexibility of the virtual application faces a great test.
The foregoing is provided merely for the purpose of facilitating understanding of the technical solutions of the present invention and is not intended to represent an admission that the foregoing is prior art.
Disclosure of Invention
The invention mainly aims to provide a virtual application system and a virtual application method based on a remote window, and aims to solve the technical problem of insufficient flexibility of virtual application in the prior art.
To achieve the above object, the present invention provides a remote window based virtual application system, including:
the browser is used for receiving a user login instruction;
The management server is used for generating a cloud server management page according to the user login instruction;
the browser is also used for acquiring a server selection instruction;
The management server is further used for generating target cloud server configuration information according to the server selection instruction and a cloud server management page;
The management server is further configured to generate a corresponding cloud server according to the target cloud server configuration information and the system image, and establish connection between the client and the cloud server;
The browser is also used for receiving a user newly-built window instruction;
the cloud server is used for starting a corresponding target application according to a user newly-built window instruction and acquiring image information of a target application window;
and the browser is used for generating an application image according to the image information of the target application window.
Optionally, the cloud server is further configured to start a corresponding target application according to a user newly-built window instruction;
generating a target application window identifier according to the target application;
Capturing a bitmap corresponding to a target application window through a preset video coding program and the target identifier, and generating image information of the target application according to the bitmap corresponding to the target application window.
Optionally, the management server is further configured to obtain cloud server parameters;
Making a system mirror image according to a preset server instance and a mirror image making interface;
and determining a cloud server management page according to the system mirror image.
Optionally, the management server is further configured to install graphical interface software, gateway information and a video coding program on a preset system;
setting the video coding program to be started up and started up automatically;
and mounting the NAS file system on the preset system to generate a preset server instance.
Optionally, the management server is further configured to generate a corresponding cloud server according to the target cloud server configuration information and the system image;
Logging in an operating system of the cloud server according to the target cloud server address, the user name and the password;
When the operation system of the cloud server logs in, a video coding program and an NAS file system are started, and connection between the client and the cloud server is established.
Further, in order to achieve the above purpose, the present invention also provides a virtual application method based on a remote window, which is applied to a virtual application system based on a remote window, wherein the virtual application system based on a remote window comprises a client, a management server and a cloud server, and a browser is installed on the client;
the virtual application method based on the remote window comprises the following steps:
the browser receives a user login instruction;
the management server generates a cloud server management page according to a user login instruction;
The browser is also used for acquiring a server selection instruction;
The management server is also used for generating target cloud server configuration information according to the server selection instruction and a cloud server management page;
The management server generates a corresponding cloud server according to the target cloud server configuration information and the system mirror image, and establishes connection between the client and the cloud server;
the browser receives a user newly-built window instruction;
The cloud server starts a corresponding target application according to a user newly-built window instruction, and image information of a target application window is obtained;
And the browser generates an application image according to the image information of the target application window.
Optionally, the cloud server starts a corresponding target application according to a newly built window instruction of a user, and obtains image information of a target application window, including:
the cloud server starts a corresponding target application according to a user newly-built window instruction;
generating a target application window identifier according to the target application;
Capturing a bitmap corresponding to a target application through a preset video coding program and the target application window mark, and generating image information of the target application according to the bitmap corresponding to the target application window.
Optionally, before the management server is further configured to generate the target cloud server configuration information according to the server selection instruction and the cloud server management page, the management server further includes:
the management server acquires cloud server parameters;
Making a system mirror image according to a preset server instance and a mirror image making interface;
and determining a cloud server management page according to the system mirror image.
Optionally, before the system image is made according to the preset server instance and the image making interface, the method further includes:
the management server installs graphic interface software, gateway information and video coding programs on a preset system;
setting the video coding program to be started up and started up automatically;
and mounting the NAS file system on the preset system to generate a preset server instance.
Optionally, the managing server generates a corresponding cloud server according to the target cloud server configuration information and the system image, and establishes 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 mirror image;
Logging in an operating system of the cloud server according to the target cloud server address, the user name and the password;
When the operation system of the cloud server logs in, a video coding program and an NAS file system are started, and connection between the client and the cloud server is established.
The cloud server comprises a management server, a cloud server, a management server, a browser and an application image, wherein the management server is used for receiving a user login instruction, generating a cloud server management page according to the user login instruction, acquiring a server selection instruction, generating target cloud server configuration information according to the server selection instruction and the cloud server management page, generating a corresponding cloud server according to the target cloud server configuration information and a system mirror image, establishing connection between a client and the cloud server, receiving a user newly-built window instruction, starting a corresponding target application according to the user newly-built window instruction, acquiring image information of a target application window, and generating an application image according to the image information of the target application window. Through the scheme, the server selection process improves the applicability of the virtual application by providing the servers with various configurations for the user.
Drawings
FIG. 1 is a block diagram illustrating a first embodiment of a remote window based virtual application system in accordance with the present invention;
FIG. 2 is a diagram of a newly created connection interface for one embodiment of a remote window based virtual application system of the present invention;
FIG. 3 is a flow chart of user usage of one embodiment of a remote window based virtual application system of the present invention;
FIG. 4 is a flow chart of a cloud server configuration of an embodiment of a remote window based virtual application system according to the present invention;
FIG. 5 is a flowchart of a first embodiment of a remote window based virtual application method according to the present invention;
FIG. 6 is a flowchart of a second embodiment of a remote window based virtual application method according to the present invention;
The achievement of the objects, functional features and advantages of the present invention will be further described with reference to the accompanying drawings, in conjunction with the embodiments.
Detailed Description
It should be understood that the specific embodiments described herein are for purposes of illustration only and are not intended to limit the scope of the invention.
Referring to fig. 1, fig. 1 is a block diagram illustrating a first embodiment of a remote window based virtual application system according to the present invention.
The virtual application system based on the remote window comprises a client 10, a management server 20 and a cloud server 30, wherein a browser is installed on the client.
In this embodiment, the browser receives a user login instruction.
When a user has a login requirement, the browser may obtain the service of the management server 20, and receive a user login instruction by detecting a login operation of the user, and send the user login instruction to the management server 20.
In this embodiment, the management server 20 generates a cloud server management page according to a user login instruction.
It can be appreciated that the management server 20 generates a cloud server management page according to a user login instruction, where the cloud server management page is used to provide a server configuration selection page for a user, because the user needs to flexibly select the performance of the server in the actual use process, for example, when the user has a large model operation requirement, the performance requirement for the cloud server is high, and when the user runs ordinary office software, there is little requirement for the performance, so different selections need to be provided to the user through the cloud server management page. When a user logs in the Web platform, the cloud server correspondingly configured can be applied as required, and the Web platform creates the corresponding cloud server by using the created system and an interface provided by a cloud server manufacturer.
In this embodiment, the browser is configured to obtain a server selection instruction.
It should be noted that, the browser is configured to provide the user with an interactive interface, obtain a server selection instruction through the browser when a user has a server selection requirement, operate the server selection instruction by detecting the user's server selection, and send the server selection instruction to the management server 20.
In this embodiment, the management server 20 is configured to generate the configuration information of the target cloud server according to the server selection instruction and the cloud server management page.
It can be appreciated that the management server 20 is configured to generate the configuration information of the target cloud server according to the server selection instruction and the cloud server management page, where the configuration information of the target cloud server includes what configuration information the server required by the user should be.
In this embodiment, the management server 20 generates the corresponding cloud server 30 according to the target cloud server configuration information and the system image, and establishes the connection between the client 10 and the cloud server 30.
It should be noted that, according to the target cloud server configuration information, the management server 20 may generate the cloud server 30 that meets the user's desired configuration, and complete the connection between the client 10 and the cloud server 30.
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, logs in the operating system of the cloud server 30 according to the target cloud server address, the user name and the password, and starts the video encoding program and the NAS file system when the operating system of the cloud server 30 logs in, so as to establish connection between the client 10 and the cloud server 30.
It should be noted that, after the cloud server 30 is generated, the management server 20 may obtain the target cloud server address, the user name and the password to log in the operating system of the cloud server 30, complete the connection between the cloud server 30 and the client 10, and after the operating system of the cloud server 30 is logged in, the cloud server 30 may start the video encoding program and the NAS file system to complete the start of the operating system of the cloud server 30. For example, the user selects a cloud server to connect, the Web platform initiates a WebSocket connection containing a server address, a user name and a password to connect with the server WebRDP through a FreeRDP-WebConnect gateway, triggers the cloud server Windows system to log in, and further starts a JSMpeg program on the server and mounts a NAS file system.
Wherein FreeRDP-WebConnect is a gateway, which can access RDP session in Web form, and is mainly realized by WebSocket and Canvas. The WebSocket is responsible for transmitting the operation 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 a user newly-built window instruction.
It should be noted that, the browser is configured to provide the user with an interactive interface, generate a new window instruction of the user by detecting a new window operation of the user when the user needs to start the application program, and send the new window instruction of the user to the cloud server 30. The new window operation is as shown in fig. 3, and the new window is created by clicking the new connection button to display the application program picture, for example, the user clicks the "new connection" button, starts the target application in the cloud server 30, and transmits the image to the cloud server.
In this embodiment, the cloud server 30 starts a corresponding target application according to a user newly-built window instruction, and obtains image information of a target application window.
It can be appreciated that the cloud server 30 starts the corresponding target application according to a new window instruction of the user, where the new window instruction includes application information that the user needs to start, and starts the corresponding application program in the cloud server 30 through the application information.
In this embodiment, the cloud server 30 starts a corresponding target application according to a user newly-built window instruction, generates a target application window identifier according to the target application, captures a bitmap corresponding to a target application window through a preset video coding 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.
It should be understood that the target application window identifier is used for marking a target application window, a preset video coding program can be identified through the target application window identifier, a bitmap corresponding to the target application window can be captured, coding is performed to obtain video stream data, the video stream data is transmitted to the client 10, the video stream data is displayed through a browser, the preset video coding program can be JSMpeg program, a specific process is that a user clicks a 'new connection' button, a JSMpeg program on a cloud server starts graphical interface software after receiving a command, the captured software window image bitmap is converted into an MPEG-1 format stream from FFmpeg, the stream data is transmitted to a Web platform through a WebSocket protocol, and the Web platform decodes the received stream data to display a remote application window, and transmits user mouse and keyboard operation instructions to the cloud server.
It should be noted that, the JSMpeg program is deployed on the server, and mainly includes an FFmpeg module and a libwebsockets module. The FFmpeg module is mainly responsible for converting the captured window bitmap into stream data in MPEG-1 format, and the libwebsockets module is responsible for managing the WebSocket connection with the browser. When JSMpeg receives a new connection instruction sent by the Web platform, starting the graphical interface software, enumerating the window and the child window of the graphical interface software, encoding a window bitmap into stream data in an MPEG-1 format, and sending the stream data to a browser of the client 10. After receiving the stream data, the browser uses the jsmpeg. Js plug-in to continuously analyze and render image frames on the canvas node, displays a remote application window, and simultaneously transmits mouse and keyboard operation commands of a user to the server side. Therefore, the user can operate the graphical interface software locally, and the calculation and the rendering are completed in the cloud server.
It can be understood that in this embodiment, cloud servers with different configurations may be created through interfaces and image files provided by cloud server manufacturers, and when a user manages different cloud servers 30, the user may perform functions of releasing, starting, stopping, and the like on the cloud servers 30.
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 therein, and multiple users can share files through the NAS file system to realize collaboration. The step of installing NAS file system in Windows system includes installing NFS client, opening server manager, selecting management to add roles and functions, selecting file and storage service under server role tab, selecting file and storage service and NFS server under iSCSI service. Selecting NFS client in the function tab, restarting the system.
In this embodiment, the browser generates an application image according to the image information of the target application.
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 may be bitmap-converted stream data of the target application. The flow of the virtual application may be as shown in fig. 4, where after the user logs in, the corresponding cloud server is selected, and the cloud server is successfully connected.
In a specific implementation, the virtual application of the remote window uses JSMpeg to remotely start the graphical interface software, enumerate and capture bitmaps of the software window and the child window, and transmit the bitmaps to the browser of the client 10 in a streaming form. The method comprises the steps of receiving streaming data by a browser, continuously analyzing and rendering image frames on a canvas node by utilizing a jsmpeg.js plug-in, displaying a remote application program window, simultaneously transmitting mouse and keyboard operation commands of a user to a server side, creating a cloud server with deployed graphical interface software, freeRDP-WebConnect gateway, NAS file system and JSMpeg program according to requirements through an image file and interfaces of cloud server manufacturers by a Web platform, connecting the Web platform with the server through FreeRDP-WebConnect gateway by initiating WebSocket connection containing server addresses, user names and passwords, triggering the cloud server Windows system to log in, and further realizing startup and self-starting of JSMpeg programs.
The browser is used for receiving a user login instruction, the management server 20 is used for generating a cloud server management page according to the user login instruction, the browser is further used for acquiring a server selection instruction, the management server 20 is further used for generating target cloud server configuration information according to the server selection instruction and the cloud server management page, the management server 20 is further used for generating a corresponding cloud server 30 according to the target cloud server configuration information and a system mirror image, connection between a client 10 and the cloud server 30 is established, the browser is further used for receiving a user newly-built window instruction, the cloud server 30 is used for starting a corresponding target application according to the user newly-built window instruction, acquiring image information of a target application window, and the browser is used for generating an application image according to the image information of the target application window. Through the scheme, the server selection process improves the flexibility of the virtual application by providing the servers with various configurations for the user.
Referring to fig. 2, fig. 2 is a block diagram of a second embodiment of a remote window based virtual application system according to the present invention, and based on the first embodiment, the second embodiment of the remote window based virtual application system according to the present invention is proposed.
In this embodiment, the management server 20 acquires cloud server parameters.
It should be noted that the cloud server parameters are server parameters that a developer may select according to the general needs of the user, for example, 4-core 32G.
In this embodiment, a system image is made according to the preset server instance and the system image making interface.
In this embodiment, the management server 20 installs the graphical interface software, the gateway information and the video coding program on a preset system, sets the video coding program to be booted, and installs the NAS file system on the preset system to generate a preset server instance. The configuration process of the preset server instance is shown in fig. 5.
In a specific implementation, the generation mode of the preset server instance can be that, for example, graphical interface software, freeRDP-WebConnect gateway and JSMpeg programs are installed on a Windows system, and JSMpeg programs are set to be started up automatically. And installing the NFS client, and writing a script to realize automatic installation of the NAS file system when the system logs in so as to finish the generation of the preset server instance.
It should be noted that, the NAS file system performs file storage, so that rights can be effectively controlled, thereby solving the problem of data security.
In this embodiment, a cloud server management page is determined according to the system image.
The management server 20 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.
Further, referring to fig. 5, fig. 5 is a flow chart of a first embodiment of the remote window based virtual application method according to the present invention, and fig. 5 is a flow chart of a first embodiment of the remote window based virtual application method according to the present invention, where the remote window based virtual application method is applied to a remote window based virtual application system, and the remote window based virtual application system includes a client, a management server, and a cloud server, where a browser is installed on the client.
And step S10, the browser receives a user login instruction.
When a user has a login requirement, the browser can acquire the service of the management server, and the user login instruction is received by detecting the login operation of the user and is sent to the management server.
And step S20, the management server generates a cloud server management page according to the user login instruction.
It can be understood that the management server generates a cloud server management page according to the user login instruction, where the cloud server management page is used to provide a server configuration selection page for a user, because the user needs to flexibly select the performance of the server in the actual use process, for example, when the user has a large model operation requirement, the performance requirement on the cloud server is higher, and when the common office software is running, there is little requirement on the performance, so different selections need to be provided to the user through the cloud server management page. When a user logs in the Web platform, the cloud server correspondingly configured can be applied as required, and the Web platform creates the corresponding cloud server by utilizing the selected configuration parameters and interfaces provided by cloud server manufacturers.
And step S30, the browser acquires a server selection instruction.
It should be noted that, the browser is configured to provide an interactive interface to a user, and when a user has a server selection requirement, a corresponding configuration is selected through the browser. And S40, the management server generates target cloud server configuration information according to the server selection instruction and the cloud server management page.
It can be understood that the management server generates the configuration information of the target cloud server according to the server selection instruction and the cloud server management page, where the configuration information of the target cloud server includes what configuration the server required by the user should be.
And S50, the management server generates a corresponding cloud server according to the selected server configuration information and the system mirror image, and establishes connection between the client and the cloud server.
In the embodiment, a management server generates a corresponding cloud server according to the configuration information of the target cloud server, logs in an operating system of the cloud server according to the address, the user name and the password of the target cloud server, starts a video coding program and an NAS file system when the operating system of the cloud server logs in, and establishes connection between a client and the cloud server.
It should be noted that, after the cloud server is determined, the management server may obtain the address, the user name and the password of the target cloud server to log in the operating system of the cloud server, so as to complete connection between the cloud server and the client, and when the operating system of the cloud server logs in, the cloud server may start the video encoding program and the NAS file system, so as to complete starting of the operating system of the cloud server. For example, the user selects a cloud server to connect, the Web platform initiates a WebSocket connection containing a server address, a user name and a password to connect with the server WebRDP through a FreeRDP-WebConnect gateway, triggers the cloud server Windows system to log in, and further starts a JSMpeg program on the server and mounts a NAS file system.
Wherein FreeRDP-WebConnect is a gateway, which can access RDP session in Web form, and is mainly realized by WebSocket and Canvas. The WebSocket is responsible for transmitting the operation of the client to the server, transmitting the image of the desktop of the server to the browser and rendering the image on the Canvas node. And step S60, the browser receives a user newly-built window instruction.
It should be noted that, the browser is configured to provide the user with an interactive interface, and when the user needs to start the application program, generate a new window instruction of the user by detecting a new window operation of the user, and send the new window instruction of the user to the cloud server. The new window operation is as shown in fig. 3, and the new window is created by clicking the new connection button to display the application program picture, for example, the user clicks the new connection button, starts the target application in the cloud server, and transmits the image to the cloud server.
And step S70, the cloud server starts a corresponding target application according to a newly built window instruction of a user, and acquires image information of the target application.
It can be understood that the cloud server starts the corresponding target application according to a new window instruction of the user, the new window instruction comprises application information required to be started by the user, and a corresponding application program is started in the cloud server through the application information.
In the embodiment, a cloud server starts a corresponding target application according to a user newly-built window instruction, generates a target application window identifier according to the target application, captures a bitmap corresponding to a target application window through a preset video coding 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.
It should be understood that the target application window identifier is used for marking the target application window, a preset video coding program is identified, a bitmap corresponding to the target application window can be captured, coding is performed to obtain video stream data, the video stream data is transmitted to the client and displayed through the browser, the preset video coding program can be JSMpeg program, the specific process is that a user clicks a new connection button, a JSMpeg program on the cloud server starts graphical interface software after receiving a command, the captured software window image bitmap is converted into an MPEG-1 format stream by FFmpeg and is transmitted to the Web platform through a WebSocket protocol, and the Web platform codes the received stream data to display the remote application window and transmits user mouse and keyboard operation instructions to the cloud server.
It should be noted that, the JSMpeg program is deployed on the server, and mainly includes an FFmpeg module and a libwebsockets module. The FFmpeg module is mainly responsible for converting the captured window bitmap into stream data in MPEG-1 format, and the libwebsockets module is responsible for managing the WebSocket connection with the browser. When JSMpeg receives a new connection instruction sent by the Web platform, starting the graphical interface software, enumerating the window and the child window of the graphical interface software, encoding a window bitmap into stream data in an MPEG-1 format, and sending the stream data to a client browser. After receiving the stream data, the browser uses the jsmpeg. Js plug-in to continuously analyze and render image frames on the canvas node, displays a remote application window, and simultaneously transmits mouse and keyboard operation commands of a user to the server side. Therefore, the user can operate the graphical interface software locally, and the calculation and the rendering are completed in the cloud server.
It can be understood that in this embodiment, cloud servers with different configurations may be created through interfaces and image files provided by cloud server manufacturers, and when a user manages different cloud servers, the user may perform functions such as releasing, starting and stopping the cloud servers.
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 therein, and multiple users can share files through the NAS file system to realize collaboration. The step of installing NAS file system in Windows system includes installing NFS client, opening server manager, selecting management to add roles and functions, selecting file and storage service under server role tab, selecting file and storage service and NFS server under iSCSI service. Selecting NFS client in the function tab, restarting the system.
And S80, the browser generates an application image according to the image information of the target application.
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 may be stream data converted from a bitmap of the target application window. The flow of the virtual application may be as shown in fig. 4, where after the user logs in, the corresponding cloud server is selected, and the cloud server is successfully connected, and then the image is transmitted back to the browser for display.
In a specific implementation, the virtual application of the remote window uses JSMpeg to remotely start the graphical interface software, enumerates and captures bitmaps of the software window and the child window, and transmits the bitmaps to the client browser in a streaming form. The method comprises the steps of receiving streaming data by a browser, continuously analyzing and rendering image frames on a canvas node by utilizing a jspeg-js plug-in, displaying a remote application program window, simultaneously transmitting mouse and keyboard operation commands of a user to a server side, creating a cloud server with deployed graphical interface software, freeRDP-WebConnect gateway, NAS file system and JSMpeg program according to requirements through an image file and interfaces of cloud server manufacturers by a Web platform, initiating a WebSocket connection containing server addresses, user names and passwords through the Web platform, connecting the WebSocket connection with the server through the FreeRDP-WebConnect gateway, triggering the Windows system login of the cloud server, and further realizing the startup self-starting of JSMpeg programs.
The browser is used for receiving a user login instruction, the management server is used for generating a cloud server management page according to the user login instruction, the browser is further used for acquiring a server selection instruction, the management server is further used for generating target cloud server configuration information according to the server selection instruction and the cloud server management page, the management server is further used for generating a corresponding cloud server according to the target cloud server configuration information and a system mirror image, and establishing connection between a client and the cloud server, the browser is further used for receiving a user newly-built window instruction, the cloud server is used for starting a corresponding target application according to the user newly-built window instruction to acquire image information of a target application window, and the browser is used for generating an application image according to the image information of the target application window. Through the scheme, the server selection process improves the flexibility of the virtual application by providing the servers with various configurations for the user.
Referring to fig. 6, fig. 6 is a flowchart of a second embodiment of the remote window based virtual application method according to the present invention, and the second embodiment of the remote window based virtual application method according to the present invention is proposed based on the embodiment shown in fig. 5.
In this embodiment, before the step S40, the method further includes:
And S41, the management server acquires cloud server parameters.
It should be noted that the cloud server parameter is a type of server parameter that a developer determines a user may select according to a general requirement of the user, for example, 4-core 32G.
And S42, manufacturing a system mirror image according to the preset server instance and the mirror image manufacturing interface.
It should be noted that, the process of creating the system image according to the preset server instance and the image creation interface is to call the image creation interface to copy the system and the system settings of the target server instance. In the embodiment, a management server installs graphical interface software, gateway information and a video coding program on a preset system, sets the video coding program to be started up and self-starts, and installs an NAS file system on the preset system to generate a preset server instance. The configuration process of the preset server instance is shown in fig. 5.
In a specific implementation, the generation mode of the preset server instance can be that, for example, graphical interface software, freeRDP-WebConnect gateway and JSMpeg programs are installed on a Windows system, and JSMpeg programs are set to be started up automatically. Installing the NFS client, and writing a script to realize automatic installation of the NAS file system when the system logs in so as to finish the generation of the preset server instance, and configuring the subsequent cloud server according to the preset server instance so as to enable the subsequent cloud server to meet the requirement of virtual application remote control.
It should be noted that, the NAS file system performs file storage, so that rights can be effectively controlled, thereby solving the problem of data security.
And step S43, determining a cloud server management page according to the system mirror image.
Furthermore, it should be noted that, in this document, the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or system that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or system. Without further limitation, an element defined by the phrase "comprising one does not exclude the presence of other like elements in a process, method, article, or system that comprises the element.
The foregoing embodiment numbers of the present invention are merely for the purpose of description, and do not represent the advantages or disadvantages of the embodiments.
From the above description of the embodiments, it will be clear to those skilled in the art that the above-described embodiment method may be implemented by means of software plus a necessary general hardware platform, but of course may also be implemented by means of hardware, but in many cases the former is a preferred embodiment. Based on such understanding, the technical solution of the present invention may be embodied essentially or in a part contributing to the prior art in the form of a software product stored in a storage medium (e.g. Read Only Memory)/RAM, magnetic disk, optical disk) and including several instructions for causing a terminal device (which may be a mobile phone, a computer, a server, or a network device, etc.) to perform the method according to the embodiments of the present invention.
The foregoing description is only of the preferred embodiments of the present invention, and is not intended to limit the scope of the invention, but rather is intended to cover any equivalents of the structures or equivalent processes disclosed herein or in the alternative, which may be employed directly or indirectly in other related arts.

Claims (4)

1. The virtual application system based on the remote window is characterized by comprising a client, a management server and a cloud server, wherein a browser is installed on the client;
the browser is used for receiving a user login instruction;
The management server is used for generating a cloud server management page according to the user login instruction;
the browser is also used for acquiring a server selection instruction;
The management server is further used for generating target cloud server configuration information according to the server selection instruction and a cloud server management page;
The management server is also used for acquiring cloud server parameters, making a system mirror image according to a preset server instance and a mirror image making interface, and determining a cloud server management page according to the system mirror image;
The management server is further used for installing graphical interface software, gateway information and a video coding program on a preset system, setting the video coding program to be started up and self-starting, and installing an NAS file system on the preset system to generate a preset server instance;
The management server is further configured to generate a corresponding cloud server according to the target cloud server configuration information and the system image, and establish connection between the client and the cloud server;
The browser is also used for receiving a user newly-built window instruction;
the cloud server is used for starting a corresponding target application according to a user newly-built window instruction and acquiring image information of a target application window;
The cloud server is further used for starting a corresponding target application according to a user newly-built window instruction, generating a target application window identifier according to the target application, capturing a bitmap corresponding to a target application window through a preset video coding program and the target application window identifier, and generating image information of the target application according to the bitmap corresponding to the target application window, wherein the image information is stream data converted by the bitmap of the target application;
the browser is further used for sending user mouse and keyboard operation commands to the cloud server when the stream data are received;
and the browser is used for generating an application image according to the image information of the target application window.
2. The remote window based virtual application system of claim 1, wherein the management server is further configured to generate a corresponding cloud server according to the target cloud server configuration information and a system image;
Logging in an operating system of the cloud server according to the target cloud server address, the user name and the password;
When the operation system of the cloud server logs in, a video coding program and an NAS file system are started, and connection between the client and the cloud server is established.
3. The virtual application method based on the remote window is characterized by being applied to a virtual application system based on the remote window, wherein the virtual application system based on the remote window comprises a client, a management server and a cloud server, and a browser is installed on the client;
the virtual application method based on the remote window comprises the following steps:
the browser receives a user login instruction;
the management server generates a cloud server management page according to a user login instruction;
The browser is also used for acquiring a server selection instruction;
The management server is also used for generating target cloud server configuration information according to the server selection instruction and a cloud server management page;
the management server is further configured to, before generating the target cloud server configuration information according to the server selection instruction and the cloud server management page, further include:
The management server acquires cloud server parameters, makes a system mirror image according to a preset server instance and a mirror image making interface, and determines a cloud server management page according to the system mirror image;
before the system mirror image is manufactured according to the preset server instance and the mirror image manufacturing interface, the method further comprises the following steps:
The management server installs graphical interface software, gateway information and a video coding program on a preset system, sets the video coding program to be started up and self-starts, and installs an 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 mirror image, and establishes connection between the client and the cloud server;
the browser receives a user newly-built window instruction;
The cloud server starts a corresponding target application according to a user newly-built window instruction, and image information of a target application window is obtained;
The cloud server starts a corresponding target application according to a user newly-built window instruction, acquires image information of a target application window, and comprises the following steps:
The cloud server starts a corresponding target application according to a user newly-built 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 coding 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 the browser receives the stream data, sending user mouse and keyboard operation commands to a cloud server;
And the browser generates an application image according to the image information of the target application window.
4. The virtual application method based on the remote window according to claim 3, wherein the management server generates a corresponding cloud server according to the target cloud server configuration information and the system mirror image, and establishes a connection between the client and the cloud server, and the method comprises:
the management server generates a corresponding cloud server according to the target cloud server configuration information and the system mirror image;
Logging in an operating system of the cloud server according to the target cloud server address, the user name and the password;
When the operation system of the cloud server logs in, a video coding program and an NAS file system are started, and connection between the client and the cloud server is established.
CN202310056070.8A 2023-01-16 2023-01-16 Virtual application system and method based on remote window Active CN116149769B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310056070.8A CN116149769B (en) 2023-01-16 2023-01-16 Virtual application system and method based on remote window

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310056070.8A CN116149769B (en) 2023-01-16 2023-01-16 Virtual application system and method based on remote window

Publications (2)

Publication Number Publication Date
CN116149769A CN116149769A (en) 2023-05-23
CN116149769B true CN116149769B (en) 2025-01-07

Family

ID=86350288

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310056070.8A Active CN116149769B (en) 2023-01-16 2023-01-16 Virtual application system and method based on remote window

Country Status (1)

Country Link
CN (1) CN116149769B (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117395235B (en) * 2023-08-30 2024-09-10 上海子虔科技有限公司 Cloud application system and method based on remote desktop and web technology

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111294386A (en) * 2020-01-13 2020-06-16 北京淳中科技股份有限公司 Server communication method and device and electronic equipment
CN114268626A (en) * 2020-09-16 2022-04-01 阿里巴巴集团控股有限公司 Window processing system, method and device

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11750674B2 (en) * 2015-05-05 2023-09-05 Penguin Computing, Inc. Ultra-low latency remote application access
CN107979493B (en) * 2017-11-21 2019-10-29 平安科技(深圳)有限公司 Platform is construction method, server and the storage medium for servicing PAAS container platform
CN108021425B (en) * 2017-12-28 2020-11-03 南开大学 Virtual desktop system integrating multiple application graphic windows and operation method
US10963532B2 (en) * 2018-09-21 2021-03-30 Citrix Systems, Inc. Systems and methods for rendering weblinks inside a remote application using an embedded browser
CN111464603B (en) * 2020-03-24 2022-03-29 聚好看科技股份有限公司 Server capacity expansion method and system
CN111722901B (en) * 2020-06-10 2023-09-12 浙江清华长三角研究院 Electronic information centralized management and control system and method based on cloud editing
US11770454B2 (en) * 2020-12-14 2023-09-26 Citrix Systems, Inc. Native application integration for enhanced remote desktop experiences
CN113656176B (en) * 2021-08-19 2022-08-23 北京百度网讯科技有限公司 Cloud equipment distribution method, device and system, electronic equipment, medium and product
CN114281444B (en) * 2021-11-22 2024-08-27 华能(浙江)能源开发有限公司玉环分公司 Arrangement method for implementing cloud desktop client

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111294386A (en) * 2020-01-13 2020-06-16 北京淳中科技股份有限公司 Server communication method and device and electronic equipment
CN114268626A (en) * 2020-09-16 2022-04-01 阿里巴巴集团控股有限公司 Window processing system, method and device

Also Published As

Publication number Publication date
CN116149769A (en) 2023-05-23

Similar Documents

Publication Publication Date Title
US11909847B2 (en) Information processing apparatus, information processing system, information processing method and recording medium
US9122444B2 (en) Network accessible projectors that display multiple client screens at once
US10135925B2 (en) Non-transitory computer-readable medium, terminal, and method
US10223062B1 (en) Method and apparatus of capturing a screen image of a remotely managed machine
CN111240620A (en) Intelligent terminal screen projection processing method and device, computer equipment and medium
JP2014528198A (en) Mobile solution for signing and storing third-party documents
CN102662618B (en) Image processing method in remote assistance process and device
CN113608812B (en) Remote control method, device, system and storage medium
CN106416195A (en) Actionable notifications
KR101531164B1 (en) Method and apparatus for providing/receiving user interface using user interface directory
CN111901695B (en) Video content interception method, device and equipment and computer storage medium
WO2022028239A1 (en) Image processing methods, apparatus, device, and computer readable storage medium
CN116149769B (en) Virtual application system and method based on remote window
CN111352600A (en) Large screen control system, method and device and electronic equipment
CN112416455B (en) Data processing method, device, terminal and storage medium
US20100287245A1 (en) Method for remotely controlling digital photo frame
US20250009594A1 (en) Control link for adult toy operation and method for using the same
US20220060524A1 (en) Server system and method of controlling server system
CN114979730B (en) Screen transmission interaction method, device, computer equipment and storage medium
CN108289056B (en) Method and device for sharing dynamic chart and computing equipment
CN108132767B (en) Application window preview method and system
CN117707702A (en) Method and system for realizing online IDE
CN113992494B (en) Method for creating fortress machine and automatically hosting cloud host by cloud platform
US20230028495A1 (en) Content appearance conversion for remote application sharing
CN108737337A (en) Equipment processing method, device, server and system

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant