Data access method and device and storage medium
By installing the application on the virtual disk in the cloud desktop and redirecting the access path to the actual storage path in the virtual disk, the problem of repeated copying of data and excessive time-consuming in cloud desktop application migration is solved, and efficient application migration and normal operation is achieved.
Patent Information
- Application Number
- CN202311085456.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2023-08-25
- Publication Date
- 2025-03-04
AI Technical Summary
In the cloud desktop technology scenario, user configuration data needs to be copied frequently during application migration, resulting in the repeated copying and migration of data taking too long, affecting the user experience.
By installing the application on a virtual disk and monitoring access requests to access user configuration data in a cloud desktop, redirecting the access path to the actual storage path in the virtual disk, enabling application migration without data copying.
It effectively improves the efficiency of application migration in cloud desktops, ensures that the application runs normally in cloud desktops after migration, and improves the user experience.
Smart Images

Figure CN119557061A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of cloud desktop technology, and in particular to a data access method, device and storage medium. Background Art
[0002] In the cloud desktop technology scenario, different logged-in users can choose the applications configured in the cloud desktop as needed. Several virtual machines can be deployed in the cloud desktop server to run the cloud desktop. In actual applications, based on factors such as elastic scheduling, the virtual machines assigned to logged-in users each time they use the cloud desktop may not be exactly the same, and the applications associated with different logged-in users are not exactly the same. Therefore, when the virtual machine assigned to the logged-in user changes, the applications associated with the logged-in user need to be migrated to the virtual machine currently assigned to it (that is, the destination virtual machine).
[0003] Currently, in cloud desktops, user configuration data under each application is usually accessed based on the file system of the virtual machine. Therefore, when migrating applications, the user configuration data under the application needs to be copied to the file system of the virtual machine before the user configuration data under the migrated application can be accessed in the cloud desktop. This leads to repeated copying of data and a long time for application migration, which greatly affects the user experience of the cloud desktop. Summary of the invention
[0004] Multiple aspects of the present application provide a data access method, device, and storage medium to improve the efficiency of application migration in a cloud desktop.
[0005] The present application provides a data access method, including:
[0006] After the virtual disk on which the application associated with the currently logged-in user is installed is mounted to the cloud desktop, if an access request for accessing user configuration data is detected in the cloud desktop, the access path pointing to the data to be accessed in the access request is redirected to the actual storage path of the data to be accessed in the virtual disk;
[0007] Based on the actual storage path, triggering generation of a redirection request corresponding to the access request, wherein the redirection request includes the actual storage path;
[0008] In response to the redirection request, the to-be-accessed data is accessed from the virtual disk.
[0009] The embodiment of the present application also provides a computing device, including a memory, a processor, and a communication component;
[0010] The memory is used to store one or more computer instructions;
[0011] The processor is coupled to the memory and the communication component, and is configured to execute the one or more computer instructions to perform the aforementioned data access method.
[0012] An embodiment of the present application also provides a computer-readable storage medium storing computer instructions. When the computer instructions are executed by one or more processors, the one or more processors are caused to execute the aforementioned data access method.
[0013] In an embodiment of the present application, a solution for accessing user configuration data under an application in a cloud desktop is proposed. On the one hand, the application is installed in a virtual disk, which allows the application to be independent of the cloud desktop, so that efficient application migration can be achieved by dynamically mounting the virtual disk, and data copying is no longer required. On the other hand, when an access request for accessing user configuration data is detected in the cloud desktop, the access path in the access request can be redirected to the actual storage path in the virtual disk, so that access to user configuration data is no longer limited to the user who installed the application, but any cloud desktop with a virtual disk mounted can access the user configuration data in the virtual disk, thereby ensuring that the user configuration data under the migrated application can be accessed unimpeded and accurately in the cloud desktop, thereby ensuring that the migrated application runs normally in the cloud desktop. Accordingly, in an embodiment of the present application, through the cooperation of the above two aspects, the efficiency of application migration in the cloud desktop can be effectively improved. BRIEF DESCRIPTION OF THE DRAWINGS
[0014] The drawings described herein are used to provide a further understanding of the present application and constitute a part of the present application. The illustrative embodiments of the present application and their descriptions are used to explain the present application and do not constitute an improper limitation on the present application. In the drawings:
[0015] Figure 1 A flowchart of a data access method provided for an exemplary embodiment of the present application;
[0016] Figure 2 A logical diagram of a data access method provided for an exemplary embodiment of the present application;
[0017] Figure 3 and Figure 4 A schematic diagram of an application scenario provided for an exemplary embodiment of the present application;
[0018] Figure 5 A schematic diagram of the structure of a computing device is provided for yet another exemplary embodiment of the present application. DETAILED DESCRIPTION
[0019] In order to make the purpose, technical solution and advantages of the present application clearer, the technical solution of the present application will be clearly and completely described below in combination with the specific embodiments of the present application and the corresponding drawings. Obviously, the described embodiments 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 ordinary technicians in this field without making creative work are within the scope of protection of the present application.
[0020] At present, the application migration in the cloud desktop requires a large amount of repeated data copying, which causes the application migration to take too long and affects the user experience of the cloud desktop. To this end, in some embodiments of the present application: a scheme for accessing the user configuration data under the application in the cloud desktop is proposed. On the one hand, the application is installed in a virtual disk, which makes the application independent of the cloud desktop, so that the application can be efficiently migrated by dynamically mounting the virtual disk, and no data copying is required. On the other hand, when an access request for accessing user configuration data is detected in the cloud desktop, the access path in the access request can be redirected to the actual storage path in the virtual disk, so that the access to the user configuration data is no longer limited to the user who installed the application, but any cloud desktop with the virtual disk mounted can access the user configuration data in the virtual disk, thereby ensuring that the user configuration data under the migrated application can be accessed unimpeded and accurately in the cloud desktop, and then ensuring the normal operation of the migrated application in the cloud desktop. Accordingly, in the embodiment of the present application, through the cooperation of the above two aspects, the efficiency of application migration in the cloud desktop can be effectively improved.
[0021] The technical solutions provided by various embodiments of the present application are described in detail below in conjunction with the accompanying drawings.
[0022] Figure 1 A flowchart of a data access method provided for an exemplary embodiment of the present application. Figure 2 A logical diagram of a data access method provided for an exemplary embodiment of the present application.
[0023] Before introducing the technical solution of this embodiment, several technical concepts involved in this embodiment are explained as follows:
[0024] Cloud desktop, also known as desktop virtualization or cloud computer, is a new model to replace traditional computers.
[0025] A cloud desktop server may refer to a cloud server used to support the operation of a cloud desktop. It should be understood that a cloud desktop server may include components such as a CPU, memory, image, and cloud hard disk, and is a cloud server that is readily available and elastically scalable. In terms of physical implementation, a cloud desktop server may be a single server or a collection of multiple servers (e.g., a service cluster), which is not limited here.
[0026] A cloud desktop terminal may refer to a terminal device that supports the operation of a cloud desktop, which can connect to a cloud desktop server and render the cloud desktop to the front end, and redirect input and output data such as mouse operations on the front end to the cloud desktop server.
[0027] refer to Figure 2 As described in the background technology, currently, a cloud desktop server can usually deploy multiple virtual machines for hosting cloud desktops. In practical applications, for a user workspace (for example, an enterprise can be used as a user workspace), multiple cloud desktop servers can be deployed for it ( Figure 2 Only one virtual machine is shown in the example), and multiple virtual machines can be deployed in a single cloud desktop server. Through flexible scheduling, logged-in users in the user workspace can be scheduled to the appropriate virtual machine, and logged-in users can log in to the cloud desktop in their assigned virtual machines.
[0028] For ease of description, in this embodiment, the data access solution will be described from the perspective of a single cloud desktop. It should be understood that the cloud desktop can be a cloud desktop hosted on any virtual machine in the cloud desktop server. Moreover, the logged-in user in the cloud desktop can be dynamically changed.
[0029] refer to Figure 1 The data access method provided in this embodiment may include:
[0030] Step 100: After the virtual disk on which the application associated with the currently logged-in user is installed is mounted to the cloud desktop, if an access request for accessing user configuration data is detected in the cloud desktop, the access path pointing to the data to be accessed in the access request is redirected to the actual storage path of the data to be accessed in the virtual disk;
[0031] Step 101: Based on the actual storage path, trigger the generation of a redirection request corresponding to the access request, where the redirection request includes the actual storage path;
[0032] Step 102: In response to the redirection request, access the to-be-accessed data from the virtual disk.
[0033] refer to Figure 2 In this embodiment, it is proposed to install the application in a virtual hard disk (VHD). In an exemplary solution, all the relevant data required for the application to run can be loaded into the virtual disk, and the virtual disk can be mounted on the cloud desktop; for the cloud desktop, the relevant data required for the application to run stored in the virtual disk can be accessed based on the IRP (I / O Request Package) component to realize the operation of the application.
[0034] Based on this, in this embodiment, an application will be installed in the virtual disk first, and then can be migrated as needed through dynamic mounting of the virtual disk.
[0035] As mentioned above, the logged-in user can configure the applications he or she uses in the cloud desktop as needed. Figuratively speaking, just like a logged-in user of an ordinary computer, you can install the applications you need to use in the computer you log in to. In this way, for different logged-in users, the applications associated with them may not be exactly the same. For example, the applications associated with logged-in user A are application 1 and application 2, but logged-in user B may not need to use application 1, but instead configures application 2 and application 3 in his or her cloud desktop. Continuing with the virtual disk in this embodiment, for ease of management, application 1, application 2, and application 3 here can be installed in three different virtual disks respectively, that is, different applications can be installed in different virtual disks. Of course, this embodiment does not limit this, and multiple applications can also be installed in one virtual disk.
[0036] In addition to the logged-in user, there is another role in this embodiment - the installation user. The installation user refers to the user who installs the application into the virtual disk. The installation user can usually be the administrator of the cloud desktop. The installation user has the authority to install the application into the virtual disk, and the installed application can be used by the logged-in user. It can be understood that the installation user is essentially a special logged-in user, and the installation user can also use related applications in the cloud desktop he logs in to. After logging in to the cloud desktop, the logged-in user can configure the required applications to the cloud desktop. In this embodiment, the configuration operation here does not require application installation, but only establishes an association between the logged-in user and the application.
[0037] On this basis, in the cloud desktop, the application associated with the currently logged-in user can be determined in response to a login event. As mentioned above, based on factors such as elastic scheduling, there may be target applications in the applications associated with the currently logged-in user that have not yet been migrated to the cloud desktop. In this case, the virtual disk where the target application is located can be mounted to the cloud desktop. For applications that have been mounted on the cloud desktop among the applications associated with the currently logged-in user, there is no need to perform the mounting operation here. In this way, after the user logs in to the cloud desktop, the migration of related applications can be completed efficiently, and no data copying is required during the migration process.
[0038] refer to Figure 1 In step 100, after the virtual disk on which the application associated with the currently logged-in user is installed is mounted to the cloud desktop, it is possible to monitor whether an access request for accessing user configuration data occurs in the cloud desktop.
[0039] In this embodiment, the user configuration data may be some initialization configuration information of the application by the installing user. The user configuration data may include but is not limited to user configuration files and / or registry data. The inventors found in the research process that the user configuration data has strong user restrictions. As mentioned above, the application in this embodiment is installed by the installing user, but it is used by the logged-in user. Therefore, if the logged-in user and the installing user are inconsistent, the cloud desktop will not be able to access the relevant user configuration data in the virtual disk due to the user restriction, and then the application will not be able to run normally after migration.
[0040] To this end, this embodiment proposes an access scheme for user configuration data to overcome the above problems caused by application migration, thereby ensuring the normal operation of the application after migration. In this embodiment, a set of filter driver components can be developed, and the data access method in this embodiment can be executed based on the filter driver components. The developed filter driver components can be deployed in the virtual machine where the cloud desktop is located to improve the user configuration data access logic in the cloud desktop.
[0041] The user restrictions of the user configuration data mentioned above are mainly reflected in its access path and / or storage path. In other words, the access path usually limits the user attributes to the logged-in user, while the storage path usually limits the user attributes to the installation user. In this way, if the logged-in user and the installation user are inconsistent, there will be a problem of inconsistent user attributes in the access path and the storage path, resulting in the inability to correctly access the user configuration data according to the access path.
[0042] In this embodiment, in step 100, if an access request for accessing user configuration data is detected in the cloud desktop, the access path pointing to the accessed data in the access request is redirected to the actual storage path of the accessed data in the virtual disk.
[0043] That is, in step 100, the access request for accessing the user configuration data can be intercepted and the access request can be specially processed. Specifically, the access path in the access request can be redirected to the actual storage path in the virtual disk. The redirection can effectively avoid the aforementioned problem of the consistency of user attributes in the access path and the storage path.
[0044] In this embodiment, the redirection operation in step 100 may be performed in a variety of implementations, which will be described in detail later.
[0045] After the redirection operation, an actual storage path corresponding to the access path may be generated in step 100 .
[0046] Continue to refer Figure 1In step 101, a redirection request corresponding to the access request may be triggered based on the actual storage path, and the redirection request may include the actual storage path.
[0047] In an optional implementation: the actual storage path can be used as a response to the access request so that the initiator of the access request can know the actual storage path; the initiator that triggers the access request replaces the access path in the access request with the actual storage path to generate a redirection request corresponding to the access request.
[0048] In this optional implementation, the initiator of the access request can be a system service process in the operating system of the cloud desktop, or, of course, other initiators such as an application process in the cloud desktop, which is not limited here. After receiving the actual storage path, the initiator of the access request can replace the access path in the access request with the actual storage path to generate a corresponding redirection request for the access request. It can be understood that the redirection request contains the actual storage path, not the original access path.
[0049] On this basis, reference Figure 1 In step 102, the data to be accessed can be accessed from the virtual disk in response to the redirection request. Since the redirection request carries the actual storage path of the data to be accessed in the virtual disk, the required user configuration data can be accessed from the virtual disk based on the aforementioned IRP component in response to the redirection request.
[0050] In summary, in this embodiment, a solution for accessing user configuration data under an application in a cloud desktop is proposed. On the one hand, the application is installed in a virtual disk, which allows the application to be independent of the cloud desktop, so that efficient application migration can be achieved by dynamically mounting the virtual disk, and data copying is no longer required. On the other hand, when an access request for accessing user configuration data is detected in the cloud desktop, the access path in the access request can be redirected to the actual storage path in the virtual disk, which makes the access to user configuration data no longer limited to the user who installed the application, but any cloud desktop with a virtual disk mounted can access the user configuration data in the virtual disk, thereby ensuring that the user configuration data under the migrated application can be accessed unimpeded and accurately in the cloud desktop, thereby ensuring the normal operation of the migrated application in the cloud desktop. Accordingly, in the embodiment of the present application, the efficiency of application migration in the cloud desktop can be effectively improved through the cooperation of the above two aspects.
[0051] In the above or below embodiments, various implementations may be used to redirect the aforementioned access path.
[0052] In an optional implementation: during the application installation process, the directory name used to characterize the user identity in the storage path requested for the user configuration data can be mapped to a specified name. In the virtual disk, the corresponding directory will be named according to the specified name, so that the user identity will no longer be reflected in the actual storage path in the virtual disk, but the directory originally used to characterize the user identity will be named as the specified name. For example, for a user configuration file, there is usually a folder name in the storage path requested for it, which is the user name of the installing user. For another example, for registry data, there is usually a registry key in the storage path requested for it, which is the session identifier sessionID corresponding to the installing user.
[0053] For ease of description, the following still takes the currently logged-in user in the current cloud desktop as an example. If the currently logged-in user is the installation user corresponding to the specified application, then in the cloud desktop, in response to a packaging request for user configuration data under the specified application, the directory name used to characterize the identity of the currently logged-in user in the cloud desktop in the storage path indicated by the packaging request can be mapped to the specified name to obtain a mapped path corresponding to the storage path in the packaging request; in the virtual disk where the specified application is located, the user configuration data under the specified application is packaged and stored according to the mapped path.
[0054] For example, if the specified application is app1 and the currently logged-in user is user1, the storage path indicated by an exemplary packaging request may be: user / user1 / app1 / config / A.dll. Among them, user1 is the directory name used to represent the user identity. If the specified name is @user, then user1 in the aforementioned storage path can be mapped to @user to obtain the mapped path corresponding to the storage path: user / @user / app1 / config / A.dll. In the virtual disk where the specified application is located, the user configuration data A.dll process will be stored according to this mapping path, and other user configuration data under the specified application will be stored in the same way.
[0055] Based on this, in this optional implementation, the directory name used to characterize the user identity in the access path pointing to the data to be accessed can be mapped to the specified name to generate the actual storage path.
[0056] In this embodiment, the end point of the access path is the data to be accessed, and the access path may include a layer-by-layer directory for reaching the data to be accessed. Like the storage path requested during the application installation process, the access path also includes a directory name used to characterize the user's identity. By mapping the directory name to the specified name, the actual storage path corresponding to the data to be accessed in the virtual disk can be obtained.
[0057] It can be seen that in this optional implementation, the specified name is used as the name of the directory originally used to reflect the user identity in the virtual disk, so that the user restrictions of the user configuration data can be removed in the virtual disk. Moreover, in this optional implementation, it is supported to retain the original user restrictions in the access path and storage path initiated for the user configuration data in the cloud desktop, and it is proposed to map the directory name used to represent the user identity in the access path and storage path to the same specified name, which can effectively avoid the problem of inconsistent user attributes between the two parties.
[0058] Accordingly, in the above optional implementation method, a technical concept of mapping directory names to achieve access path redirection is proposed, which is very convenient and fast. Moreover, since the same concept is also used in the application installation process, the accuracy of the actual storage path obtained after redirecting the access path can be guaranteed.
[0059] It is worth noting that the above implementation is only exemplary, and other implementations can also be used to redirect the access path in this embodiment. For example, in the above implementation, a unified designated name is used for mapping directory names under all applications. In other implementations, different designated names can be defined for different applications. In this way, in the process of redirecting the access path, the application to which the data to be accessed belongs can be first determined, and then the directory name used to represent the user identity in the access path is mapped to the designated name corresponding to the application, thereby generating an actual storage path. For another example, the installation user can complete the packaging and storage of user configuration data in the virtual disk according to his own user identity, and then the directory name used to represent the user identity when packaging can be broadcast to each virtual machine in the cloud desktop server. In this way, each virtual machine can record the association between the application and the directory name of this type. Based on this, when redirecting the access path in step 100, the application to which the data to be accessed belongs can be first determined, and then the directory name used to represent the user identity in the access path is mapped to the directory name associated with the application, so that the actual storage path in the virtual disk can be generated.
[0060] In addition, it should be understood that in this embodiment, when there are multiple applications associated with the currently logged-in user, the cloud desktop can reorganize the file directories of multiple mounted virtual disks, but this reorganization operation will not affect the directory nesting structure inside the virtual disk, and the directory nesting structure will be followed during application installation and application use. Based on this, since the redirection scheme proposed in this embodiment only maps part of the directory names in this directory nesting structure, it will not destroy this directory nesting structure, and there will be no problem of incorrect actual storage path redirected.
[0061] In the above or below embodiments, access control may also be performed on access requests for accessing user configuration information in the cloud desktop.
[0062] To this end, in this embodiment, when an access request for accessing user configuration data is monitored in the cloud desktop, it can be determined whether the access request meets the preset access permission requirements; if so, the aforementioned operation of redirecting the access path is performed.
[0063] The access permission requirements in this embodiment can be used to identify unauthorized requests. In the field of cloud desktop technology, different cloud desktops are isolated from each other to ensure the data security of logged-in users. To this end, in this embodiment, access control can be performed on access requests in the cloud desktop based on the access permission requirements to ensure data security in the field of cloud desktop technology.
[0064] In an alternative implementation:
[0065] If the access request is initiated by a system service process in the cloud desktop, determining that the access request meets the preset access permission requirements;
[0066] If the access request is not initiated by the system service process in the cloud desktop, it is determined whether the login user identity indicated in the access path is consistent with the current login user; if consistent, it is determined that the access request meets the preset access permission requirements.
[0067] In this optional implementation, the initiators of access requests for accessing user configuration data are divided into two categories: one is the system service process in the cloud desktop, and the other is the non-system service process in the cloud desktop, such as various processes in the application layer.
[0068] In actual applications, the cloud desktop uses session to isolate users, and the session identifier sessionID can be used to distinguish different users. The system service process in the cloud desktop is isolated in session session0. Based on this, in this optional implementation, the session corresponding to the access request can be identified. If sessionID is equal to 0, it can be determined that the initiator of the access request is the system service process, and if sessionID is not equal to 0, it can be determined that the initiator of the access request is not the system service process. Moreover, when sessionID is not equal to 0, sessionID is used as the basis for determining the identity of the currently logged-in user of the cloud desktop, that is, the user identity of the currently logged-in user can be determined based on sessionID.
[0069] In this optional implementation, for access requests initiated by non-system service processes, it can be determined whether the user identity indicated in the access path is consistent with the currently logged-in user, and only if it is determined to be consistent, the redirection operation of the access path is allowed, otherwise, the access request can be rejected.
[0070] In an exemplary judgment scheme: the user identity indicated in the access path can be determined based on the directory name used to characterize the user identity in the access path, and then compared with the user identity of the currently logged-in user determined based on the sessionID. If they are consistent, the aforementioned redirection operation can be performed. For example, if the access path is user / user1 / app1 / config / A.dll, but the currently logged-in user in the cloud desktop is determined to be user2 based on the sessionID, the access request will be prohibited, and the aforementioned redirection operation will no longer be performed for it.
[0071] In this optional implementation, for access requests initiated by the system service process for accessing user configuration data, it can be directly determined that such access requests meet the access permission requirements. This is because the system service process in the cloud desktop has higher access permissions and is not subject to the restrictions of user data isolation. Therefore, the aforementioned access request initiated by the system service process can be directly released, allowing the redirection operation of the access path. Moreover, in actual applications, the user identity indicated in the access path in the access request initiated by the system service process usually defaults to the currently logged-in user.
[0072] In addition, for the access request initiated by the system service process for accessing the user configuration data, after the redirection is executed, the triggered redirection request no longer contains information that can reflect the user identity. In this regard, the user identity of the currently logged-in user can be optionally associated with the thread in the cloud desktop that initiates the redirection request for the current access request, or the user identity of the currently logged-in user can be associated with the actual storage path in the redirection request corresponding to the current access request, so that the redirection request is associated with the user identity of the currently logged-in user. In this way, in the aforementioned step 102, when responding to the redirection request, after sessionID is equal to 0 and the directory name used to represent the user identity no longer exists in the actual storage path, the user identity of the currently logged-in user corresponding to the redirection request can still be determined through the above-mentioned association mechanism, thereby ensuring access to the user configuration data within the application scope associated with the currently logged-in user.
[0073] In summary, in this embodiment, access control can be performed on the access to user configuration data in the cloud desktop to avoid unauthorized access to the user configuration data, thereby ensuring the data security of each logged-in user. Moreover, for applications that need to rely on system services, during the application installation process and the application use process, it can be guaranteed that the system service process can normally and accurately access the required user configuration data.
[0074] Figure 3 and Figure 4 A schematic diagram of an application scenario provided by an exemplary embodiment of the present application. Figure 3 The sessionID of the access request is not equal to 0. Figure 4 The sessionID in is equal to 0.
[0075] refer to Figure 3 After user A logs in to the cloud desktop, the IRP requests occurring in the cloud desktop can be monitored, and access requests for accessing user configuration data can be identified. In practical applications, such access requests usually carry special identifiers. Of course, in other design concepts, the access path in the IRP request can also be analyzed to determine whether it points to user configuration data, thereby determining whether it is an access request for accessing user configuration data.
[0076] refer to Figure 3 The implementation process of the data access solution provided in this embodiment when the session is not equal to 0 is roughly as follows:
[0077] 1) An access request for accessing user configuration data is identified from an IRP request generated in the cloud desktop.
[0078] 2) The sessionID of the access request is not equal to 0.
[0079] 3) Get the user identity of the currently logged in user based on the sessionID.
[0080] 4) Determine whether the access request meets the access permission requirement: the user identity indicated in the access path is consistent with the user identity of the current logged-in user determined in 3).
[0081] 5) Map the directory name used to represent the user identity in the access path to the specified name: for example, map user1 in the access path user / user1 / app1 / config / A.dll to @user, so that the actual storage path in the virtual disk is: user / @user / app1 / config / A.dll. Among them, the virtual disk where the application associated with the currently logged-in user is located has been pre-mounted to the cloud desktop.
[0082] 6) The actual storage path generated in 5) is used as a response to the access request in 1).
[0083] 7) The initiator of the access request generates a redirection request corresponding to the access request.
[0084] 8) After repeating the above 2) to 4), the required user configuration data can be accessed in the virtual disk where the application associated with the currently logged-in user is installed.
[0085] pass Figure 3 It can be seen that the data access method provided in this embodiment, when based on dynamic mounting of a virtual disk to achieve application migration, can ensure that after application migration, the non-system service process can efficiently and accurately access the required user configuration data in the virtual disk where the application associated with the currently logged-in user is installed, thereby supporting the normal operation of each application under this application migration mode.
[0086] refer to Figure 4 The implementation process of the data access solution provided in this embodiment when the session is equal to 0 is roughly as follows:
[0087] 1) An access request for accessing user configuration data is identified from an IRP request generated in the cloud desktop.
[0088] 2) The sessionID of the access request is equal to 0.
[0089] 3) The user identity of the currently logged-in user is parsed from the access path of the access request.
[0090] 4) Determine whether the access request meets the access permission requirements: Yes.
[0091] 5) Map the directory name used to represent the user identity in the access path to the specified name.
[0092] 6) The user identity of the currently logged-in user is associated with the thread corresponding to the access request or the actual storage path determined for the access request.
[0093] 7) The actual storage path generated in 5) is used as a response to the access request in 1).
[0094] 8) Based on the thread in 6), a redirection request corresponding to the access request is generated.
[0095] 9) Based on the association mechanism in 6), the user identity corresponding to the redirection request (ie, the user identity of the currently logged-in user) is determined, so that the required user configuration data can be accessed in the virtual disk where the application associated with the currently logged-in user is installed.
[0096] pass Figure 4It can be seen that the data access method provided in this embodiment, when based on dynamic mounting of a virtual disk to achieve application migration, can ensure that after application migration, the system service process can also efficiently and accurately access the required user configuration data in the virtual disk where the application associated with the currently logged-in user is installed. In this way, for applications that need to rely on system services, this application migration method is also supported for application migration, and the normal operation of each application can be guaranteed.
[0097] It should be noted that in some of the processes described in the above embodiments and the accompanying drawings, multiple operations appearing in a specific order are included, but it should be clearly understood that these operations may not be executed in the order in which they appear in this document or may be executed in parallel, and the serial numbers of the operations, such as 101, 102, etc., are only used to distinguish between 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.
[0098] Figure 5 A schematic diagram of a computing device provided as another exemplary embodiment of the present application is shown in FIG. Figure 5 As shown, the computing device includes: a memory 50 , a processor 51 and a communication component 52 .
[0099] The processor 51 is coupled to the memory 50 and is used to execute the computer program in the memory 50 to:
[0100] After the virtual disk on which the application associated with the currently logged-in user is installed is mounted to the cloud desktop, if an access request for accessing user configuration data is detected in the cloud desktop, the access path pointing to the data to be accessed in the access request is redirected to the actual storage path of the data to be accessed in the virtual disk;
[0101] Based on the actual storage path, triggering generation of a redirection request corresponding to the access request, wherein the redirection request includes the actual storage path;
[0102] In response to the redirection request, the to-be-accessed data is accessed from the virtual disk.
[0103] In an optional embodiment, when the processor 51 redirects the access path pointing to the to-be-accessed data in the access request to the actual storage path of the to-be-accessed data in the virtual disk mounted on the cloud desktop, it can be specifically used to:
[0104] Mapping a directory name in the access path for representing the user identity to a specified name to generate the actual storage path;
[0105] The designated name is defined in the virtual disk during the application installation process, and the directory name used to represent the user identity in the storage path requested for the data to be accessed is also mapped to the designated name during the application installation process.
[0106] In an optional embodiment, the processor 51 may also be configured to:
[0107] In response to a login event in the cloud desktop, determining an application associated with the currently logged-in user;
[0108] If there is a target application among the applications associated with the currently logged-in user that has not yet been migrated to the cloud desktop, the virtual disk where the target application is located is mounted to the cloud desktop.
[0109] In an optional embodiment, the processor 51 may also be configured to:
[0110] When it is determined that the access request meets the preset access permission requirements, the operation of redirecting the access path pointing to the to-be-accessed data in the access request to the actual storage path of the to-be-accessed data in the virtual disk mounted on the cloud desktop is performed.
[0111] In an optional embodiment, the processor 51 may also be configured to:
[0112] If the access request is initiated by a system service process in the cloud desktop, determining that the access request meets preset access permission requirements;
[0113] If the access request is not initiated by the system service process in the cloud desktop, it is determined whether the user identity indicated in the access path is consistent with the currently logged-in user; if consistent, it is determined that the access request meets the preset access permission requirements.
[0114] In an optional embodiment, the processor 51 may also be configured to:
[0115] When the session identifier sessionID of the access request is equal to 0, it is determined that the access request is initiated by the system service process in the cloud desktop; when the session identifier sessionID of the access request is not equal to 0, it is determined that the access request is not initiated by the system service process in the cloud desktop;
[0116] Wherein, when sessionID is not equal to 0, sessionID is used as a basis for determining the identity of the currently logged-in user of the cloud desktop.
[0117] In an optional embodiment, when the processor 51 triggers the generation of a redirection request corresponding to the access request based on the actual storage path, it may be specifically configured to:
[0118] Using the actual storage path as a response to the access request so that the initiator of the access request can learn the actual storage path;
[0119] The initiator that triggers the access request replaces the access path in the access request with the actual storage path to generate a redirection request corresponding to the access request.
[0120] In an optional embodiment, the processor 51 may also be configured to:
[0121] In response to a packaging request for user configuration data under a specified application occurring in the cloud desktop, mapping a directory name in a storage path indicated by the packaging request and used to characterize the identity of a currently logged-in user in the cloud desktop to the specified name, so as to obtain a mapped path corresponding to the storage path in the packaging request;
[0122] In the virtual disk where the specified application is located, the user configuration data under the specified application is packaged and stored according to the mapped path;
[0123] The currently logged-in user in the cloud desktop serves as the installation user of the designated application.
[0124] In an optional embodiment, the user configuration data includes a user configuration file and / or registry data; different applications are installed in different virtual disks, and the virtual disk where the application associated with the currently logged-in user of the cloud desktop is located is pre-mounted to the cloud desktop, and the application associated with the currently logged-in user of the cloud desktop includes the application that has been migrated.
[0125] Further, if Figure 5 As shown, the computing device also includes: a power supply component 53 and other components. Figure 5 Only some components are shown schematically, and it does not mean that the computing device only includes Figure 5 Components shown.
[0126] It is worth noting that the technical details in the above-mentioned embodiments of the computing device can refer to the relevant description in the aforementioned method embodiment. In order to save space, they will not be repeated here, but this should not cause a loss in the scope of protection of this application.
[0127] Accordingly, an embodiment of the present application further provides a computer-readable storage medium storing a computer program, which can implement the steps in the above method embodiment when the computer program is executed.
[0128] Above Figure 5The memory in the computer is used to store computer programs and can be configured to store various other data to support operations on the computing platform. Examples of such data include instructions for any application or method operating on the computing platform, contact data, phone book data, messages, pictures, videos, etc. 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.
[0129] Above Figure 5 The communication component in is configured to facilitate wired or wireless communication between the device where the communication component is located and other devices. The device where the communication component is located can access a wireless network based on a communication standard, such as WiFi, 2G, 3G, 4G / LTE, 5G and other mobile communication networks, or a combination thereof. In an exemplary embodiment, the communication component receives a broadcast signal or broadcast-related information from an external broadcast management system via a broadcast channel. In an exemplary embodiment, the communication component also includes a near field communication (NFC) module to facilitate short-range communication. For example, the NFC module can be implemented based on radio frequency identification (RFID) technology, infrared data association (IrDA) technology, ultra-wideband (UWB) technology, Bluetooth (BT) technology and other technologies.
[0130] Above Figure 5 The power supply component in the device provides power to various components of the device where the power supply component is located. The power supply component may include a power management system, one or more power supplies, and other components associated with generating, managing, and distributing power to the device where the power supply component is located.
[0131] Those skilled in the art will appreciate that the embodiments of the present application may be provided as methods, systems, or computer program products. Therefore, the present application may adopt the form of a complete hardware embodiment, a complete software embodiment, or an embodiment in combination with software and hardware. Moreover, the present application may adopt the form of a computer program product implemented in one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) that include computer-usable program code.
[0132] The present application is described with reference to the flowcharts and / or block diagrams of the methods, devices (systems), and computer program products according to the embodiments of the present application. It should be understood that each process and / or box in the flowchart and / or block diagram, as well as the combination of the processes and / or boxes in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing device to generate a machine, so that the instructions executed by the processor of the computer or other programmable data processing device generate instructions for implementing the processes in the flowchart and / or block diagram. Figure 1 A process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.
[0133] These computer program instructions may also be stored in a computer readable memory capable of directing a computer or other programmable data processing device to operate in a specific manner, so that the instructions stored in the computer readable memory produce an article of manufacture including an instruction device, which implements the process Figure 1 A process or multiple processes and / or boxes Figure 1 A function specified in one or more boxes.
[0134] These computer program instructions can also be loaded onto a computer or other programmable data processing device so that a series of operating steps are executed on the computer or other programmable device to produce a computer-implemented process, thereby providing instructions for implementing the process in the computer or other programmable device. Figure 1 A process or multiple processes and / or boxes Figure 1 The steps for the functions specified in one or more boxes.
[0135] It should also be noted that the terms "include", "comprises" or any other variations thereof are intended to cover non-exclusive inclusion, so that a process, method, commodity or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, commodity or device. In the absence of more restrictions, the elements defined by the sentence "comprises a ..." do not exclude the existence of other identical elements in the process, method, commodity or device including the elements.
[0136] It should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, 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 must comply with the relevant laws, regulations and standards of the relevant countries and regions, and provide corresponding operation entrances for users to choose to authorize or refuse.
[0137] The above is only the embodiment of the present application and is not intended to limit the present application. For those skilled in the art, the present application may have various changes and variations. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present application should be included in the protection scope of the present application.
Claims
1. A data access method, comprising: After the virtual disk on which the application associated with the currently logged-in user is installed is mounted to the cloud desktop, if an access request for accessing user configuration data is detected in the cloud desktop, the access path pointing to the data to be accessed in the access request is redirected to the actual storage path of the data to be accessed in the virtual disk; Based on the actual storage path, triggering generation of a redirection request corresponding to the access request, wherein the redirection request includes the actual storage path; In response to the redirection request, the to-be-accessed data is accessed from the virtual disk.
2. The method according to claim 1, redirecting the access path pointing to the to-be-accessed data in the access request to the actual storage path of the to-be-accessed data in the virtual disk mounted on the cloud desktop, comprising: Mapping a directory name in the access path for representing the user identity to a specified name to generate the actual storage path; The designated name is defined in the virtual disk during the application installation process, and the directory name used to represent the user identity in the storage path requested for the data to be accessed is also mapped to the designated name during the application installation process.
3. The method according to claim 1, further comprising: In response to a login event in the cloud desktop, determining an application associated with the currently logged-in user; If there is a target application among the applications associated with the currently logged-in user that has not yet been migrated to the cloud desktop, the virtual disk where the target application is located is mounted to the cloud desktop.
4. The method according to claim 1, further comprising: When it is determined that the access request meets the preset access permission requirements, the operation of redirecting the access path pointing to the to-be-accessed data in the access request to the actual storage path of the to-be-accessed data in the virtual disk mounted on the cloud desktop is performed.
5. The method according to claim 4, further comprising: If the access request is initiated by a system service process in the cloud desktop, determining that the access request meets preset access permission requirements; If the access request is not initiated by the system service process in the cloud desktop, determining whether the user identity indicated in the access path is consistent with the currently logged-in user; If they are consistent, it is determined that the access request meets the preset access permission requirements.
6. The method according to claim 5, further comprising: When the session identifier sessionID of the access request is equal to 0, determining that the access request is initiated by the system service process in the cloud desktop; When the session identifier sessionID of the access request is not equal to 0, determining that the access request is not initiated by the system service process in the cloud desktop; Wherein, when sessionID is not equal to 0, sessionID is used as a basis for determining the identity of the currently logged-in user of the cloud desktop.
7. The method according to claim 1, triggering generation of a redirection request corresponding to the access request based on the actual storage path, comprises: Using the actual storage path as a response to the access request so that the initiator of the access request can learn the actual storage path; The initiator that triggers the access request replaces the access path in the access request with the actual storage path to generate a redirection request corresponding to the access request.
8. The method according to claim 2, further comprising: In response to a packaging request for user configuration data under a specified application occurring in the cloud desktop, mapping a directory name in a storage path indicated by the packaging request and used to characterize the identity of a currently logged-in user in the cloud desktop to the specified name, so as to obtain a mapped path corresponding to the storage path in the packaging request; In the virtual disk where the specified application is located, the user configuration data under the specified application is packaged and stored according to the mapped path; The currently logged-in user in the cloud desktop serves as the installation user of the designated application.
9. According to the method described in claim 1, the user configuration data includes user configuration files and / or registry data; different applications are installed in different virtual disks, and the virtual disk where the application associated with the currently logged-in user of the cloud desktop is located is pre-mounted to the cloud desktop, and the application associated with the currently logged-in user of the cloud desktop includes the application that has been migrated.
10. A computing device comprising a memory, a processor, and a communication component; The memory is used to store one or more computer instructions; The processor is coupled to the memory and the communication component, and is configured to execute the one or more computer instructions to execute the data access method according to any one of claims 1 to 9.
11. A computer-readable storage medium storing computer instructions, which, when executed by one or more processors, causes the one or more processors to execute the data access method according to any one of claims 1 to 9.
Citation Information
Cited By
File access method and device, medium and program product
CN120429272A