Data access method, device, and storage medium

By installing the application on the virtual disk in the cloud desktop and redirecting the access path of the user's configuration data to the actual storage path in the virtual disk, the problem of repeated copying of data and excessive time-consuming data during application migration in the cloud desktop is solved, and efficient application migration and normal operation is achieved.

WO2025044513A1PCT designated stage expired Publication Date: 2025-03-06HANGZHOU ALICLOUD FEITIAN INFORMATION TECH CO LTD
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
PCT/CN2024/104055
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2023-08-25
Filing Date
2024-07-05
Publication Date
2025-03-06

AI Technical Summary

Technical Problem

In cloud desktop, 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.

Method used

Access data directly from the virtual disk 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.

Benefits of technology

It realizes efficient application migration, avoids data copying, improves application migration efficiency in cloud desktops, and ensures that the application runs normally in cloud desktops after migration.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2024104055_06032025_PF_FP_ABST
    Figure CN2024104055_06032025_PF_FP_ABST
Patent Text Reader

Abstract

Provided in embodiments of the present application are a data access method, a device, and a storage medium. In one aspect, installing an application on a virtual disk enables the application to be independent of a cloud desktop, and thus efficient migration of the application may be achieved by means of dynamically mounting the virtual disk, and data copying no longer needs to be carried out. In another aspect, in the cloud desktop, when an access request for accessing user configuration data is detected, an access path in the access request may be redirected to an actual storage path in the virtual disk, so that access to the user configuration data is no longer limited to the user who installed the application, but any cloud desktop on which the virtual disk is mounted may access user configuration data in the virtual disk, thus, in the cloud desktop, user configuration data under a migrated application may be accurately accessed without obstacles, ensuring normal operation of the migrated application in the cloud desktop. Therefore, in embodiments of the present application, by means of cooperation of the described two aspects, application migration efficiency in a cloud desktop may be effectively improved.
Need to check novelty before this filing date? Find Prior Art

Description

Data access method, device and storage medium 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 cloud desktop technology scenarios, different logged-in users can choose the applications configured in the cloud desktop as needed. A cloud desktop server can deploy multiple virtual machines to run the cloud desktop. In actual applications, due to factors such as flexible scheduling, the virtual machine assigned to each logged-in user may not be exactly the same each time they use the cloud desktop. Furthermore, the applications associated with different logged-in users are also not exactly the same. Therefore, if the virtual machine assigned to a logged-in user changes, the applications associated with that logged-in user need to be migrated to the currently assigned virtual machine (i.e., the destination virtual machine).

[0003] Currently, cloud desktops typically access user configuration data for each application through the virtual machine's file system. Therefore, when migrating an application, the application's user configuration data must be copied to the virtual machine's file system before the migrated application's user configuration data can be accessed from the cloud desktop. This results in multiple data copies and lengthy application migrations, significantly impacting the cloud desktop user experience.

[0004] Summary of the Invention

[0005] At least some embodiments of the present application provide a data access method, device, and storage medium for improving application migration efficiency in cloud desktops.

[0006] This embodiment of the present application provides a data access method, including:

[0007] 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 to-be-accessed data in the access request is redirected to the actual storage path of the to-be-accessed data in the virtual disk;

[0008] 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;

[0009] In response to the redirection request, the to-be-accessed data is accessed from the virtual disk.

[0010] An embodiment of the present application further provides a computing device, including a memory, a processor, and a communication component;

[0011] The memory is used to store one or more computer instructions;

[0012] 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.

[0013] 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.

[0014] 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 makes the application independent outside 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 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 further ensuring the normal operation of the migrated application in the cloud desktop. Accordingly, in an 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. BRIEF DESCRIPTION OF THE DRAWINGS

[0015] 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:

[0016] FIG1 is a flow chart of a data access method provided by an exemplary embodiment of the present application;

[0017] FIG2 is a logical diagram of a data access method provided by an exemplary embodiment of the present application;

[0018] 3 and 4 are schematic diagrams of application scenarios provided by an exemplary embodiment of the present application;

[0019] FIG5 is a schematic structural diagram of a computing device provided by yet another exemplary embodiment of the present application. DETAILED DESCRIPTION

[0020] To make the objectives, technical solutions, and advantages of this application more clear, the technical solutions of this application will be clearly and completely described below in conjunction with the specific embodiments of this application and the corresponding drawings. Obviously, the described embodiments are only part of the embodiments of this application, not all of them. Based on the embodiments in this application, all other embodiments obtained by ordinary technicians in this field without making creative efforts are within the scope of protection of this application.

