Method and apparatus for implementing application virtualization and related devices
By establishing a remote application connection protocol between the client and the server, users can independently manage applications that are not compatible with the operating system, which solves the problem of low operating efficiency in existing technologies and improves the user experience.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- RUIJIE NETWORKS CO LTD
- Filing Date
- 2022-03-01
- Publication Date
- 2026-05-19
AI Technical Summary
In existing technologies, users cannot independently install, publish, or remove incompatible applications in application virtualization systems, resulting in low operational efficiency and a poor user experience.
By establishing a remote application connection protocol between the client and the server, detecting and converting the path format of locally stored files, users can directly open, install, or delete applications in the second operating system and perform corresponding operations using the applications in the second operating system.
Users can manage applications stored locally independently without administrator intervention, greatly improving application efficiency and user experience.
Smart Images

Figure CN116737308B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of communication technology, and more particularly to a method and related apparatus for implementing virtualization. Background Technology
[0002] An operating system (OS) is a computer program that manages computer hardware and software. Common operating systems include Windows, macOS, Linux, and Android. Each operating system has compatible applications, which can only be used normally on the compatible operating system. In order to enable applications to be used normally on incompatible operating systems, application virtualization technology has emerged. This technology decouples applications from the operating system, thereby providing a virtual running environment for applications.
[0003] A system that implements application virtualization technology can be called an application virtualization system. The architecture of an application virtualization system is as follows: Figure 1 As shown, it includes a client, a server, and a management console. The number of clients and servers can be set according to actual needs. Figure 1 The example illustrates a client and a server scenario. The client's operating system and the server's operating system are different. The first application running on the client's operating system and the second application running on the server's operating system are both connected to the management terminal. The first application and the second application establish a communication connection based on a remote application connection protocol. If a user needs to use an application that is incompatible with the client's operating system, they must first notify the administrator. The administrator will then install and publish the application on the server's operating system that is compatible with the application through the management terminal. The user can then use the published application after discovering it through the management terminal using the first application. If an application that is incompatible with the client's operating system needs to be removed, the process is similar to publishing the application.
[0004] In the above-mentioned application virtualization implementation method, users cannot independently install, publish, or remove applications that are not compatible with the client's operating system. These operations need to be performed by the administrator. If there are multiple clients, the administrator cannot handle each operation in a timely manner, which will seriously affect the operating efficiency of the application and thus reduce the user experience. Summary of the Invention
[0005] This invention provides a method and related apparatus for implementing application virtualization, in order to solve the problem in the prior art that seriously affects the operating efficiency of applications and thus reduces the user experience.
[0006] According to an embodiment of the present invention, a method for implementing application virtualization is provided, which is applied to a first application running on a first operating system of a client in an application virtualization system. The application virtualization system further includes a server, wherein the first operating system is different from a second operating system of the server, and a communication connection is established between the first application and a second application running on the second operating system based on a remote application connection protocol. The method includes:
[0007] After detecting an open request for a first initial executable file of a third application that is locally stored and adapted to the second operating system, it is determined whether the type of the first initial executable file is a set type;
[0008] If it is determined that the type of the first initial executable file is the set type, then the opening method of the first initial executable file is determined to be the fourth application adapted to the second operating system, and the first shortcut of the fourth application is saved in the list of installed applications;
[0009] The local storage path of the first initial executable file is converted into the path format of the second operating system to obtain the first remote storage path;
[0010] The communication connection sends an open request carrying the first remote storage path to the second application, so that the second application calls the fourth application to obtain the first initial executable file based on the first remote storage path, determines whether the first initial executable file needs to be installed, and if it is determined that the first initial executable file does not need to be installed, then the first initial executable file is run, and the first running information is sent to the first application through the communication connection; if it is determined that the first initial executable file needs to be installed, then the first initial executable file is installed to obtain the first installed executable file, and after running the first installed executable file, the second running information is sent to the first application through the communication connection.
[0011] If the first running information or the second running information is received through the communication connection, it is then rendered and displayed based on the first running information or the second running information.
[0012] Optional, also includes:
[0013] After detecting an open request for the second shortcut in the list of installed applications, the second remote storage path corresponding to the second shortcut is obtained from the list of installed applications. The second remote storage path and the second shortcut are added to the list of installed applications after the second application has installed the second initial executable file of the fifth application corresponding to the second shortcut to obtain the second installation executable file and stored it.
[0014] The second application sends an open request carrying the second remote storage path through the communication connection, so that the second application calls the fourth application to obtain the second installation executable file based on the second remote storage path and runs it, and sends the third running information to the first application through the communication connection;
[0015] If the third operating information is received through the communication connection, then rendering and display are performed based on the third operating information.
[0016] Optional, also includes:
[0017] After detecting a removal request for the third shortcut in the list of installed applications, the third remote storage path corresponding to the third shortcut is obtained from the list of installed applications. The third remote storage path and the third shortcut are added to the list of installed applications after the second application installs the third initial executable file of the sixth application corresponding to the third shortcut to obtain the third installation executable file and stores it.
[0018] The second application sends a removal request carrying the third remote storage path through the communication connection, so that the second application calls the fourth application to obtain the third installation executable file based on the third remote storage path and deletes it, removes the third shortcut from the list of installed applications and synchronizes it with the first application;
[0019] If the second application receives a list of installed applications that have deleted the third shortcut via the communication connection, then the list of installed applications that have deleted the third shortcut is displayed.
[0020] According to an embodiment of the present invention, a method for implementing application virtualization is also provided, which is applied to a second application running on a second operating system of an application virtualization system server. The application virtualization system further includes a client, wherein the second operating system is different from the first operating system of the client, and the second application establishes a communication connection with a first application running on the first operating system based on a remote application connection protocol. The method includes:
[0021] The communication connection receives an open request carrying a first remote storage path sent by the first application. The fourth application is invoked to obtain a first initial executable file based on the first remote storage path. The open request carrying the first remote storage path is sent after the first application detects an open request for the first initial executable file of a third application that is local storage and adapted to the second operating system, determines that the type of the first initial executable file is the set type, determines that the opening method of the first initial executable file is the fourth application adapted to the second operating system, converts the local storage path of the first initial executable file into the path format of the second operating system, and saves the first shortcut of the fourth application in the list of installed applications.
[0022] Determine whether the first initial executable file needs to be installed;
[0023] If it is determined that the first initial executable file does not need to be installed, then the first initial executable file is run, and the first running information is sent to the first application through the communication connection, so that the first application renders and displays based on the first running information;
[0024] If it is determined that the first initial executable file needs to be installed, then the first initial executable file is installed to obtain the first installation executable file. After running the first installation executable file, the second running information is sent to the first application through the communication connection so that the first application renders and displays based on the second running information.
[0025] Optional, also includes:
[0026] The communication connection receives an open request carrying a second remote storage path sent by the first application. The fourth application is then invoked to obtain and run a second installation executable file based on the second remote storage path. The open request carrying the second remote storage path is sent by the first application after detecting an open request for a second shortcut in the list of installed applications and obtaining the second remote storage path corresponding to the second shortcut from the list of installed applications. The second remote storage path and the second shortcut are added to the list of installed applications after the second application has installed the second initial executable file of the fifth application corresponding to the second shortcut, obtained the second installation executable file, stored it, and then added it to the list of installed applications.
[0027] The third runtime information is sent to the first application through the communication connection, so that the first application can render and display based on the third runtime information.
[0028] Optional, also includes:
[0029] The communication connection receives a removal request carrying a third remote storage path from the first application. The fourth application then retrieves and deletes the third installation executable file based on the third remote storage path. The removal request carrying the third remote storage path is sent by the first application after detecting a removal request for the third shortcut in the list of installed applications and retrieving the third remote storage path corresponding to the third shortcut from the list of installed applications. The third remote storage path and the third shortcut are added to the list of installed applications after the second application installs the third initial executable file of the sixth application corresponding to the third shortcut, obtains the third installation executable file, stores it, and then adds it to the list of installed applications.
[0030] The third shortcut is deleted from the list of installed applications and synchronized to the first application via the communication connection, so that the first application displays the list of installed applications with the third shortcut deleted.
[0031] According to an embodiment of the present invention, an application virtualization implementation apparatus is also provided, which is applied to a first application running on a first operating system of a client of an application virtualization system. The application virtualization system further includes a server, wherein the first operating system is different from a second operating system of the server, and a communication connection is established between the first application and a second application running on the second operating system based on a remote application connection protocol. The apparatus includes:
[0032] The first determining module is used to determine whether the type of the first initial executable file is a set type after detecting an open request for a first initial executable file of a third application that is stored locally and adapted to the second operating system.
[0033] The second determining module is used to determine, if the type of the first initial executable file is the set type, the opening method of the first initial executable file is a fourth application adapted to the second operating system, and the first shortcut of the fourth application is stored in the list of installed applications.
[0034] A conversion module is used to convert the local storage path of the first initial executable file into the path format of the second operating system to obtain the first remote storage path;
[0035] The first sending module is configured to send an open request carrying the first remote storage path to the second application via the communication connection, so that the second application calls the fourth application to obtain the first initial executable file based on the first remote storage path, determines whether the first initial executable file needs to be installed, and if it is determined that the first initial executable file does not need to be installed, then runs the first initial executable file and sends the first running information to the first application via the communication connection; if it is determined that the first initial executable file needs to be installed, then installs the first initial executable file to obtain the first installed executable file, runs the first installed executable file, and sends the second running information to the first application via the communication connection.
[0036] The first display module is configured to render and display the first or second running information if the first running information or the second running information is received through the communication connection.
[0037] Optional, also includes:
[0038] The first acquisition module is used to detect an open request for the second shortcut in the list of installed applications, and then acquire the second remote storage path corresponding to the second shortcut from the list of installed applications. The second remote storage path and the second shortcut are added to the list of installed applications after the second application has installed the second initial executable file of the fifth application corresponding to the second shortcut to obtain the second installation executable file and stored it.
[0039] The second sending module is used to send an open request carrying the second remote storage path to the second application through the communication connection, so that the second application calls the fourth application to obtain the second installation executable file based on the second remote storage path and runs it, and sends third running information to the first application through the communication connection;
[0040] The second display module is used to render and display the third operating information if the third operating information is received through the communication connection.
[0041] Optional, also includes:
[0042] The second acquisition module is used to detect a removal request for the third shortcut in the list of installed applications, and then obtain the third remote storage path corresponding to the third shortcut from the list of installed applications. The third remote storage path and the third shortcut are added to the list of installed applications after the second application installs the third initial executable file of the sixth application corresponding to the third shortcut to obtain the third installation executable file and stores it.
[0043] The third sending module is used to send a delisting request carrying the third remote storage path to the second application through the communication connection, so that the second application calls the fourth application to obtain the third installation executable file based on the third remote storage path and delete it, remove the third shortcut from the list of installed applications and synchronize it to the first application;
[0044] The third display module is configured to display the list of installed applications that have deleted the third shortcut if it receives a list of installed applications that have deleted the third shortcut synchronized by the second application through the communication connection.
[0045] According to an embodiment of the present invention, an application virtualization implementation apparatus is also provided, which is applied to a second application running on a second operating system of an application virtualization system server. The application virtualization system further includes a client, wherein the second operating system is different from the first operating system of the client, and the second application establishes a communication connection with a first application running on the first operating system based on a remote application connection protocol. The apparatus includes:
[0046] The first calling module is used to receive an open request carrying a first remote storage path sent by the first application through the communication connection, and to call the fourth application to obtain a first initial executable file based on the first remote storage path. The open request carrying the first remote storage path is sent after the first application detects the open request of the first initial executable file for the third application that is local storage and adapted to the second operating system, determines that the type of the first initial executable file is the set type, determines that the opening method of the first initial executable file is the fourth application adapted to the second operating system, converts the local storage path of the first initial executable file into the path format of the second operating system, and the first shortcut of the fourth application is saved in the list of installed applications.
[0047] A determination module is used to determine whether the first initial executable file needs to be installed;
[0048] The first sending module is configured to, if it is determined that the first initial executable file does not need to be installed, run the first initial executable file and send first running information to the first application through the communication connection, so that the first application renders and displays based on the first running information; if it is determined that the first initial executable file needs to be installed, install the first initial executable file to obtain a first installation executable file, run the first installation executable file, and then send second running information to the first application through the communication connection, so that the first application renders and displays based on the second running information.
[0049] Optional, also includes:
[0050] The second calling module is used to receive an open request carrying a second remote storage path sent by the first application through the communication connection, and to call the fourth application to obtain and run the second installation executable file based on the second remote storage path. The open request carrying the second remote storage path is sent by the first application after detecting an open request for the second shortcut in the list of installed applications and obtaining the second remote storage path corresponding to the second shortcut from the list of installed applications. The second remote storage path and the second shortcut are added to the list of installed applications after the second application has installed the second initial executable file of the fifth application corresponding to the second shortcut, obtained the second installation executable file, stored it, and then added it to the list of installed applications.
[0051] The second sending module is used to send third running information to the first application through the communication connection, so that the first application can render and display based on the third running information.
[0052] Optional, also includes:
[0053] The third calling module is used to receive a removal request carrying a third remote storage path sent by the first application through the communication connection, and to call the fourth application to obtain the third installation executable file based on the third remote storage path and delete it. The removal request carrying the third remote storage path is sent by the first application after detecting a removal request for the third shortcut in the list of installed applications, obtaining the third remote storage path corresponding to the third shortcut from the list of installed applications. The third remote storage path and the third shortcut are added to the list of installed applications after the second application has installed the third initial executable file of the sixth application corresponding to the third shortcut, obtained the third installation executable file, stored it, and then added it to the list of installed applications.
[0054] A synchronization module is used to remove the third shortcut from the list of installed applications and synchronize it to the first application via the communication connection, so that the first application displays the list of installed applications with the third shortcut removed.
[0055] According to an embodiment of the present invention, an electronic device is also provided, the electronic device including a processor, a communication interface, a memory and a communication bus, wherein the processor, the communication interface and the memory communicate with each other through the communication bus;
[0056] Memory, used to store computer programs;
[0057] When a processor executes a program stored in memory, it implements the above method steps.
[0058] According to an embodiment of the present invention, a computer-readable storage medium is also provided, wherein a computer program is stored therein, and the computer program, when executed by a processor, implements the above-described method steps.
[0059] The beneficial effects of this invention are as follows:
[0060] This invention provides a method and related apparatus for implementing application virtualization. After detecting an open request for a first initial executable file of a third application stored locally and adapted to a second operating system, the method determines whether the type of the first initial executable file is a specified type. If the type of the first initial executable file is determined to be the specified type, the method for opening the first initial executable file is determined to be a fourth application adapted to the second operating system, and a first shortcut of the fourth application is stored in the list of installed applications. The local storage path of the first initial executable file is converted to the path format of the second operating system to obtain a first remote storage path. An open request carrying the first remote storage path is sent to the second application through the communication connection. The second application invokes the fourth application to retrieve the first initial executable file based on the first remote storage path. It determines whether the first initial executable file needs to be installed. If it is determined that the first initial executable file does not need to be installed, it runs the first initial executable file and sends first running information to the first application via the communication connection. If it is determined that the first initial executable file needs to be installed, it installs the first initial executable file to obtain a first installed executable file. After running the first installed executable file, it sends second running information to the first application via the communication connection. If either the first running information or the second running information is received via the communication connection, it is rendered and displayed based on either the first running information or the second running information. In this solution, for a third application stored locally and adapted to the second operating system, the user can directly issue an open request, opening the third application through the fourth application of the second operating system. The user is unaware that the opening process of the third application requires the participation of the fourth application of the second operating system. For the user, this allows for autonomous opening of a third application stored locally and adapted to the second operating system without the need for an administrator, thereby greatly improving the operational efficiency of the application and significantly enhancing the user experience. Attached Figure Description
[0061] Figure 1 An architecture diagram of an application virtualization system in existing technology;
[0062] Figure 2 This is a flowchart illustrating an application virtualization implementation method with a first application as the execution subject in an embodiment of the present invention;
[0063] Figure 3 This is a flowchart illustrating an application virtualization implementation method with a second application as the execution subject in an embodiment of the present invention;
[0064] Figure 4 In the embodiments of the present invention, and Figure 2 A schematic diagram of the corresponding application virtualization implementation device;
[0065] Figure 5 In the embodiments of the present invention, and Figure 3 A schematic diagram of the corresponding application virtualization implementation device;
[0066] Figure 6 This is a schematic diagram of the structure of an electronic device shown in this application. Detailed Implementation
[0067] To address the problem of existing technologies severely impacting application operation efficiency and thus reducing user experience, this invention provides an application virtualization implementation method. This method is applied to a first application running on a first operating system on the client side of the application virtualization system and a second application running on a second operating system on the server side of the application virtualization system. The first and second operating systems are different, and a communication connection is established between the first and second applications based on a remote application connection protocol. The implementation method of application virtualization is described below using the first and second applications as the execution entities. The first and second operating systems can be, but are not limited to, Windows, macOS, Linux, Android, etc. For example, during the migration and transition of domestic IT innovation services, i.e., from Windows to the domestically developed Linux operating system, applications adapted to both Windows and Linux coexist. In this case, the first operating system is Linux, and the second operating system is Windows.
[0068] First, we introduce the implementation method of application virtualization with the first application as the execution subject. The process of this method is as follows: Figure 2 As shown, the execution steps are as follows:
[0069] S21: After detecting an open request for a first initial executable file of a third application that is local storage and adapted to a second operating system, determine whether the type of the first initial executable file is the set type.
[0070] For example, if the first operating system is Linux and the second operating system is Windows, and the user needs to use an application that is locally stored and adapted to the Windows operating system, they can directly double-click the first initial executable file of the application. Here, the opening request is double-clicking, but other methods are also possible, which will not be elaborated here.
[0071] After receiving an open request for the first initial executable file, it is also necessary to determine whether the type of the first initial executable file is a configuration type. The configuration type can be determined based on the operating system type. For example, for Windows operating systems, the configuration type can be, but is not limited to, executable files with the .exe or .msi extension.
[0072] S22: If it is determined that the type of the first initial executable file is a setting type, then the opening mode of the first initial executable file is determined to be a fourth application adapted to the second operating system.
[0073] In other words, if it is determined that the type of the first initial executable file is a specified type, then a fourth application adapted to the second operating system can be used to open the first initial executable file. For example, the executable file of the Office software can be opened using the Microsoft Word software.
[0074] To ensure that the fourth application can be selected to open the first initial executable file, a shortcut to the fourth application needs to be saved in the list of installed applications.
[0075] S23: Convert the local storage path of the first initial executable file into the path format of the second operating system to obtain the first remote storage path.
[0076] Since the first operating system and the second operating system are different, their path formats are also different. Therefore, it is necessary to convert the local storage path of the first initial executable file into the path format of the second operating system to obtain the first remote storage path.
[0077] For example, the $HOME directory in the Linux operating system is mapped to the disk drive letter X in the Windows operating system. The local storage path of a.exe ($HOME / Desktop / a.exe) can be converted into the path format of the Windows operating system to obtain the first remote storage path (X:\Desktop\a.exe).
[0078] S24: Send an open request carrying the first remote storage path to the second application via a communication connection, so that the second application calls the fourth application to obtain the first initial executable file based on the first remote storage path, determines whether the first initial executable file needs to be installed, and if it is determined that the first initial executable file does not need to be installed, then the first initial executable file is run, and the first running information is sent to the first application via the communication connection; if it is determined that the first initial executable file needs to be installed, then the first initial executable file is installed to obtain the first installed executable file, and after running the first installed executable file, the second running information is sent to the first application via the communication connection.
[0079] After the first application sends an open request carrying the first remote storage path to the second application via a communication connection, the second application calls the fourth application to obtain the first initial executable file based on the first remote storage path. Since executable files can be divided into two categories: those that need to be installed and those that do not, it can be further determined whether the first initial executable file needs to be installed. If it is determined that the first initial executable file does not need to be installed, the first initial executable file is run, and the first running information is sent to the first application via a communication connection. If it is determined that the first initial executable file needs to be installed, the first initial executable file is installed to obtain the first installed executable file. After running the first installed executable file, the second running information is sent to the first application via a communication connection.
[0080] S25: If first running information or second running information is received through the communication connection, then the information is rendered and displayed based on the first running information or second running information.
[0081] After receiving the first or second running information, the first application first needs to render the information based on the first or second running information before displaying it. The user can then see the running result after double-clicking the first initial executable file, which appears to the user as if the first initial executable file is running locally.
[0082] In this solution, for a third application that is stored locally and adapted to the second operating system, the user can directly send an open request, and the third application will be opened through a fourth application of the second operating system. The user is unaware that the opening process of the third application requires the participation of the fourth application of the second operating system. For the user, it is possible to open the third application that is stored locally and adapted to the second operating system independently without the need for the administrator, thereby greatly improving the operating efficiency of the application and the user experience.
[0083] Optionally, the above methods also include:
[0084] After detecting an open request for the second shortcut in the list of installed applications, the second remote storage path corresponding to the second shortcut is obtained from the list of installed applications. The second remote storage path and the second shortcut are added to the list of installed applications after the second application has installed the second initial executable file of the fifth application corresponding to the second shortcut, obtained the second installation executable file, stored it, and then added to the list of installed applications.
[0085] The second application sends an open request carrying the second remote storage path through the communication connection, so that the second application calls the fourth application to obtain and run the second installation executable file based on the second remote storage path, and sends the third running information to the first application through the communication connection.
[0086] If third-party runtime information is received via a communication connection, then rendering and display will be performed based on that third-party runtime information.
[0087] The installed application list stores applications installed on local storage that are compatible with the second operating system. When a user needs to use these applications, for example, when a user uses a file with the .doc extension, the shortcut corresponding to the .doc file in the installed application list will be requested to open. At this time, the first application will detect the request to open the shortcut, and then retrieve the second remote storage path corresponding to the shortcut from the installed application list. The second remote storage path and the second shortcut are added to the installed application list after the second application installs the second initial executable file of the fifth application corresponding to the second shortcut, obtains the second installed executable file, and stores it. Then, the second application sends an open request carrying the second remote storage path to the second application through a communication connection, so that the second application calls the fourth application to retrieve the second installed executable file based on the second remote storage path and runs it. The third running information is sent to the first application through the communication connection. If the third running information is received through the communication connection, it is rendered and displayed based on the third running information. The user can then view the file with the .doc extension and perform corresponding operations.
[0088] Optionally, the above methods also include:
[0089] After detecting a removal request for the third shortcut in the list of installed applications, the third remote storage path corresponding to the third shortcut is obtained from the list of installed applications. The third remote storage path and the third shortcut are added to the list of installed applications after the second application installs the third initial executable file of the sixth application corresponding to the third shortcut to obtain the third installation executable file and stores it.
[0090] The application sends a removal request carrying a third remote storage path to the second application via a communication connection, so that the second application calls the fourth application to obtain the third installation executable file based on the third remote storage path and delete it, remove the third shortcut from the list of installed applications and synchronize it with the first application;
[0091] If a list of installed applications with deleted third shortcuts is received from the second application via the communication connection, the list of installed applications with deleted third shortcuts will be displayed.
[0092] The installed application list stores applications installed on local storage that are compatible with the second operating system. When a user no longer uses these applications—for example, when a user no longer uses files with the .doc extension—the shortcuts corresponding to those files in the installed application list will be required to be removed. At this time, the first application detects the removal request for that shortcut and retrieves the third remote storage path corresponding to the third shortcut from the installed application list. This third remote storage path and the third shortcut are added to the installed application list after the second application installs the third initial executable file of the sixth application corresponding to the third shortcut, obtains the third installation executable file, and stores it. The removal request carrying the third remote storage path is sent to the second application via a communication connection, causing the second application to call the fourth application to retrieve the third installation executable file based on the third remote storage path and delete it. The third shortcut is then removed from the installed application list and synchronized with the first application. If the first application receives the synchronized installed application list with the deleted third shortcut from the second application via the communication connection, it displays the list of installed applications with the deleted third shortcut. The user will no longer see the shortcuts corresponding to files with the .doc extension in the installed application list.
[0093] The above describes the implementation method of application virtualization with the first application as the execution subject, which allows users to independently install, publish, and remove applications that are not compatible with the client's operating system. The following describes the implementation method of application virtualization with the second application as the execution subject. The flow of this method is as follows: Figure 3 As shown, the execution steps are as follows:
[0094] S31: Receive an open request carrying a first remote storage path sent by the first application through a communication connection, and call the fourth application to obtain the first initial executable file based on the first remote storage path.
[0095] Specifically, the request to open the first remote storage path is sent by the first application after detecting the request to open the first initial executable file of the third application that is local storage and adapted to the second operating system, determining that the type of the first initial executable file is a set type, determining that the opening method of the first initial executable file is a fourth application adapted to the second operating system, converting the local storage path of the first initial executable file into the path format of the second operating system, and the first shortcut of the fourth application is saved in the list of installed applications.
[0096] S32: Determine whether the first initial executable file needs to be installed. If it is determined that the first initial executable file does not need to be installed, then execute S33; if it is determined that the first initial executable file needs to be installed, then execute S34.
[0097] S33: Run the first initial executable file and send the first running information to the first application through the communication connection so that the first application renders and displays the content based on the first running information.
[0098] S34: Install the first initial executable file to obtain the first installation executable file. After running the first installation executable file, send the second running information to the first application through the communication connection so that the first application can render and display based on the second running information.
[0099] In this solution, for a third application that is stored locally and adapted to the second operating system, the user can directly send an open request, and the third application will be opened through a fourth application of the second operating system. The user is unaware that the opening process of the third application requires the participation of the fourth application of the second operating system. For the user, it is possible to open the third application that is stored locally and adapted to the second operating system independently without the need for the administrator, thereby greatly improving the operating efficiency of the application and the user experience.
[0100] Optionally, the above methods also include:
[0101] The system receives an open request carrying a second remote storage path from the first application via a communication connection. It then calls the fourth application to obtain and run the second installation executable file based on the second remote storage path. The open request carrying the second remote storage path is sent by the first application after detecting an open request for the second shortcut in the list of installed applications and obtaining the second remote storage path corresponding to the second shortcut from the list of installed applications. The second remote storage path and the second shortcut are added to the list of installed applications after the second application obtains the second installation executable file by installing the second initial executable file of the fifth application corresponding to the second shortcut, stores it, and then adds it to the list of installed applications.
[0102] The third runtime information is sent to the first application via a communication connection, so that the first application can render and display based on the third runtime information.
[0103] Optionally, the above methods also include:
[0104] The application receives a removal request carrying a third remote storage path from the first application via a communication connection. The application then calls the fourth application to obtain and delete the third installation executable file based on the third remote storage path. The removal request carrying the third remote storage path is sent by the first application after detecting a removal request for the third shortcut in the list of installed applications and obtaining the third remote storage path corresponding to the third shortcut from the list of installed applications. The third remote storage path and the third shortcut are added to the list of installed applications after the second application obtains the third installation executable file by installing the third initial executable file of the sixth application corresponding to the third shortcut, stores it, and then adds it to the list of installed applications.
[0105] Remove the third shortcut from the list of installed applications and synchronize it with the first application via the communication connection so that the first application displays the list of installed applications with the third shortcut removed.
[0106] Based on the same inventive concept, embodiments of the present invention provide an application virtualization implementation device, and as shown in... Figure 2 Corresponding to the method shown, the first application running on the first operating system of the application virtualization system client is applied. The application virtualization system also includes a server. The first operating system is different from the second operating system of the server. The first application and the second application running on the second operating system establish a communication connection based on a remote application connection protocol. The structure of the device is as follows: Figure 4 As shown, it includes:
[0107] The first determining module 41 is used to determine whether the type of the first initial executable file is a set type after detecting an open request for the first initial executable file of a third application that is stored locally and adapted to the second operating system.
[0108] The second determining module 42 is used to determine the opening method of the first initial executable file as a fourth application adapted to the second operating system if the type of the first initial executable file is determined to be a set type, and the first shortcut of the fourth application is saved in the list of installed applications.
[0109] The conversion module 43 is used to convert the local storage path of the first initial executable file into the path format of the second operating system to obtain the first remote storage path;
[0110] The first sending module 44 is used to send an open request carrying a first remote storage path to a second application via a communication connection, so that the second application calls a fourth application to obtain a first initial executable file based on the first remote storage path, determines whether the first initial executable file needs to be installed, and if it is determined that the first initial executable file does not need to be installed, then runs the first initial executable file and sends the first running information to the first application via the communication connection; if it is determined that the first initial executable file needs to be installed, then installs the first initial executable file to obtain a first installed executable file, and after running the first installed executable file, sends the second running information to the first application via the communication connection.
[0111] The first display module 45 is used to render and display the first or second running information if it receives the first or second running information through a communication connection.
[0112] In this solution, for a third application that is stored locally and adapted to the second operating system, the user can directly send an open request, and the third application will be opened through a fourth application of the second operating system. The user is unaware that the opening process of the third application requires the participation of the fourth application of the second operating system. For the user, it is possible to open the third application that is stored locally and adapted to the second operating system independently without the need for the administrator, thereby greatly improving the operating efficiency of the application and the user experience.
[0113] Optional, also includes:
[0114] The first acquisition module is used to detect an open request for the second shortcut in the list of installed applications, and then obtain the second remote storage path corresponding to the second shortcut from the list of installed applications. The second remote storage path and the second shortcut are added to the list of installed applications after the second application has installed the second initial executable file of the fifth application corresponding to the second shortcut, obtained the second installation executable file, stored it, and then added to the list of installed applications.
[0115] The second sending module is used to send an open request carrying the second remote storage path to the second application through a communication connection, so that the second application calls the fourth application to obtain and run the second installation executable file based on the second remote storage path, and sends the third running information to the first application through the communication connection;
[0116] The second display module is used to render and display third running information if it receives third running information through a communication connection.
[0117] Optional, also includes:
[0118] The second acquisition module is used to detect a removal request for the third shortcut in the list of installed applications, and then obtain the third remote storage path corresponding to the third shortcut from the list of installed applications. The third remote storage path and the third shortcut are added to the list of installed applications after the second application installs the third initial executable file of the sixth application corresponding to the third shortcut to obtain the third installation executable file and stores it.
[0119] The third sending module is used to send a delisting request carrying a third remote storage path to the second application via a communication connection, so that the second application can call the fourth application to obtain the third installation executable file based on the third remote storage path and delete it, remove the third shortcut from the list of installed applications and synchronize it to the first application;
[0120] The third display module is used to display the list of installed applications whose third shortcuts have been deleted if it receives a list of installed applications whose third shortcuts have been deleted from the second application via a communication connection.
[0121] Based on the same inventive concept, embodiments of the present invention provide an application virtualization implementation device, and as shown in... Figure 3 Corresponding to the method shown, a second application running on the second operating system of the application virtualization system is applied. The application virtualization system also includes a client. The second operating system is different from the first operating system of the client. The second application establishes a communication connection with the first application running on the first operating system based on a remote application connection protocol. The structure of the device is as follows: Figure 5 As shown, it includes:
[0122] The first calling module 51 is used to receive an open request carrying a first remote storage path sent by the first application through a communication connection, and to call the fourth application to obtain the first initial executable file based on the first remote storage path. The open request carrying the first remote storage path is sent by the first application after detecting the open request of the first initial executable file of the third application that is local storage and adapted to the second operating system, determining that the type of the first initial executable file is a set type, determining that the opening method of the first initial executable file is the fourth application adapted to the second operating system, converting the local storage path of the first initial executable file into the path format of the second operating system, and saving the first shortcut of the fourth application in the list of installed applications.
[0123] Module 52 is used to determine whether the first initial executable file needs to be installed;
[0124] The first sending module 53 is configured to, if it is determined that the first initial executable file does not need to be installed, run the first initial executable file and send the first running information to the first application through a communication connection so that the first application renders and displays based on the first running information; if it is determined that the first initial executable file needs to be installed, install the first initial executable file to obtain the first installed executable file, run the first installed executable file, and then send the second running information to the first application through a communication connection so that the first application renders and displays based on the second running information.
[0125] In this solution, for a third application that is stored locally and adapted to the second operating system, the user can directly send an open request, and the third application will be opened through a fourth application of the second operating system. The user is unaware that the opening process of the third application requires the participation of the fourth application of the second operating system. For the user, it is possible to open the third application that is stored locally and adapted to the second operating system independently without the need for the administrator, thereby greatly improving the operating efficiency of the application and the user experience.
[0126] Optional, also includes:
[0127] The second calling module is used to receive an open request carrying a second remote storage path sent by the first application through a communication connection, and to call the fourth application to obtain and run the second installation executable file based on the second remote storage path. The open request carrying the second remote storage path is sent by the first application after detecting an open request for the second shortcut in the list of installed applications, obtaining the second remote storage path corresponding to the second shortcut from the list of installed applications. The second remote storage path and the second shortcut are added to the list of installed applications after the second application obtains the second installation executable file by installing the second initial executable file of the fifth application corresponding to the second shortcut, storing it, and then adding it to the list of installed applications.
[0128] The second sending module is used to send third running information to the first application through a communication connection, so that the first application can render and display based on the third running information.
[0129] Optional, also includes:
[0130] The third calling module is used to receive a removal request carrying a third remote storage path sent by the first application through a communication connection, and to call the fourth application to obtain and delete the third installation executable file based on the third remote storage path. The removal request carrying the third remote storage path is sent by the first application after detecting the removal request for the third shortcut in the list of installed applications, obtaining the third remote storage path corresponding to the third shortcut from the list of installed applications. The third remote storage path and the third shortcut are added to the list of installed applications after the second application obtains the third installation executable file by installing the third initial executable file of the sixth application corresponding to the third shortcut, stores it, and then adds it to the list of installed applications.
[0131] The synchronization module is used to remove third-party shortcuts from the list of installed applications and synchronize them to the first application via a communication connection, so that the first application can display the list of installed applications with the third-party shortcuts removed.
[0132] This application also provides an electronic device; please refer to [link to relevant documentation]. Figure 6 As shown, it includes a processor 610, a communication interface 620, a memory 630, and a communication bus 640, wherein the processor 610, the communication interface 620, and the memory 630 communicate with each other through the communication bus 640.
[0133] Memory 630 is used to store computer programs;
[0134] When the processor 610 executes the program stored in the memory 630, it implements the application virtualization implementation method described in any of the above embodiments.
[0135] The communication interface 620 is used for communication between the above-mentioned electronic device and other devices.
[0136] The memory may include random access memory (RAM) or non-volatile memory (NVM), such as at least one disk storage device. Optionally, the memory may also be at least one storage device located remotely from the aforementioned processor.
[0137] The processors mentioned above can be general-purpose processors, including central processing units (CPUs), network processors (NPs), etc.; they can also be digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components.
[0138] In this solution, for a third application that is stored locally and adapted to the second operating system, the user can directly send an open request, and the third application will be opened through a fourth application of the second operating system. The user is unaware that the opening process of the third application requires the participation of the fourth application of the second operating system. For the user, it is possible to open the third application that is stored locally and adapted to the second operating system independently without the need for the administrator, thereby greatly improving the operating efficiency of the application and the user experience.
[0139] Accordingly, embodiments of this application also provide a computer-readable storage medium storing instructions that, when executed on a computer, cause the computer to perform any of the application virtualization implementation methods described in the above embodiments.
[0140] In this solution, for a third application that is stored locally and adapted to the second operating system, the user can directly send an open request, and the third application will be opened through a fourth application of the second operating system. The user is unaware that the opening process of the third application requires the participation of the fourth application of the second operating system. For the user, it is possible to open the third application that is stored locally and adapted to the second operating system independently without the need for the administrator, thereby greatly improving the operating efficiency of the application and the user experience.
[0141] This invention is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, generate instructions for implementing the flowchart illustrations and / or block diagrams. Figure 1One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.
[0142] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means, which are implemented in a process Figure 1 One or more processes and / or boxes Figure 1 The function specified in one or more boxes.
[0143] These computer program instructions may also be loaded onto a computer or other programmable data processing equipment to cause a series of operational steps to be performed on the computer or other programmable equipment to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable equipment for implementing the process. Figure 1 One or more processes and / or boxes Figure 1 The steps of the function specified in one or more boxes.
[0144] Although alternative embodiments of the invention have been described, those skilled in the art, upon learning the basic inventive concept, can make further changes and modifications to these embodiments. Therefore, the appended claims are intended to be interpreted as including the alternative embodiments as well as all changes and modifications falling within the scope of the invention.
[0145] Obviously, those skilled in the art can make various modifications and variations to the embodiments of the present invention without departing from the spirit and scope of the embodiments of the present invention. Thus, if these modifications and variations to the embodiments of the present invention fall within the scope of the claims of the present invention and their equivalents, the present invention also intends to include these modifications and variations.
Claims
1. A method for implementing application virtualization, applied to a first application running on a first operating system of a client in an application virtualization system, wherein the application virtualization system further includes a server, the first operating system being different from a second operating system of the server, and a communication connection being established between the first application and a second application running on the second operating system based on a remote application connection protocol, characterized in that, The method includes: After detecting an open request for a first initial executable file of a third application that is locally stored and adapted to the second operating system, it is determined whether the type of the first initial executable file is a set type; If it is determined that the type of the first initial executable file is the set type, then the opening method of the first initial executable file is determined to be the fourth application adapted to the second operating system, and the first shortcut of the fourth application is saved in the list of installed applications; The local storage path of the first initial executable file is converted into the path format of the second operating system to obtain the first remote storage path; The communication connection sends an open request carrying the first remote storage path to the second application, so that the second application calls the fourth application to obtain the first initial executable file based on the first remote storage path, determines whether the first initial executable file needs to be installed, and if it is determined that the first initial executable file does not need to be installed, then the first initial executable file is run, and the first running information is sent to the first application through the communication connection; if it is determined that the first initial executable file needs to be installed, then the first initial executable file is installed to obtain the first installed executable file, and after running the first installed executable file, the second running information is sent to the first application through the communication connection. If the first running information or the second running information is received through the communication connection, it is then rendered and displayed based on the first running information or the second running information.
2. The method as described in claim 1, characterized in that, Also includes: After detecting an open request for the second shortcut in the list of installed applications, the second remote storage path corresponding to the second shortcut is obtained from the list of installed applications. The second remote storage path and the second shortcut are added to the list of installed applications after the second application has installed the second initial executable file of the fifth application corresponding to the second shortcut to obtain the second installation executable file and stored it. The second application sends an open request carrying the second remote storage path through the communication connection, so that the second application calls the fourth application to obtain the second installation executable file based on the second remote storage path and runs it, and sends the third running information to the first application through the communication connection; If the third operating information is received through the communication connection, then rendering and display are performed based on the third operating information.
3. The method as described in claim 1 or 2, characterized in that, Also includes: After detecting a removal request for the third shortcut in the list of installed applications, the third remote storage path corresponding to the third shortcut is obtained from the list of installed applications. The third remote storage path and the third shortcut are added to the list of installed applications after the second application installs the third initial executable file of the sixth application corresponding to the third shortcut to obtain the third installation executable file and stores it. The second application sends a removal request carrying the third remote storage path through the communication connection, so that the second application calls the fourth application to obtain the third installation executable file based on the third remote storage path and deletes it, removes the third shortcut from the list of installed applications and synchronizes it with the first application; If the second application receives a list of installed applications that have deleted the third shortcut via the communication connection, then the list of installed applications that have deleted the third shortcut is displayed.
4. A method for implementing application virtualization, applied to a second application running on a second operating system of an application virtualization system server, wherein the application virtualization system further includes a client, the second operating system being different from the first operating system of the client, and the second application establishing a communication connection with a first application running on the first operating system based on a remote application connection protocol, characterized in that, The method includes: The communication connection receives an open request carrying a first remote storage path sent by the first application. The fourth application is invoked to obtain a first initial executable file based on the first remote storage path. The open request carrying the first remote storage path is sent after the first application detects the open request for the first initial executable file of the third application that is local storage and adapted to the second operating system, determines that the type of the first initial executable file is a set type, determines that the opening method of the first initial executable file is the fourth application adapted to the second operating system, converts the local storage path of the first initial executable file into the path format of the second operating system, and the first shortcut of the fourth application is saved in the list of installed applications. Determine whether the first initial executable file needs to be installed; If it is determined that the first initial executable file does not need to be installed, then the first initial executable file is run, and the first running information is sent to the first application through the communication connection, so that the first application renders and displays based on the first running information; If it is determined that the first initial executable file needs to be installed, then the first initial executable file is installed to obtain the first installation executable file. After running the first installation executable file, the second running information is sent to the first application through the communication connection so that the first application renders and displays based on the second running information.
5. The method as described in claim 4, characterized in that, Also includes: The communication connection receives an open request carrying a second remote storage path sent by the first application. The fourth application is then invoked to obtain and run a second installation executable file based on the second remote storage path. The open request carrying the second remote storage path is sent by the first application after detecting an open request for a second shortcut in the list of installed applications and obtaining the second remote storage path corresponding to the second shortcut from the list of installed applications. The second remote storage path and the second shortcut are added to the list of installed applications after the second application has installed the second initial executable file of the fifth application corresponding to the second shortcut, obtained the second installation executable file, stored it, and then added it to the list of installed applications. The third runtime information is sent to the first application through the communication connection, so that the first application can render and display based on the third runtime information.
6. The method as described in claim 4, characterized in that, Also includes: The communication connection receives a removal request from the first application carrying a third remote storage path. The fourth application then retrieves and deletes the third installation executable file based on the third remote storage path. The removal request carrying the third remote storage path is sent by the first application after detecting a removal request for the third shortcut in the list of installed applications and retrieving the third remote storage path corresponding to the third shortcut from the list of installed applications. The third remote storage path and the third shortcut are added to the list of installed applications after the second application installs the third initial executable file of the sixth application corresponding to the third shortcut, obtains the third installation executable file, stores it, and then adds it to the list of installed applications. The third shortcut is deleted from the list of installed applications and synchronized to the first application via the communication connection, so that the first application displays the list of installed applications with the third shortcut deleted.
7. An application virtualization implementation apparatus, applied to a first application running on a first operating system of an application virtualization system client, the application virtualization system further comprising a server, wherein the first operating system is different from a second operating system of the server, and a communication connection is established between the first application and a second application running on the second operating system based on a remote application connection protocol, characterized in that, The device includes: The first determining module is used to determine whether the type of the first initial executable file is a set type after detecting an open request for a first initial executable file of a third application that is stored locally and adapted to the second operating system. The second determining module is used to determine, if the type of the first initial executable file is the set type, the opening method of the first initial executable file is a fourth application adapted to the second operating system, and the first shortcut of the fourth application is stored in the list of installed applications. A conversion module is used to convert the local storage path of the first initial executable file into the path format of the second operating system to obtain the first remote storage path; The first sending module is configured to send an open request carrying the first remote storage path to the second application via the communication connection, so that the second application calls the fourth application to obtain the first initial executable file based on the first remote storage path, determines whether the first initial executable file needs to be installed, and if it is determined that the first initial executable file does not need to be installed, then runs the first initial executable file and sends the first running information to the first application via the communication connection; if it is determined that the first initial executable file needs to be installed, then installs the first initial executable file to obtain the first installed executable file, runs the first installed executable file, and sends the second running information to the first application via the communication connection. The first display module is configured to render and display the first or second running information if the first running information or the second running information is received through the communication connection.
8. The apparatus as claimed in claim 7, characterized in that, Also includes: The first acquisition module is used to detect an open request for the second shortcut in the list of installed applications, and then acquire the second remote storage path corresponding to the second shortcut from the list of installed applications. The second remote storage path and the second shortcut are added to the list of installed applications after the second application has installed the second initial executable file of the fifth application corresponding to the second shortcut to obtain the second installation executable file and stored it. The second sending module is used to send an open request carrying the second remote storage path to the second application through the communication connection, so that the second application calls the fourth application to obtain the second installation executable file based on the second remote storage path and runs it, and sends third running information to the first application through the communication connection; The second display module is used to render and display the third operating information if the third operating information is received through the communication connection.
9. The apparatus as claimed in claim 7 or 8, characterized in that, Also includes: The second acquisition module is used to detect a removal request for the third shortcut in the list of installed applications, and then obtain the third remote storage path corresponding to the third shortcut from the list of installed applications. The third remote storage path and the third shortcut are added to the list of installed applications after the second application installs the third initial executable file of the sixth application corresponding to the third shortcut to obtain the third installation executable file and stores it. The third sending module is used to send a delisting request carrying the third remote storage path to the second application through the communication connection, so that the second application calls the fourth application to obtain the third installation executable file based on the third remote storage path and delete it, remove the third shortcut from the list of installed applications and synchronize it to the first application; The third display module is configured to display the list of installed applications that have deleted the third shortcut if it receives a list of installed applications that have deleted the third shortcut synchronized by the second application through the communication connection.
10. An application virtualization implementation apparatus, applied to a second application running on a second operating system of an application virtualization system server, the application virtualization system further comprising a client, wherein the second operating system is different from a first operating system of the client, and the second application establishes a communication connection with a first application running on the first operating system based on a remote application connection protocol, characterized in that, The device includes: The first calling module is used to receive an open request carrying a first remote storage path sent by the first application through the communication connection, and to call the fourth application to obtain a first initial executable file based on the first remote storage path. The open request carrying the first remote storage path is sent after the first application detects the open request of the first initial executable file for the third application that is local storage and adapted to the second operating system, determines that the type of the first initial executable file is a set type, determines that the opening method of the first initial executable file is the fourth application adapted to the second operating system, converts the local storage path of the first initial executable file into the path format of the second operating system, and the first shortcut of the fourth application is saved in the list of installed applications. A determination module is used to determine whether the first initial executable file needs to be installed; The first sending module is configured to, if it is determined that the first initial executable file does not need to be installed, run the first initial executable file and send first running information to the first application through the communication connection, so that the first application renders and displays based on the first running information; if it is determined that the first initial executable file needs to be installed, install the first initial executable file to obtain a first installation executable file, run the first installation executable file, and then send second running information to the first application through the communication connection, so that the first application renders and displays based on the second running information.
11. The apparatus as claimed in claim 10, characterized in that, Also includes: The second calling module is used to receive an open request carrying a second remote storage path sent by the first application through the communication connection, and to call the fourth application to obtain and run the second installation executable file based on the second remote storage path. The open request carrying the second remote storage path is sent by the first application after detecting an open request for the second shortcut in the list of installed applications and obtaining the second remote storage path corresponding to the second shortcut from the list of installed applications. The second remote storage path and the second shortcut are added to the list of installed applications after the second application has installed the second initial executable file of the fifth application corresponding to the second shortcut, obtained the second installation executable file, stored it, and then added it to the list of installed applications. The second sending module is used to send third running information to the first application through the communication connection, so that the first application can render and display based on the third running information.
12. The apparatus as claimed in claim 10 or 11, characterized in that, Also includes: The third calling module is used to receive a removal request carrying a third remote storage path sent by the first application through the communication connection, and to call the fourth application to obtain and delete the third installation executable file based on the third remote storage path. The removal request carrying the third remote storage path is sent by the first application after detecting a removal request for the third shortcut in the list of installed applications, obtaining the third remote storage path corresponding to the third shortcut from the list of installed applications. The third remote storage path and the third shortcut are added to the list of installed applications after the second application has installed the third initial executable file of the sixth application corresponding to the third shortcut, obtained the third installation executable file, stored it, and then added it to the list of installed applications. A synchronization module is used to remove the third shortcut from the list of installed applications and synchronize it to the first application via the communication connection, so that the first application displays the list of installed applications with the third shortcut removed.
13. An electronic device, characterized in that, The electronic device includes a processor, a communication interface, a memory, and a communication bus, wherein the processor, the communication interface, and the memory communicate with each other through the communication bus; Memory, used to store computer programs; A processor, when executing a program stored in memory, implements the steps of the method according to any one of claims 1-6.
14. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer program that, when executed by a processor, implements the steps of the method described in any one of claims 1-6.