Sandbox application processing method, system, equipment and medium
By allocating isolated storage space for applications in the cloud desktop, sandboxing is implemented, which solves the problem of inability to manage applications and data separately, simplifies the installation process, improves efficiency, and supports data migration.
Patent Information
- Application Number
- CN202310848862.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2023-07-11
- Publication Date
- 2025-01-24
AI Technical Summary
Applications in cloud desktops cannot be managed separately from their data, resulting in cumbersome application installation and use processes and affecting user experience.
Through the sandboxing method, isolated storage space is allocated for applications in the cloud desktop, so that applications and their data can be run and managed independently in a sandbox environment, achieving isolated installation of applications and effective isolation of data.
Simplified the installation process of sandbox -based applications, improved the installation efficiency, ensured the security isolation between applications, and supported the migration of data.
Smart Images

Figure CN119357946A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of computer technology, and in particular to a sandboxed application processing method, system, device and medium. Background Art
[0002] In the cloud application system, users can remotely open and operate cloud applications in the cloud desktop through the cloud application client.
[0003] In the cloud desktop application scenario, users are provided with convenient application usage conditions. Users can log in to the cloud desktop from anywhere through the client, and can use various applications in the cloud desktop without regional restrictions. Users no longer have to worry about whether the relevant data of various applications are carried with them. While providing users with the above convenient conditions, there are also some disadvantages. For example, various applications are installed in the cloud desktop, but the relevant data of each application is considered to be managed together with the application, and the application and its related data cannot be managed separately. Summary of the invention
[0004] In order to solve or improve the problems existing in the prior art, the embodiments of the present application provide a sandboxed application processing method, system, device and medium.
[0005] In a first aspect, in one embodiment of the present application, a sandbox application processing method is provided. Applied to a cloud desktop, the method comprises:
[0006] In response to a sandboxed application processing request sent by a client, obtaining an application identifier included in the sandboxed application processing request;
[0007] Determine a target sandboxed application corresponding to the application identifier;
[0008] An isolated storage space for running the target sandboxed application is allocated to the client, wherein the isolated storage space is used to store data generated when the client calls the target sandboxed application.
[0009] In a second aspect, in one embodiment of the present application, a sandbox application processing method is provided, which is applied to a cloud application client, and the method includes:
[0010] Sending a sandbox application processing request to the cloud desktop; the sandbox application processing request includes a user identifier and an application identifier; so that the cloud desktop allocates an isolated storage space generated by installing the target sandbox application to the client based on the user identifier;
[0011] An application image for running the target sandboxed application in the isolated storage space is received.
[0012] In a third aspect, in one embodiment of the present application, a sandbox application processing system is provided, including:
[0013] The cloud desktop is used to execute the method described in the first aspect.
[0014] A cloud application client, used to execute the method described in the second aspect.
[0015] In a fourth aspect, in one embodiment of the present application, an electronic device is provided, including a memory and a processor; wherein:
[0016] The memory is used to store programs;
[0017] The processor is coupled to the memory, and is used to execute the program stored in the memory to implement the method described in the first aspect, or to implement the method described in the second aspect.
[0018] In the fifth aspect, in one embodiment of the present application, a non-temporary machine-readable storage medium is provided, on which executable code is stored. When the executable code is executed by a processor of an electronic device, the processor executes the method described in the first aspect or the method described in the second aspect.
[0019] The technical solution provided by the embodiment of the present application is that in the cloud desktop application scenario, the user can select and install various applications required by the user in the cloud desktop through the client as needed. These applications can be sandboxed applications after sandboxing, so that each sandboxed application will not interfere with each other when running in the cloud desktop. In addition, the sandboxed application can be reliably and quickly installed in the sandbox environment. At the same time, an isolated storage space for running the target sandboxed application is allocated to the client, so that the relevant data of the sandboxed applications used by different clients can be effectively isolated. Through the above scheme, safe and reliable conditions are provided for the installation of sandboxed applications in the sandboxed environment, which can effectively simplify the installation process and improve the installation efficiency. At the same time, isolated storage space for storing the relevant data of each target sandboxed application is allocated to different clients to facilitate the management of related data, and the data in the isolated storage space can also be migrated. BRIEF DESCRIPTION OF THE DRAWINGS
[0020] In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, a brief introduction will be given below to the drawings required for use in the embodiments or the description of the prior art. Obviously, the drawings described below are some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative work.
[0021] Figure 1A schematic diagram of a process flow of a sandboxed application processing method provided in an embodiment of the present application;
[0022] Figure 2 A schematic diagram of the sandbox processing flow illustrated in the embodiment of the present application;
[0023] Figure 3 A schematic diagram of visualization of sandboxed application installation provided in an embodiment of the present application;
[0024] Figure 4 A flowchart of another sandbox application processing method provided in an embodiment of the present application;
[0025] Figure 5 A schematic diagram of a sandboxed application processing system provided in an embodiment of the present application;
[0026] Figure 6 A schematic diagram of the structure of a sandbox application processing device provided in an embodiment of the present application;
[0027] Figure 7 A schematic diagram of the structure of another sandboxed application processing device provided in an embodiment of the present application;
[0028] Figure 8 A schematic diagram of the structure of an electronic device provided in an embodiment of the present application. DETAILED DESCRIPTION
[0029] In order to enable those skilled in the art to better understand the solution of the present application, the technical solution in the embodiments of the present application will be clearly and completely described below in conjunction with the drawings in the embodiments of the present application.
[0030] In some processes described in the specification, claims and the above-mentioned figures of the present application, multiple operations appearing in a specific order are included, and these operations may not be executed or executed in parallel in the order in which they appear in this article. The serial numbers of the operations, such as 101, 102, etc., are only used to distinguish different operations, and the serial numbers themselves do not represent any execution order. In addition, these processes may include more or fewer operations, and these operations may be executed in sequence or in parallel. It should be noted that the descriptions of "first", "second", etc. in this article are used to distinguish different messages, devices, modules, etc., do not represent the order of precedence, and do not limit "first" and "second" to different types. In addition, the embodiments described below are only part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by those skilled in the art without making creative work are within the scope of protection of this application.
[0031] The cloud application system is designed to facilitate users to open the applications they need anytime and anywhere without having to carry a large number of hardware devices. The ideal state is to be able to use various applications out of the box, just like a local computer. However, in actual applications, the process of opening cloud applications is more cumbersome than the sandbox application processing process of a local computer. Specifically, after the user selects the cloud application to be opened, the cloud device begins to prepare cloud-side resources (for example, hardware resource preparation, system resource preparation, and application resource preparation), and after the resources are ready, the application is opened. Because there are differences in the content of the cloud-side resources that need to be prepared and the applications to be enabled, the time required for users to select the application and actually open the application varies. The time-consuming processing of some sandboxed applications seriously affects the normal use needs of users. This leads to a poor user experience and the inability to meet the needs of out-of-the-box use. Therefore, a solution that can effectively improve the processing speed of cloud sandboxed applications is needed.
[0032] Terminology explanation:
[0033] Sandboxing: Package the application so that it can run in an isolated environment. Each sandboxed application package is an independent virtual hard disk format file (VHD) containing the application files, registry (HIVE) files and some auxiliary files. When running, it will be directly mounted to the system and exist in the form of volume.
[0034] Sandbox driver: Provides an isolated environment for running sandboxed applications.
[0035] Virtual Hard Disk (VHD) files can be virtualized into a hard disk. VHD files support remote mounting, and VHD files can be portable and remotely mounted to the local computer.
[0036] Cloud Desktop: Provides easy-to-use, secure and efficient cloud desktop services to help you quickly build and efficiently manage the desktop office environment, and provide a secure and flexible office system.
[0037] App Store: The cloud desktop has built-in application product programs. Users can download, install, and use various sandboxed applications through the app store.
[0038] Tenant administrator: The enterprise's operation and maintenance manager, who can create, assign, and authorize users to use office applications through the console.
[0039] User: A user who uses a cloud desktop can connect to the cloud desktop through a client and download, install, and use applications through application products.
[0040] App Virtual Disk Storage: A network storage disk (such as a NAS disk) that can be shared and accessed by multiple users within a cluster and is used to store data related to sandboxed applications.
[0041] UserProfile Virtual Disk Storage: A network storage disk (such as NAS, OSS) that can be shared and accessed by multiple users in the cluster. It is used to store user profiles. A user profile is a collection of settings and files that define the environment required for the system to load when a user logs in. It includes all user-specific configuration settings, such as program items, screen colors, network connections, printer connections, mouse settings, and window sizes and positions.
[0042] The technical solution implemented in this application will be explained below in conjunction with specific embodiments.
[0043] like Figure 1 A schematic diagram of a process flow of a sandbox application processing method provided in an embodiment of the present application. The execution subject of the method may be a storage node in a distributed system. Figure 1 You can see that the specific steps include the following:
[0044] 101: In response to a sandbox application processing request sent by a client, obtain an application identifier included in the sandbox application processing request.
[0045] 102: Determine a target sandboxed application corresponding to the application identifier.
[0046] 103: Allocate an isolated storage space for the client to run the target sandboxed application, wherein the isolated storage space is used to store data generated when the client calls the target sandboxed application.
[0047] The sandboxed application mentioned here can be understood as the application obtained after sandboxing each application in the cloud desktop, so that the application can be run in isolation in the sandbox environment, and will not interfere with the cloud desktop system during operation. The sandboxed application processing request mentioned here can be an installation request, download request, etc. of the sandboxed application. The request will include the application identifier of the target sandboxed application selected by the user.
[0048] For example, in a cloud desktop or in an application store of a cloud desktop, multiple applications are displayed. When a user clicks to download or install an application through a client, the client sends the application ID clicked by the user to the cloud desktop or application store, and the cloud desktop or application store knows the target sandboxed application required by the user based on the application ID.
[0049] The determination of the target sandboxed application corresponding to the application identifier mentioned here can be understood as searching the target sandboxed application locally according to the application identifier, or downloading and installing the target sandboxed application from the server according to the application identifier. The specific determination method will be specifically described in the following embodiments, and will not be repeated here.
[0050] In the technical solution of the present application, while sandboxing is performed for each application and a sandbox environment is created for the application to run, isolated storage space is also allocated for the client using the application, so that each sandboxed application can be isolated and run, and isolated storage space can be created for each client. In other words, the corresponding isolated storage space can be bound by the user ID corresponding to the client and the application ID of the target sandboxed application. Thus, the isolation of user data and application data is achieved.
[0051] In addition, since the sandboxed applications of each client have their corresponding isolated storage spaces, user data and application data are isolated from each other. In an optional application scenario, when a sandboxed application is in an idle state, the sandboxed application can be called by other clients. For example, initially, client A1 instructs to install the target sandboxed application B1, and the corresponding allocated isolated storage space is C1. When client A1 does not have the use demand of the target sandboxed application B1 within a certain period of time, then client A2 has the use demand of the target sandboxed application B1 at this time, and isolated storage space C2 can be allocated to client A2 and target sandboxed application B1. When client A1 instructs to install the target sandboxed application B2, isolated storage space C3 will be allocated to client A1 and sandboxed application B2. Through the above method, the same target sandboxed application uses different isolated storage spaces when called by different clients, and different isolated storage spaces are allocated to different target sandboxed applications, which realizes client isolation and application isolation, facilitates the installation and management of sandboxed applications by cloud desktops, and can also improve the utilization rate of target sandboxed applications.
[0052] There are many ways to determine usage demand. For example, it is possible to determine whether the current number of users has usage demand based on user historical usage data. For example, the application usage data including the client corresponding user historical data and the application historical data of the target sandboxed application is collected; the application usage data is input into a pre-trained application prediction model to predict the probability of a user using a target sandboxed application.
[0053] Specifically, when collecting application usage data, the application usage data of user history data and application history data are collected. The user history data mentioned here can be the user history data of multiple users in the same area, or users with similar user attributes. The application history data can be which users opened the application at what time, the end time, the usage time, the application response time, etc. In the above manner, the usage needs and current usage probabilities of multiple sandboxed applications that meet the user's opening needs can be predicted based on the user history data and application history data.
[0054] In one or more embodiments of the present application, after obtaining the application identifier contained in the sandboxed application processing request, it also includes: obtaining the user identifier contained in the sandboxed application processing request; judging whether the client is a legitimate client based on the user identifier; if it is a legitimate client, allocating usage rights of the target sandboxed application to the client.
[0055] In actual applications, different users have different usage permissions. For example, users who have completed basic information registration are called legal users, while users who have not completed basic information registration are illegal users. For another example, some users have a relatively low level (such as free users), and the number of applications allowed to be used is relatively small. For example, only free users are allowed to use the picture viewing function. Therefore, even if they are legal users, it is necessary to further determine whether the legal user has the permission to use a certain application. If user A1 has purchased the permission to use the target sandboxed application B1, user A1 can use the sandboxed application through the client; if user A2 has not purchased the permission to use the target sandboxed application B1, user A2 cannot use the sandboxed application B1 through the client.
[0056] It should be noted that when determining the client's right to use the sandboxed application, the staff can manage the client of each user through the console, or it can be managed automatically. Specifically, when multiple users of a company use the cloud desktop at the same time, a staff member can manage the client of each user through the console. When a user has a use demand, such as sending a sandboxed application processing request, the staff can allocate the corresponding target sandboxed application and its corresponding isolated storage space to the user. When it is determined that the user will no longer use the target sandboxed application demand for a period of time, the target sandboxed application can be released, or the use rights can be allocated to other users. For another example, when automatically managing the user's sandboxed application use rights, when it is determined that the target sandboxed application is not used by a higher-level user, the user can be opened for the use of the target sandboxed application. On the contrary, if a higher-level user also wants to use the target sandboxed application, the user with a low-level permission will not be able to obtain the use rights. Through the above scheme, while improving the utilization rate of sandboxed applications, it is ensured that each sandboxed application can be reasonably and legally applied.
[0057] In one or more embodiments of the present application, after obtaining the application identifier contained in the sandboxed application processing request, it also includes: judging whether the target sandboxed application is stored locally based on the application identifier; if the target sandboxed application is not stored, obtaining the target sandboxed application corresponding to the application identifier from the server.
[0058] In actual applications, after obtaining the application identifier, it is necessary to further determine whether the target sandboxed application is already stored locally in the cloud desktop or application store based on the application identifier. If the target sandboxed application is already stored locally, it means that the target sandboxed application has been downloaded before and does not need to be downloaded again. Instead, it can be used or installed directly. If the corresponding target sandboxed application is not found locally based on the application identifier, it means that the relevant target sandboxed application has not been downloaded and stored in the current cloud desktop or the application store in the cloud desktop. Through the above-mentioned method of judging first and then downloading, the efficiency of application installation and startup can be effectively improved while meeting application requirements.
[0059] It should be noted that even if a user's client has uninstalled the application, it will not be deleted from the cloud desktop or application store, and when other users need to use it, they can quickly install and start it, which can effectively improve the efficiency of users using the target sandboxed application.
[0060] In one or more embodiments of the present application, allocating an isolated storage space for running the target sandboxed application to the client includes:
[0061] An isolated storage space generated for installing the target sandboxed application is allocated to the client based on the user identifier, wherein the isolated storage space includes: a first isolated storage space allocated according to the application identifier for storing application data of the target sandboxed application, and a second isolated storage space allocated according to the user identifier for storing user data.
[0062] As mentioned above, the isolated storage space corresponding to different sandboxed applications and different clients is allocated, and the isolated storage space can be logically divided according to the actual storage content. It is divided into an isolated storage space for storing user data and a storage space for storing application data. Specifically, the storage space allocated according to the application identifier for storing the application data of the target sandboxed application is called the first isolated storage space, and the storage space allocated according to the user identifier for storing user data is called the second isolated storage space.
[0063] For example, you can use a network storage disk App Virtual Disk Storage to store application data. AppVirtual Disk Storage is a network storage disk (such as a NAS disk) that can be shared and accessed by multiple users in a cluster and is used to store sandboxed application-related data.
[0064] For another example, you can use a network storage disk UserProfile Virtual Disk Storage to store user data. UserProfile Virtual Disk Storage is a network storage disk (such as NAS, OSS) that can be shared and accessed by multiple users in the cluster. It is used to store user profiles. A user profile is a collection of settings and files that define the environment required for the system to load when a user logs in. It includes all user-specific configuration settings, such as program items, screen colors, network connections, printer connections, mouse settings, and window sizes and positions.
[0065] In the above manner, user data and application data are stored separately. While isolating different application data and different user data, it also facilitates the management of user data and application data. For example, when a user decides to uninstall a sandboxed application after using it, the application data in the first isolated storage space can be deleted. After uninstallation, it will not affect the cloud desktop system.
[0066] In one or more embodiments of the present application, if a migration request is received, the target cloud desktop identifier corresponding to the migration request is determined; or, if the client logs in to the target cloud desktop, the target cloud desktop identifier corresponding to the target cloud desktop is determined; an association relationship between the first isolated storage space, the second isolated storage space and the target cloud desktop identifier is established; and the target sandboxed application is started based on the target cloud desktop corresponding to the target cloud desktop identifier.
[0067] In actual applications, users may replace the cloud desktop or the application version due to some actual application needs. This means that a new cloud desktop or a sandboxed application in the cloud desktop needs to be reallocated to the client; in other words, the cloud desktop or sandboxed application needs to be re-bound to the client. In the present application scheme, since user data is stored in the second isolated storage space and application data is stored in the first isolated storage space. Therefore, the first isolated storage space and the second isolated storage space can be migrated with the client. When the client establishes a binding relationship with the new cloud desktop, the first isolated storage space and the second isolated storage space of the client are also associated with the new cloud desktop. Through the above scheme, the workload of replacing the cloud desktop can be effectively simplified, the replacement process can be simplified, and application data and user data can be transferred with the user to ensure data security.
[0068] In actual applications, if it is found that the user logs in on another cloud desktop and uses the target sandboxed application. At this time, it can be further determined whether the user wants to change the cloud desktop or log in temporarily. If the judgment result is that the user is logging in temporarily, there is no need to migrate the user data and application data as a whole. Instead, an association relationship is established between the first isolated storage space, the second isolated storage space and another cloud desktop that is currently temporarily logged in. Through the above solution, the workload of replacing cloud desktops can be effectively simplified, the replacement process can be simplified, and application data and user data can be transferred with the user to ensure data security. Without the need for tedious operations, user data can be seamlessly connected to sandboxed applications in different cloud desktops.
[0069] In one or more embodiments of the present application, before obtaining the application identifier contained in the sandboxed application processing request, it also includes: pre-loading a sandbox driver, sandboxing the target application to obtain a target sandboxed application; if a sandboxed application processing request sent by a client is received, installing the target sandboxed application based on the sandbox driver.
[0070] The target sandboxed application obtained by sandboxing the target application specifically includes the following steps:
[0071] The target application is packaged and processed; and the target sandboxed application is created in a virtual disk format using the application meta information of the target application.
[0072] For ease of understanding, the following will be described with reference to specific embodiments. Figure 2 The following is a schematic diagram of the sandbox processing flow illustrated in the embodiment of the present application. Figure 2 As you can see, the specific steps include the following:
[0073] First, refresh the list to be packaged, which may contain multiple applications that need to be sandboxed. According to the user's selection operation, or by default, all applications in the list are sandboxed and packaged, determine at least one application that needs to be packaged. Scan the current cloud desktop system process, create a vhd format file and write the application metadata of the current application to be packaged. Furthermore, after creating the vhd format file, run the start script. Check the cloud desktop operating environment, modify and run the pack script. When the installation requirement of the application store in the cloud desktop is received, install the sandboxed application in the application store. After the installation is complete, run the stop script, delete useless files in the vhd format file, upload the completed vhd file to the storage space, and complete the sandboxed application processing.
[0074] In one or more embodiments of the present application, after installing the target sandboxed application based on the sandbox driver, it also includes: determining the storage content contained in the isolated storage space corresponding to the target sandboxed application; based on the storage content, generating a first data file for representing the application data in the first isolated storage space, a second data file for representing the user data in the second isolated storage space, and a third data file for representing system data.
[0075] like Figure 3 A schematic diagram of a visualization of the installation of a sandboxed application provided in an embodiment of the present application. Figure 3 It can be seen that in a sandbox environment, when using a sandbox driver to install a sandbox application, the sandbox driver can call the sandbox application interface to achieve quick installation. Since the installation in a sandbox environment will not be affected by the cloud desktop system and will not have an adverse effect on the cloud desktop, the installation process can be completed automatically without the user's participation in the installation. Allows users to achieve unaware installation. After installation, in order to allow users to obtain an intuitive installation effect, files related to the sandboxed application after installation will be generated in the folder. According to the different storage contents, it can be divided into a first data file for representing the application data in the first isolated storage space, a second data file for representing the user data in the second isolated storage space, and a third data file for representing system data.
[0076] like Figure 3 As shown, it is assumed that the second data file of the user data in the second isolated storage space is file1, and the first data files of the application data in the first isolated storage space are file2, file3 and file3, file4. The third files of the system data are file5 and file6. In order to enable the user to intuitively see the installation effect of the sandboxed application, file1, file2, file3, file4 and file5, file6 are visualized and overlaid here, and the display effect is the six folders of file1, file2 and file3, file4, file5 and file6 in Result. In the above manner, disk overlay (overlaydisk) is used to generate user-visible data files according to the logical hierarchy. This allows users to see the installation files and obtain a more realistic installation effect.
[0077] In one or more embodiments of the present application, after the installation is completed, the user can uninstall the application if there is no need to use the application. The steps include: if an uninstall request for the target sandbox application is received, the client is released from the right to use the target sandbox application; and the first data file, the second data file, and the third data file are deleted.
[0078] During uninstallation, the staff can revoke the client's permission to use the target sandboxed application through the console. At the same time, after the uninstallation is completed, the first data file, the second data file, and the third data file mentioned above are deleted.
[0079] For example, as mentioned above Figure 3 In the embodiment shown, after the uninstallation is completed, the six folders file1, file2, file3, file4, file5 and file6 in Result will be deleted. Thus, the user can perceive that the target sandboxed application has been uninstalled through these folders. In the present application scheme, the uninstallation process only needs to delete the files mentioned above, and the user does not need to intervene in the deletion process too much, so that automatic and fast deletion can be achieved.
[0080] Based on the same idea, the embodiment of the present application also provides another sandbox application processing method, which is applied to the cloud application client. Figure 4 A flowchart of another sandbox application processing method provided in an embodiment of the present application. Figure 4 You can see that the specific steps include the following:
[0081] 401: Send a sandbox application processing request to the cloud desktop; the sandbox application processing request includes a user identifier and an application identifier; so that the cloud desktop allocates an isolated storage space generated by installing the target sandbox application to the client based on the user identifier.
[0082] 402: Receive an application image for running the target sandboxed application in the isolated storage space.
[0083] Based on the same idea, the present application embodiment also provides a sandbox application processing system. Figure 5 A schematic diagram of a sandbox application processing system provided in an embodiment of the present application. Figure 5 As can be seen in FIG. 1 , the system is a distributed system. The data processing system includes: a cloud desktop 51 and a cloud application client 52. The cloud application client can be of various types, such as a web client and a Windows client, and can be used by multiple users. In the cloud device, there is a cloud application store program for storing sandboxed applications. When a user wants to select a sandboxed application, he can select it from the cloud application store.
[0084] Specifically, the cloud desktop 51 is used to respond to the sandbox application processing request sent by the client and obtain the application identifier included in the sandbox application processing request;
[0085] Determine a target sandboxed application corresponding to the application identifier;
[0086] An isolated storage space for running the target sandboxed application is allocated to the client, wherein the isolated storage space is used to store data generated when the client calls the target sandboxed application.
[0087] The cloud desktop 51 is used to obtain the user identifier included in the sandbox application processing request;
[0088] Determining whether the client is a legitimate client according to the user identifier;
[0089] If the client is a legitimate client, the client is assigned permission to use the target sandboxed application.
[0090] The cloud desktop 51 is used to determine whether the target sandbox application is stored locally according to the application identifier;
[0091] If the target sandboxed application is not stored, the target sandboxed application corresponding to the application identifier is obtained from the server.
[0092] The cloud desktop 51 is used to allocate an isolated storage space generated for installing the target sandboxed application to the client based on the user identifier, wherein the isolated storage space includes: a first isolated storage space allocated according to the application identifier for storing application data of the target sandboxed application, and a second isolated storage space allocated according to the user identifier for storing user data.
[0093] The cloud desktop 51 is used to determine the target cloud desktop identifier corresponding to the migration request if a migration request is received; or, if the client logs in to the target cloud desktop, determine the target cloud desktop identifier corresponding to the target cloud desktop;
[0094] Establishing an association relationship between the first isolated storage space, the second isolated storage space and the target cloud desktop identifier;
[0095] The target sandboxed application is started based on the target cloud desktop corresponding to the target cloud desktop identifier.
[0096] The cloud desktop 51 is used to preload a sandbox driver and perform sandbox processing on a target application to obtain a target sandboxed application;
[0097] If a sandbox application processing request sent by the client is received, the target sandbox application is installed based on the sandbox driver.
[0098] The cloud desktop 51 is used to package the target application;
[0099] The target sandboxed application is created in a virtual disk format by using the application meta information of the target application.
[0100] The cloud desktop 51 is used to determine the storage content contained in the isolated storage space corresponding to the target sandboxed application;
[0101] According to the storage content, a first data file for representing the application data in the first isolated storage space, a second data file for representing the user data in the second isolated storage space, and a third data file for representing system data are generated.
[0102] The cloud desktop 51 is used to release the client's permission to use the target sandbox application if an uninstall request for the target sandbox application is received;
[0103] The first data file, the second data file and the third data file are deleted.
[0104] The cloud application client 52 is used to send a sandboxed application processing request to the cloud desktop; the sandboxed application processing request includes a user identifier and an application identifier; so that the cloud desktop allocates an isolated storage space generated for installing the target sandboxed application to the client based on the user identifier; and receives an application image running the target sandboxed application in the isolated storage space.
[0105] Based on the same idea, the present embodiment also provides a sandbox application processing device. Figure 6 A schematic diagram of the structure of a sandbox application processing device provided in an embodiment of the present application. Figure 6 As can be seen in the figure, the device comprises:
[0106] The acquisition module 61 is used to respond to the sandbox application processing request sent by the client and acquire the application identifier included in the sandbox application processing request.
[0107] The determination module 62 is used to determine the target sandboxed application corresponding to the application identifier.
[0108] The allocation module 63 is used to allocate an isolated storage space for the client to run the target sandboxed application, wherein the isolated storage space is used to store data generated when the client calls the target sandboxed application.
[0109] An acquisition module 61 is used to acquire a user identifier included in the sandbox application processing request;
[0110] Determining whether the client is a legitimate client according to the user identifier;
[0111] If the client is a legitimate client, the client is assigned permission to use the target sandboxed application.
[0112] An acquisition module 61 is used to determine whether the target sandboxed application is stored locally according to the application identifier;
[0113] If the target sandboxed application is not stored, the target sandboxed application corresponding to the application identifier is obtained from the server.
[0114] An allocation module 63 is used to allocate an isolated storage space generated for installing the target sandboxed application to the client based on the user identifier, wherein the isolated storage space includes: a first isolated storage space allocated according to the application identifier for storing application data of the target sandboxed application, and a second isolated storage space allocated according to the user identifier for storing user data.
[0115] It also includes a migration module 64, which is used to determine the target cloud desktop identifier corresponding to the migration request if a migration request is received; or, if the client logs in to the target cloud desktop, determine the target cloud desktop identifier corresponding to the target cloud desktop;
[0116] Establishing an association relationship between the first isolated storage space, the second isolated storage space and the target cloud desktop identifier;
[0117] The target sandboxed application is started based on the target cloud desktop corresponding to the target cloud desktop identifier.
[0118] A determination module 62 is used to preload a sandbox driver and perform sandbox processing on a target application to obtain a target sandboxed application;
[0119] If a sandbox application processing request sent by the client is received, the target sandbox application is installed based on the sandbox driver.
[0120] A determination module 62, configured to package the target application;
[0121] The target sandboxed application is created in a virtual disk format by using the application meta information of the target application.
[0122] A determination module 62, configured to determine storage content contained in the isolated storage space corresponding to the target sandboxed application;
[0123] According to the storage content, a first data file for representing the application data in the first isolated storage space, a second data file for representing the user data in the second isolated storage space, and a third data file for representing system data are generated.
[0124] A determination module 62, configured to release the client's permission to use the target sandbox application if an uninstall request for the target sandbox application is received;
[0125] The first data file, the second data file and the third data file are deleted.
[0126] Based on the same idea, the present embodiment also provides another sandbox application processing device. Figure 7 A schematic diagram of the structure of another sandbox application processing device provided in an embodiment of the present application. The device is applied to a computing node. Figure 7 As can be seen in the figure, the device comprises:
[0127] The sending module 71 is used to send a sandbox application processing request to the cloud desktop; the sandbox application processing request includes a user identifier and an application identifier; so that the cloud desktop allocates an isolated storage space generated by installing the target sandbox application to the client based on the user identifier;
[0128] The receiving module 72 is used to receive an application image for running the target sandboxed application in the isolated storage space.
[0129] An embodiment of the present application also provides an electronic device. The electronic device is a master node electronic device in a computing unit. Figure 8 The electronic device includes a memory 801, a processor 802 and a communication component 803;
[0130] The memory 801 is used to store programs;
[0131] The processor 802 is coupled to the memory and is configured to execute the program stored in the memory to:
[0132] In response to a sandboxed application processing request sent by a client, obtaining an application identifier included in the sandboxed application processing request;
[0133] Determine a target sandboxed application corresponding to the application identifier;
[0134] An isolated storage space for running the target sandboxed application is allocated to the client, wherein the isolated storage space is used to store data generated when the client calls the target sandboxed application.
[0135] Processor 802, configured to obtain a user identifier included in the sandbox application processing request;
[0136] Determining whether the client is a legitimate client according to the user identifier;
[0137] If the client is a legitimate client, the client is assigned permission to use the target sandboxed application.
[0138] Processor 802, configured to determine whether the target sandboxed application is stored locally according to the application identifier;
[0139] If the target sandboxed application is not stored, the target sandboxed application corresponding to the application identifier is obtained from the server.
[0140] Processor 802 is used to allocate an isolated storage space generated for installing the target sandboxed application to the client based on the user identifier, wherein the isolated storage space includes: a first isolated storage space allocated according to the application identifier for storing application data of the target sandboxed application, and a second isolated storage space allocated according to the user identifier for storing user data.
[0141] Processor 802 is used to determine the target cloud desktop identifier corresponding to the migration request if a migration request is received; or determine the target cloud desktop identifier corresponding to the target cloud desktop if the client logs in to the target cloud desktop;
[0142] Establishing an association relationship between the first isolated storage space, the second isolated storage space and the target cloud desktop identifier;
[0143] The target sandboxed application is started based on the target cloud desktop corresponding to the target cloud desktop identifier.
[0144] The processor 802 is used to preload a sandbox driver and perform sandbox processing on a target application to obtain a target sandboxed application;
[0145] If a sandbox application processing request sent by the client is received, the target sandbox application is installed based on the sandbox driver.
[0146] Processor 802, used for packaging the target application;
[0147] The target sandboxed application is created in a virtual disk format by using the application meta information of the target application.
[0148] Processor 802, configured to determine storage content contained in the isolated storage space corresponding to the target sandboxed application;
[0149] According to the storage content, a first data file for representing the application data in the first isolated storage space, a second data file for representing the user data in the second isolated storage space, and a third data file for representing system data are generated.
[0150] The processor 802 is configured to release the client from permission to use the target sandbox application if an uninstall request for the target sandbox application is received;
[0151] The first data file, the second data file and the third data file are deleted.
[0152] Processor 802 is used to send a sandbox application processing request to the cloud desktop; the sandbox application processing request includes a user identifier and an application identifier; so that the cloud desktop allocates an isolated storage space generated by installing the target sandbox application to the client based on the user identifier;
[0153] An application image for running the target sandboxed application in the isolated storage space is received.
[0154] The memory 801 can be configured to store various other data to support operations on the electronic device. Examples of these data include instructions for any application or method for operating on the electronic device. The memory can be implemented by any type of volatile or non-volatile storage device or a combination thereof, such as static random access memory (SRAM), electrically erasable programmable read-only memory (EEPROM), erasable programmable read-only memory (EPROM), programmable read-only memory (PROM), read-only memory (ROM), magnetic memory, flash memory, magnetic disk or optical disk.
[0155] Furthermore, the processor 802 in this embodiment may specifically be: a programmable switching processing chip, in which a data replication engine is configured to replicate received data.
[0156] When the processor 802 executes the program in the memory, in addition to the above functions, it can also realize other functions, which can be specifically referred to the description of the above embodiments. Figure 8 As shown, the electronic device also includes: a power supply component 804 and other components.
[0157] The present application also provides a non-transitory machine-readable storage medium, wherein the non-transitory machine-readable storage medium stores executable code, and when the executable code is executed by a processor of an electronic device, the processor executes Figure 1 The method described in the corresponding embodiment.
[0158] Based on the above embodiment, in the cloud desktop application scenario, users can select and install various applications they need in the cloud desktop through the client as needed. These applications can be sandboxed applications after sandboxing, so that each sandboxed application will not interfere with each other when running in the cloud desktop. In addition, the sandboxed application can be reliably and quickly installed in the sandbox environment. At the same time, an isolated storage space for running the target sandboxed application is allocated to the client, so that the relevant data of the sandboxed applications used by different clients can be effectively isolated. Through the above scheme, safe and reliable conditions are provided for the installation of sandboxed applications in a sandboxed environment, which can effectively simplify the installation process and improve the installation efficiency. At the same time, isolated storage space for storing the relevant data of each target sandboxed application is allocated to different clients to facilitate the management of related data, and the data in the isolated storage space can also be migrated.
[0159] The user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data for analysis, stored data, displayed data, etc.) involved in this application are all information and data authorized by the user or fully authorized by all parties, and the collection, use and processing of relevant data need to comply with the relevant laws, regulations and standards of relevant countries and regions, and provide corresponding operation portals for users to choose to authorize or refuse. The device embodiments described above are merely schematic, wherein the units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, they may be located in one place, or they may be distributed on multiple network units. Some or all of the modules may be selected according to actual needs to achieve the purpose of the scheme of this embodiment. Ordinary technicians in this field can understand and implement it without creative work.
[0160] Through the description of the above implementation methods, those skilled in the art can clearly understand that each implementation method can be implemented by means of software plus a necessary general hardware platform, and of course, it can also be implemented by hardware. Based on this understanding, the above technical solution is essentially or the part that contributes to the prior art can be embodied in the form of a software product, and the computer software product can be stored in a computer-readable storage medium, such as ROM / RAM, a disk, an optical disk, etc., including a number of instructions for a computer device (which can be a personal computer, a server, or a network device, etc.) to execute the methods described in each embodiment or some parts of the embodiments.
[0161] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present application, rather than to limit it. Although the present application has been described in detail with reference to the aforementioned embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the aforementioned embodiments, or make equivalent replacements for some of the technical features therein. However, these modifications or replacements do not deviate the essence of the corresponding technical solutions from the spirit and scope of the technical solutions of the embodiments of the present application.
Claims
1. A sandbox application processing method, characterized in that: Applied to a cloud desktop, the method includes: In response to a sandboxed application processing request sent by a client, obtaining an application identifier included in the sandboxed application processing request; Determine a target sandboxed application corresponding to the application identifier; An isolated storage space for running the target sandboxed application is allocated to the client, wherein the isolated storage space is used to store data generated when the client calls the target sandboxed application.
2. The method according to claim 1, characterized in that After obtaining the application identifier included in the sandbox application processing request, the method further includes: Obtaining a user identifier included in the sandbox application processing request; Determining whether the client is a legitimate client according to the user identifier; If the client is a legitimate client, the client is assigned permission to use the target sandboxed application.
3. The method according to claim 2, characterized in that After obtaining the application identifier included in the sandbox application processing request, the method further includes: Determining whether the target sandboxed application is stored locally according to the application identifier; If the target sandboxed application is not stored, the target sandboxed application corresponding to the application identifier is obtained from the server.
4. The method according to claim 3, characterized in that The allocating an isolated storage space for the client to run the target sandboxed application includes: An isolated storage space generated for installing the target sandboxed application is allocated to the client based on the user identifier, wherein the isolated storage space includes: a first isolated storage space allocated according to the application identifier for storing application data of the target sandboxed application, and a second isolated storage space allocated according to the user identifier for storing user data.
5. The method according to claim 4, characterized in that Also includes: If a migration request is received, determining a target cloud desktop identifier corresponding to the migration request; Alternatively, if the client logs in to the target cloud desktop, determining the target cloud desktop identifier corresponding to the target cloud desktop; Establishing an association relationship between the first isolated storage space, the second isolated storage space and the target cloud desktop identifier; The target sandboxed application is started based on the target cloud desktop corresponding to the target cloud desktop identifier.
6. The method according to any one of claims 4 or 5, characterized in that Before obtaining the application identifier included in the sandbox application processing request, the method further includes: Preload the sandbox driver and perform sandbox processing on the target application to obtain a target sandboxed application; If a sandbox application processing request sent by the client is received, the target sandbox application is installed based on the sandbox driver.
7. The method according to claim 6, characterized in that The target sandboxed application obtained by sandboxing the target application includes: Applying a packaging process to the target; The target sandboxed application is created in a virtual disk format by using the application meta information of the target application.
8. The method according to claim 6, characterized in that After the target sandboxed application is installed based on the sandbox driver, the method further includes: Determining storage content contained in the isolated storage space corresponding to the target sandboxed application; According to the storage content, a first data file for representing the application data in the first isolated storage space, a second data file for representing the user data in the second isolated storage space, and a third data file for representing system data are generated.
9. The method according to claim 8, characterized in that Also includes: If an uninstall request for the target sandbox application is received, releasing the client's permission to use the target sandbox application; The first data file, the second data file and the third data file are deleted.
10. A sandbox application processing method, characterized in that: Applied to a cloud application client, the method includes: Sending a sandbox application processing request to the cloud desktop; the sandbox application processing request includes a user identifier and an application identifier; so that the cloud desktop allocates an isolated storage space generated by installing a target sandbox application to the client based on the user identifier; An application image for running the target sandboxed application in the isolated storage space is received.
11. A sandbox application processing system, characterized in that: The system comprises: A cloud application client, configured to execute the method according to claim 10; A cloud desktop, used to execute the method according to any one of claims 1 to 9.
12. An electronic device comprising a memory and a processor; wherein: The memory is used to store programs; The processor is coupled to the memory, and is used to execute the program stored in the memory, so as to implement the method according to any one of claims 1 to 9 or the method according to claim 10.
13. A non-transitory machine-readable storage medium having executable code stored thereon, wherein when the executable code is executed by a processor of an electronic device, the processor is caused to execute the method as claimed in any one of claims 1 to 9, or the method as claimed in claim 10.
Citation Information
Patent Citations
Cloud application installation method
CN109189411A
Cloud platform data processing method for private cloud
CN110855653A
Cloud application implementation method and device, electronic equipment and readable storage medium
CN113079216A
Android system application isolation method and device
CN114254305A
Cloud product operation method and device based on sandbox environment and storage medium
CN116305088A