[0021] At present, application migration in cloud desktops requires a large amount of repeated copying of data, which causes 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 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 makes the application independent of the cloud desktop, so that efficient application migration can be achieved by dynamically mounting the virtual disk, and no longer requires data copying. 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 not limited to the user who installed the application, but any cloud desktop that has mounted the virtual disk 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 further ensuring that the migrated application runs normally in the cloud desktop. Accordingly, in the embodiments 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.

[0022] The following describes in detail the technical solutions provided by various embodiments of the present application in conjunction with the accompanying drawings.

[0023] Figure 1 is a flow chart of a data access method provided by an exemplary embodiment of the present application. Figure 2 is a logic chart of a data access method provided by an exemplary embodiment of the present application.

[0024] Before introducing the technical solution of this embodiment, several technical concepts involved in this embodiment are explained as follows:

[0025] Cloud desktop, also known as desktop virtualization or cloud computer, is a new model to replace traditional computers.

[0026] 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, images, and cloud hard drives, and is a readily available, elastically scalable cloud server. In physical implementation, a cloud desktop server may be a single server or a collection of multiple servers (e.g., a service cluster), without limitation here.

[0027] 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.

[0028] Referring to Figure 2, as described in the background section, a cloud desktop server can typically deploy multiple virtual machines (VMs) for hosting cloud desktops. In practice, for a user workspace (for example, an enterprise can serve as a user workspace), multiple cloud desktop servers (one in the example shown in Figure 2) can be deployed for it, while a single cloud desktop server can deploy multiple VMs. Through flexible scheduling, logged-in users in a user workspace can be assigned to the appropriate VM, and logged-in users can then log in to the cloud desktop in their assigned VM.

[0029] For ease of description, this embodiment will explain the data access solution 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 users in the cloud desktop can be dynamic.

[0030] Referring to FIG1 , the data access method provided in this embodiment includes the following processing steps:

[0031] 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 to the accessed data in the access request is redirected to the actual storage path of the accessed data in the virtual disk;

[0032] 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;

[0033] Step 102: In response to the redirection request, access the to-be-accessed data from the virtual disk.

[0034] Referring to Figure 2, this embodiment proposes installing applications on a virtual hard disk (VHD). In one exemplary solution, all data required for application operation can be loaded onto the virtual disk, which can then be mounted on a cloud desktop. The cloud desktop can then access the data required for application operation stored on the virtual disk using the I / O Request Package (IRP) component to enable application operation.

[0035] Based on this, in this embodiment, an application will first be installed in the virtual disk, and can subsequently be migrated on demand through dynamic mounting of the virtual disk.

[0036] As mentioned above, the logged-in user can configure the applications used by himself in the cloud desktop as needed. Figuratively speaking, just like a logged-in user of an ordinary computer, the applications that he needs to use can be installed in the computer logged in by the logged-in user. In this way, for different logged-in users, the applications associated with different logged-in users 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 configure application 2 and application 3 in his 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.

[0037] 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 actually a special login user, and the installation user can also use related applications in the cloud desktop he logs in. After logging in to the cloud desktop, the logged-in user can configure the applications he needs to use into 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.

[0038] On this basis, in the cloud desktop, the applications associated with the currently logged-in user can be determined in response to a login event. As mentioned earlier, due to factors such as flexible scheduling, there may be target applications among 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 containing the target application can be mounted to the cloud desktop. For applications associated with the currently logged-in user that are already mounted on the cloud desktop, there is no need to perform this mounting operation. In this way, after the user logs in to the cloud desktop, the migration of related applications can be completed efficiently, without the need for data copying during the migration process.

[0039] 1 , in step 100 , after a virtual disk on which an application associated with a currently logged-in user is installed is mounted to a cloud desktop, it is monitored whether an access request for accessing user configuration data occurs in the cloud desktop.

[0040] In this embodiment, user configuration data may be some initial configuration information for the application by the installing user. User configuration data may include, but is not limited to, user profiles and / or registry data. During research, the inventors discovered that user configuration data has strong user restrictions. As mentioned above, the application in this embodiment is installed by the installing user, but is used by the logged-in user. Therefore, if the logged-in user and the installing user are inconsistent, this user restriction will result in the cloud desktop being unable to access the relevant user configuration data in the virtual disk, resulting in the application not being able to operate normally after migration.

[0041] To this end, this embodiment proposes an access solution for user configuration data to overcome the aforementioned issues caused by application migration, thereby ensuring the normal operation of the application after migration. In this embodiment, a filter driver component can be developed and the data access method of this embodiment can be executed based on the filter driver component. The developed filter driver component 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.

[0042] The aforementioned user restrictions on user configuration data are primarily reflected in its access path and storage path. In other words, the access path typically restricts user attributes to the logged-in user, while the storage path typically restricts user attributes to the installing user. Consequently, if the logged-in user and the installing user are different, the user attributes in the access and storage paths will be inconsistent, resulting in an inability to correctly access user configuration data according to the access path.

[0043] 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 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.

[0044] That is, in step 100, access requests for user configuration data can be intercepted and specially processed. Specifically, the access path in such access requests can be redirected to the actual storage path in the virtual disk. This redirection effectively avoids the aforementioned issue of user attributes being inconsistent in the access path and the storage path.

[0045] In this embodiment, the redirection operation in step 100 may be performed in a variety of implementations, which will be described in detail later.

[0046] After the redirection operation, an actual storage path corresponding to the access path may be generated in step 100 .

[0047] Continuing with reference to FIG. 1 , in 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.

[0048] 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.

[0049] In this optional implementation, the initiator of the access request can be a system service process in the cloud desktop's operating system, or, of course, other initiators such as an application process in the cloud desktop, without limitation. 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 redirect request for the access request. It is understood that the redirect request contains the actual storage path, not the original access path.

[0050] On this basis, referring to FIG1 , in step 102, the data to be accessed can be accessed from the virtual disk in response to the redirection request. Because the redirection request carries the actual storage path of the data to be accessed on the virtual disk, the required user configuration data can be accessed from the virtual disk in response to the redirection request based on the aforementioned IRP component.

[0051] 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 makes the application independent outside 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 not 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 further 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.

[0052] In the above or below embodiments, the aforementioned access path may be redirected in a variety of ways.

[0053] In an optional implementation: during the application installation process, the directory name used to represent 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. In this way, the user identity will no longer be reflected in the actual storage path in the virtual disk, but the directory originally used to represent the user identity will be named as the specified name. For example, for a user configuration file, there is usually a folder named after the user name of the installing user in the storage path requested. For another example, for registry data, there is usually a registry key in the storage path requested that is the session identifier (sessionID) corresponding to the installing user.

[0054] For ease of description, the following 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 represent 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 the 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.

[0055] 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 the 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.

[0056] 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 a specified name to generate an actual storage path.

[0057] In this embodiment, the access path ends at the data to be accessed, and the access path may include a hierarchy of directories leading to the data to be accessed. Similar to the storage path requested during application installation, the access path also includes a directory name that identifies the user. By mapping this directory name to a specified name, the actual storage path corresponding to the data to be accessed on the virtual disk can be obtained.

[0058] As can be seen, in this optional implementation, a designated name is used in the virtual disk as the name of the directory originally used to represent the user's identity. This removes the user restrictions of the user configuration data in the virtual disk. Furthermore, this optional implementation supports retaining the original user restrictions in the access path and storage path initiated for the user configuration data in the cloud desktop. It proposes mapping the directory name used to represent the user's identity in the access path and storage path to the same designated name, which can effectively avoid the problem of inconsistent user attributes between the two parties.

[0059] Based on this, 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.

[0060] It is worth noting that the above implementation is 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 to map directory names under all applications. In other implementations, different designated names can be defined for different applications. In this way, when 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 the actual storage path. For another example, the installation user can package and store user configuration data according to their own user identity in the virtual disk, and then broadcast the directory name used to represent the user identity when packaging 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, thereby generating the actual storage path in the virtual disk.

[0061] Furthermore, it should be understood that in this embodiment, if the currently logged-in user has multiple applications associated with them, the cloud desktop can reorganize the file directories of the mounted virtual disks. However, this reorganization does not affect the directory nesting structure within the virtual disks, and this directory nesting structure will be followed during application installation and use. Therefore, since the redirection scheme proposed in this embodiment maps some directory names within this directory nesting structure, it does not destroy this directory nesting structure, nor does it cause the actual storage path to be incorrectly redirected.

[0062] In the above or following embodiments, access control may also be performed on access requests for accessing user configuration information in the cloud desktop.

[0063] To this end, in this embodiment, when an access request for accessing user configuration data is monitored in the cloud desktop, it is determined whether the access request meets the preset access permission requirements; if so, the aforementioned operation of redirecting the access path is performed.

[0064] 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 cloud desktop technology field.

[0065] In an optional implementation:

[0066] If the access request is initiated by a system service process in the cloud desktop, then determining that the access request meets the preset access permission requirements;

[0067] 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.

[0068] 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.

[0069] In actual applications, cloud desktops use 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 method, the session corresponding to the access request can be identified. If the sessionID is equal to 0, it can be determined that the initiator of the access request is the system service process, and if the 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 the sessionID is not equal to 0, the 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 the sessionID.

[0070] 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 if it is determined to be consistent, the redirection operation of the access path is allowed, otherwise, the access request can be rejected.

[0071] In one exemplary determination scheme, the user identity indicated in the access path can be determined based on the directory name used to represent the user identity in the access path. This is then compared with the user identity of the currently logged-in user determined based on the sessionID. If they match, 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 denied and the aforementioned redirection operation will not be performed.

[0072] In this optional implementation, access requests initiated by system service processes for access to user configuration data can be directly determined to meet access permission requirements. This is because system service processes in cloud desktops have higher access permissions and are not subject to user data isolation restrictions. Therefore, the aforementioned access requests initiated by system service processes can be directly released, allowing access path redirection operations. 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.

[0073] In addition, for access requests initiated by the system service process for accessing user configuration data, after the redirection is executed, the redirection request triggered and generated no longer contains information that can reflect the user's identity. To this end, the user identity of the currently logged-in user can optionally be 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, even though 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 aforementioned association mechanism, thereby ensuring that the user configuration data can be accessed within the application scope associated with the currently logged-in user.

[0074] In summary, this embodiment allows access control of user configuration data within the cloud desktop to prevent unauthorized access, thereby ensuring data security for each logged-in user. Furthermore, for applications that rely on system services, the system service processes are guaranteed to be able to properly and accurately access the required user configuration data, both during the application installation process and during application use.

[0075] Figures 3 and 4 are schematic diagrams of an application scenario provided by an exemplary embodiment of the present application, wherein the session ID of the access request in Figure 3 is not equal to 0, and the session ID in Figure 4 is equal to 0.

[0076] Referring to Figure 3, after user A logs in to the cloud desktop, the IRP requests generated in the cloud desktop can be monitored, and access requests for accessing user configuration data can be identified. In actual 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.

[0077] 3 , the implementation process of the data access solution provided by this embodiment when the session is not equal to 0 is as follows:

[0078] 1) Identify an access request for accessing user configuration data from an IRP request generated in the cloud desktop.

[0079] 2) The sessionID of the access request is not equal to 0.

[0080] 3) Get the user identity of the currently logged-in user based on the sessionID.

[0081] 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).

[0082] 5) Map the directory name representing 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, resulting in the actual storage path on the virtual disk being user / @user / app1 / config / A.dll. The virtual disk containing the application associated with the currently logged-in user is already pre-mounted on the cloud desktop.

[0083] 6) The actual storage path generated in 5) is used as a response to the access request in 1).

[0084] 7) The initiator of the access request generates a redirection request corresponding to the access request.

[0085] 8) After repeating the above steps 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.

[0086] As can be seen from Figure 3, the data access method provided by 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.

[0087] 4 , the implementation process of the data access solution provided by this embodiment when session is equal to 0 is as follows:

[0088] 1) Identify an access request for accessing user configuration data from an IRP request generated in the cloud desktop.

[0089] 2) The sessionID of the access request is equal to 0.

[0090] 3) The user identity of the currently logged-in user is parsed from the access path of the access request.

[0091] 4) Determine whether the access request meets the access permission requirements: Yes.

[0092] 5) Map the directory name used to represent the user identity in the access path to the specified name.

[0093] 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.

[0094] 7) The actual storage path generated in 5) is used as a response to the access request in 1).

[0095] 8) Based on the thread in 6), a redirection request corresponding to the access request is generated.

[0096] 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.

[0097] As can be seen from Figure 4, the data access method provided by 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.

[0098] It should be noted that some of the processes described in the above embodiments and the accompanying drawings include multiple operations that appear in a specific order. However, 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. The sequence numbers of the operations, such as 101, 102, etc., are used to distinguish different operations, and the sequence numbers themselves do not represent any execution order. In addition, these processes may include more or fewer operations, and these operations may be executed sequentially or in parallel.

[0099] FIG5 is a schematic diagram of a computing device according to another exemplary embodiment of the present application. As shown in FIG5 , the computing device includes a memory 50 , a processor 51 , and a communication component 52 .

[0100] The processor 51 is coupled to the memory 50 and is configured to execute the computer program in the memory 50 to:

[0101] 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 to-be-accessed data in the access request is redirected to the actual storage path of the to-be-accessed data in the virtual disk;

[0102] 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;

[0103] In response to the redirection request, the to-be-accessed data is accessed from the virtual disk.

[0104] 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 is configured as follows:

[0105] Mapping the directory name used to represent the user identity in the access path to a specified name to generate the actual storage path;

[0106] 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.

[0107] In an optional embodiment, the processor 51 is further configured to:

[0108] In response to a login event in the cloud desktop, determining an application associated with the currently logged-in user;

[0109] 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.

[0110] In an optional embodiment, the processor 51 is further configured to:

[0111] 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.

[0112] In an optional embodiment, the processor 51 is further configured to:

[0113] 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;

[0114] 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.

[0115] In an optional embodiment, the processor 51 is further configured to:

[0116] 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;

[0117] 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.

[0118] In an optional embodiment, when triggering the generation of a redirection request corresponding to the access request based on the actual storage path, the processor 51 is configured to:

[0119] 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;

[0120] 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.

[0121] In an optional embodiment, the processor 51 is further configured to:

[0122] In response to a packaging request for user configuration data under a specified application generated in the cloud desktop, mapping a directory name in a storage path indicated by the packaging request and used to represent the identity of a currently logged-in user in the cloud desktop to the specified name to obtain a mapped path corresponding to the storage path in the packaging request;

[0123] In the virtual disk where the designated application is located, the user configuration data under the designated application is packaged and stored according to the mapped path;

[0124] The currently logged-in user in the cloud desktop serves as the installation user of the designated application.

[0125] 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.

[0126] Furthermore, as shown in Figure 5 , the computing device further includes other components such as a power supply component 53. Figure 5 schematically shows some components, which does not mean that the computing device only includes the components shown in Figure 5 .

[0127] It is worth noting that the technical details in the above-mentioned embodiments of the computing device can be referred 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 any loss of the scope of protection of this application.

[0128] 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.

[0129] The memory in Figure 5 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.

[0130] The communication component in Figure 5 above 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.

[0131] The power supply assembly in Figure 5 provides power to various components of the device in which the power supply assembly is located. The power supply assembly may include a power management system, one or more power supplies, and other components associated with generating, managing, and distributing power to the device in which the power supply assembly is located.

[0132] Those skilled in the art will appreciate that the embodiments of the present application can be provided as methods, systems, or computer program products. Therefore, the present application can 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 can adopt the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to magnetic disk storage, CD-ROM, optical storage, etc.) that contain computer-usable program code.

[0133] The present application is described with reference to the flow chart and / or block diagram of the method, device (system), and computer program product according to the embodiment of the present application. It should be understood that each flow process and / or box in the flow chart and / or block diagram and the combination of the flow process and / or box in the flow chart and / or block diagram can be realized 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 processing machine or other programmable data processing device to produce a machine, so that the instructions executed by the processor of the computer or other programmable data processing device produce a device for realizing the function specified in one flow chart flow or multiple flows and / or one box or multiple boxes of the block diagram.

[0134] These computer program instructions may also be stored in a computer-readable memory that can direct 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 a product including an instruction device that implements the functions specified in one or more processes in the flowchart and / or one or more boxes in the block diagram.

[0135] 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, so that the instructions executed on the computer or other programmable device provide steps for implementing the functions specified in one or more processes in the flowchart and / or one or more boxes in the block diagram.

[0136] It should also be noted that the terms "comprises," "includes," or any other variations thereof are intended to encompass non-exclusive inclusion, such that a process, method, commodity, or apparatus that includes a series of elements includes not only those elements but also other elements not explicitly listed, or includes elements inherent to such process, method, commodity, or apparatus. In the absence of further limitations, an element defined by the phrase "comprises a ..." does not exclude the presence of other identical elements in the process, method, commodity, or apparatus that includes the element.

[0137] 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 relevant countries and regions, and provide corresponding operation entrances for users to choose to authorize or refuse.

[0138] The foregoing is merely an 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 modifications and variations. Any modifications, equivalent replacements, improvements, etc. made within the spirit and principles of the present application should be included in the scope of protection 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 to determine the current login user of the cloud desktop. The basis for the identity of the household.

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

Patent Citations

  • Data disk mounting method and virtual machine monitor

    CN106503587A

  • Cloud desktop system disk updating method and device and storage medium

    CN114595028A

  • User data synchronization method and device based on cloud desktop, equipment and storage medium

    CN114679442A

  • Method, system and device for redirecting physical CD driver in cloud desktop environment

    CN116107648A

  • Virtual desktop migration

    US20160088066A1