WO2023273482A1 - 一种控制方法及电子设备 - Google Patents

一种控制方法及电子设备 Download PDF

Info

Publication number
WO2023273482A1
WO2023273482A1 PCT/CN2022/084893 CN2022084893W WO2023273482A1 WO 2023273482 A1 WO2023273482 A1 WO 2023273482A1 CN 2022084893 W CN2022084893 W CN 2022084893W WO 2023273482 A1 WO2023273482 A1 WO 2023273482A1
Authority
WO
WIPO (PCT)
Prior art keywords
operating system
storage path
application
electronic device
message
Prior art date
Application number
PCT/CN2022/084893
Other languages
English (en)
French (fr)
Inventor
王�锋
Original Assignee
华为技术有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 华为技术有限公司 filed Critical 华为技术有限公司
Priority to EP22831313.6A priority Critical patent/EP4350516A1/en
Publication of WO2023273482A1 publication Critical patent/WO2023273482A1/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45537Provision of facilities of other operating environments, e.g. WINE
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects

Definitions

  • the present application relates to the field of computer technology, in particular to a control method and electronic equipment.
  • the system of PC products such as Window system, IOS system, etc.
  • Application program application, APP
  • the emulator is a kind of software capable of running on a PC and simulating the Android system, which can simulate the running environment of the Android system on the PC, so that users can experience Android games and applications on the PC.
  • the file sharing between the host machine (that is, the system on the PC product) and the virtual machine (that is, the Android system) is an extremely important basic capability.
  • Most of the emulators now realize the file sharing function by virtualizing the host file directory into a device and mounting it in the virtual machine.
  • this method has an obvious disadvantage.
  • the shared path between the host machine and the virtual machine cannot be changed, and if the shared path needs to be changed, the virtual machine can only be restarted, resulting in Running applications are closed and affected. Therefore, how to modify the shared path between the host machine and the virtual machine in real time during the running of the virtual machine without restarting the virtual machine is a technical problem that needs to be solved urgently.
  • the present application provides a control method and an electronic device, which can realize real-time modification of the shared path between the host machine and the virtual machine during the running process of the virtual machine without restarting the virtual machine, thereby improving user experience.
  • the present application provides a control method applied to a simulator, the simulator is used for installation on an electronic device, the electronic device has a first operating system, and the simulator includes a second operating system, the method includes: responding to receiving The first message sent by the first client on the received electronic device determines whether the first storage path is the same as the second storage path, wherein the first message is used to indicate the installation of the first application, and the first storage path is the first application The storage path of the installation package of the program; when the first storage path is different from the second storage path, constructing the first virtual device based on the first storage path; sending a second message to the second operating system, the second message is used to indicate the first The second operating system is mounted to the first virtual device.
  • the emulator can reconstruct the virtual device based on the new download directory, and simulate The virtual machine in the emulator can be mounted to the reconstructed virtual device, so that the virtual machine in the emulator (that is, the second operating system) can directly access the installation package in the new download directory, and the new download directory
  • the installation package is installed, so that the shared path between the host machine and the virtual machine can be modified in real time during the running of the virtual machine, and the virtual machine does not need to be restarted, so that there is no need to close the application currently in use in the virtual machine, and then Applications currently in use in the virtual machine are not affected.
  • the second message is also used to instruct the second operating system to install the first application program.
  • the method further includes: in response to receiving the third message sent by the second operating system, sending a fourth message to the second operating system, where the third message is used to indicate that the mount is successful, and the fourth The message is used to instruct the second operating system to install the first application program.
  • the second operating system is instructed to install the first application program.
  • the first message includes one or more of the following: the name of the first application program, the first storage path, or information about whether the second storage path has been modified.
  • the second message includes a mounting mode and a mounting parameter.
  • the mounting manner includes direct mounting or first uninstalling and then mounting.
  • the mounting parameter includes one or more items of the following: a name of the first virtual device, a directory mounted to the second operating system, or a specified file system type.
  • the method before building the first virtual device based on the first storage path, the method further includes: destroying the second virtual device, and the second virtual device is built based on the second storage path.
  • the first client is a client with an application providing function, or the first client is a client with an application migration function.
  • the first operating system is a Windows operating system
  • the second operating system is an Android operating system
  • the first application program is an Android application program.
  • the first virtual device is used for the second operating system to access the first storage path.
  • the second storage path is a storage path of a second application program
  • the second application program is an application program installed last time.
  • the present application provides a control method applied to an electronic device, the electronic device has a first operating system, an emulator is installed on the electronic device, and the emulator includes a second operating system
  • the method includes: responding to the user in the The installation operation of the first application program on the first client on the electronic device determines whether the first storage path is the same as the second storage path, and the first storage path is the storage path of the installation package of the first application program; When the storage path is different from the second storage path, construct the first virtual device based on the first storage path, and mount the second operating system to the first virtual device; install the first application program, and display the first application program.
  • the emulator can reconstruct the virtual device based on the new download directory, and simulate The virtual machine in the emulator can be mounted to the reconstructed virtual device, so that the virtual machine in the emulator (that is, the second operating system) can directly access the installation package in the new download directory, and the new download directory
  • the installation package is installed, so that the shared path between the host machine and the virtual machine can be modified in real time during the running of the virtual machine, and the virtual machine does not need to be restarted, so that there is no need to close the application currently in use in the virtual machine, and then Applications currently in use in the virtual machine are not affected.
  • the first client is a client with an application providing function, or the first client is a client with an application migration function.
  • the first operating system is a Windows operating system
  • the second operating system is an Android operating system
  • the first application program is an Android application program.
  • the first virtual device is used for the second operating system to access the first storage path.
  • the method before building the first virtual device based on the first storage path, the method further includes:
  • the second virtual device is destroyed, and the second virtual device is constructed based on the second storage path.
  • the second storage path is a storage path of a second application program
  • the second application program is an application program installed last time.
  • the present application provides a control device, which includes a unit for performing the method in the first aspect above.
  • the device may correspond to executing the method described in the first aspect above.
  • the control device may be a simulator.
  • Hardware or software includes one or more modules or units corresponding to the functions described above. For example, a processing module or unit, a display module or unit, etc.
  • the present application provides an electronic device, the electronic device includes a processor, the processor is coupled with a memory, the memory is used to store computer programs or instructions, and the processor is used to execute the computer programs or instructions stored in the memory, so that the first aspect or The method of the second aspect is performed.
  • the processor is used to execute the computer programs or instructions stored in the memory, so that the electronic device executes the method in the first aspect.
  • the present application provides a computer-readable storage medium, on which is stored a computer program (also referred to as an instruction or code) for implementing the method in the first aspect or the second aspect.
  • a computer program also referred to as an instruction or code
  • the computer when the computer program is executed by a computer, the computer can execute the method in the first aspect or the second aspect.
  • the present application provides a chip, including a processor.
  • the processor is used to read and execute the computer program stored in the memory, so as to implement the method in the first aspect or the second aspect.
  • the chip further includes a memory, and the memory is connected to the processor through a circuit or wires.
  • the present application provides a chip system, including a processor.
  • the processor is used to read and execute the computer program stored in the memory, so as to implement the method in the first aspect or the second aspect.
  • the chip system further includes a memory, and the memory is connected to the processor through a circuit or wires.
  • the present application provides a computer program product.
  • the computer program product includes a computer program (also referred to as an instruction or code).
  • the computer program When the computer program is executed by a computer, the computer implements the method in the first aspect or the second aspect.
  • FIG. 1 is a schematic diagram of an application scenario provided by an embodiment of the present application
  • FIG. 2 is a structural block diagram of an electronic device according to an embodiment of the present application.
  • FIG. 3 is a schematic diagram of an interface display of an electronic device according to an embodiment of the present application.
  • Fig. 4a is a schematic diagram of an interface display of an electronic device according to an embodiment of the present application.
  • Fig. 4b is a schematic diagram of an interface display of an electronic device according to an embodiment of the present application.
  • FIG. 5 is a schematic diagram of an interface display of an electronic device according to an embodiment of the present application.
  • FIG. 6 is a schematic diagram of an interface display of an electronic device according to an embodiment of the present application.
  • FIG. 7 is a schematic diagram of an interface display of an electronic device according to an embodiment of the present application.
  • FIG. 8 is a schematic flowchart of a control method provided in an embodiment of the present application.
  • FIG. 9 is a schematic flowchart of another control method provided by the embodiment of the present application.
  • FIG. 10 is a schematic flowchart of another control method provided by the embodiment of the present application.
  • FIG. 11 is a schematic structural diagram of a chip according to an embodiment of the present application.
  • FIG. 12 is a schematic diagram of a hardware structure of an electronic device provided by an embodiment of the present application.
  • first and second and the like in the specification and claims herein are used to distinguish different objects, not to describe a specific order of objects.
  • first response message and the second response message are used to distinguish different response messages, rather than describing a specific order of the response messages.
  • words such as “exemplary” or “for example” are used as examples, illustrations or illustrations. Any embodiment or design scheme described as “exemplary” or “for example” in the embodiments of the present application shall not be interpreted as being more preferred or more advantageous than other embodiments or design schemes. Rather, the use of words such as “exemplary” or “such as” is intended to present related concepts in a concrete manner.
  • multiple means two or more, for example, multiple processing units refer to two or more processing units, etc.; multiple A component refers to two or more components or the like.
  • Mounting refers to associating a certain device with a specific location in the directory tree, so that the operating system can find the newly added device from the root directory, thereby accessing the file data in the device.
  • the device here generally refers to a real device such as a hard disk or an optical disk storage, or a directory in an operating system, or other virtual devices.
  • the USB flash disk when it is necessary to access data stored on a USB flash disk, in order for the operating system in the computer to find the USB flash disk, the USB flash disk must be mounted to a certain position in the directory tree structure of the operating system. directory (for example, /media/usb/). Assuming that the U disk device is /dev/usb, then when the U disk is inserted into the computer, the corresponding command executed by the computer is: mount/dev/usb/media/usb, that is, the U disk is mounted to the /media/usb/ directory. After the computer executes the above command, the files in the U disk will be visible to the operating system in the computer. For example, if a file in the U disk is located in /dir/hello.txt, then the corresponding path accessible to the operating system is /media /usb/dir/hello.txt.
  • FIG. 1 is a schematic diagram of an application scenario provided by an embodiment of the present application.
  • an electronic device A is installed with a simulator 11 and an application market 12 .
  • the emulator 11 can simulate the operating environment of the Android system on the electronic device A, and can run the Android system.
  • the application market 12 can provide applications adapted to the system configured on the electronic device A, and can also provide applications adapted to the Android system.
  • the application market 12 can provide windows applications, and can also provide Android applications, wherein the suffix of the installation package of the Windows application can be .exe, and the suffix of the Android package of the Android application can be .
  • the application market 12 can provide ios applications, and can also provide Android applications, the suffix of the installation package of the ios application can be .ipa, and the Android package of the Android application The suffix can be .apk.
  • the user can set the download directory of the Android application in the application market 12.
  • the download directory can be understood as the difference between the host machine (i.e. the system configured on the electronic device A) and the virtual machine (i.e. the Android system in the emulator 12). shared paths between.
  • the emulator 12 can reconstruct the virtual device based on the new download directory, and the virtual machine in the emulator 12 can Mount the reconstructed virtual device, so that the virtual machine in the emulator 12 can directly access the installation package in the new download directory, and install the installation package in the new download directory.
  • the system configured on the electronic device A may be a windows system, an ios system, or other operating systems, which may be determined according to actual conditions, and are not limited here.
  • electronic device A may be a mobile terminal or a non-mobile terminal.
  • the mobile terminal can be a tablet computer, notebook computer, palmtop computer, vehicle-mounted terminal, etc.
  • the non-mobile terminal can be a personal computer (personal computer, PC), a television (television, TV), a teller machine or a self-service machine, etc. This is not specifically limited.
  • Fig. 2 is a structural block diagram of an electronic device according to an embodiment of the present application.
  • electronic device A may be an electronic device equipped with a windows system, and multiple applications may be installed under the windows system, such as a simulator 11 (simulator name.exe).
  • the emulator 11 may be an application equipped with the Android system 111
  • the Android system 111 may include an Android application and a file manager.
  • the Android application may be an email application, a Huawei video application, and the like.
  • the file manager can be understood as a file management tool, and the files in the Android system 111 can be managed by using the file manager, such as viewing files, editing files, deleting files, moving files, and so on.
  • the Android system 111 can be mounted on the virtual device built by the emulator 11. After the Android system 111 is mounted on the virtual device, the Android system 111 can access the shared folder 13 in the windows system in the electronic device A, and the shared folder 13 can be located in the disk directory of the windows system in the electronic device A.
  • the installation package of the Android application downloaded by the user from the application market of the electronic device A can be stored in the shared folder 13, so that the Android system 111 can obtain the Android application from the shared folder 13 and install it.
  • the shared folder 13 can be set through the application market of the electronic device A.
  • the virtual device in the Android system 111 can be understood as a disk, which can be visualized as a disk C or disk D in a personal computer, which can provide data storage space for the Android system.
  • the user can open (eg, double-click or single-click, etc.) the application market 12 on the electronic device A.
  • the display interface of the electronic device A may enter the interface shown in FIG. 3 from the interface shown in FIG. 1 .
  • the user can view the modification entry 121 of the shared path (ie, the download directory) through the entry of “Settings” in the application market 12 .
  • the user can modify the shared path through the modification entry 121 . For example, change the download directory from "D: Download ⁇ AppGallery" to "E: Download ⁇ AppGallery”.
  • the user can open (eg, double-click or single-click, etc.) the application market 12 on the electronic device A.
  • the display interface of the electronic device A may enter the interface shown in FIG. 4 from the interface shown in FIG. 1 .
  • the user can view or search for installable Android applications through the entry of "Android applications" in the application market 12 .
  • the user can select an Android application a from among them, and select the installation control 122 corresponding to the Android application a.
  • the electronic device A downloads (that is, obtains) the Android application a from the application market 12, and stores the installation package of the Android application a in the shared path (that is, the download directory) in the electronic device A.
  • the Android application a may be stored in the download directory of "E:Download ⁇ AppGallery".
  • the corresponding installation control of Android application a shown as 122 in FIG.
  • the display control shown as 123 in FIG. 4b ), so that the user can observe the download and/or installation progress in real time through the display control 123 .
  • the application market 12 can send an installation command to the emulator 11 through inter-process communication (inter-process communication, IPC), and send the application name information and the installation package storage path of the Android application a information (that is, shared path information), etc.
  • IPC inter-process communication
  • the electronic device A may control the simulator 11 to be turned on silently.
  • the electronic device A may send a background startup instruction to the simulator 11 to instruct the simulator 11 to start in the background; then, after the simulator 11 receives the background startup instruction, it may The background starts and runs, thereby realizing the silent opening of the control simulator 11.
  • the emulator 11 in the electronic device A After the emulator 11 in the electronic device A receives the installation command sent by the application market 12 through the IPC, and the application name information and the installation package storage path information (that is, the shared path information) of the Android application a, the emulator 11 can share the path information. Check to see if the share path has changed.
  • At least the shared path information received last time may be recorded in the simulator 11 .
  • the simulator 11 can compare the shared route information received this time with the shared route information received last time, so as to determine whether the shared route has changed.
  • the shared path information received last time is "D:Download ⁇ AppGallery”
  • the shared path information received this time is "E:Download ⁇ AppGallery”. By comparing the two, it can be known that the shared path has changed.
  • electronic device A may also record modification information of the shared path. At this time, the electronic device A can determine whether the shared path has changed this time based on the modification information recorded therein. Wherein, when the electronic device A determines that the current shared path has changed, the electronic device A may send a message to the simulator 11 indicating that the shared path has changed. Afterwards, after the simulator 11 receives the message indicating that the shared path has changed sent by the electronic device A, the simulator 11 can know that the shared path has changed.
  • the emulator 11 when the shared path changes, the emulator 11 can perform dynamic mounting. When the shared path has not changed, the emulator 11 may not perform dynamic mounting, and send an installation command to the virtual machine in the emulator 11 (i.e. the Android system), to instruct the virtual machine in the emulator 11 to install the Android application a .
  • the virtual machine in the emulator 11 i.e. the Android system
  • the simulator reconstructs the virtual device
  • the simulator 11 can destroy the original virtual device, and build a new virtual device based on the new shared path, that is, software initialization of the virtual device.
  • emulator 11 can apply for memory from the operating system of electronic device A, and then emulator 11 sets the corresponding behavior processing function, such as reading or writing the required Processing function, and the read-write directory that uses the shared path as the corresponding behavior processing function, that is, the reading and writing of the behavior processing function is carried out in the shared path; finally, register the behavior processing function in the simulator, that is, Build a new virtual device that can point to the shared path, so that when accessing the virtual device, you can access the files in the shared path, thereby completing the software initialization of the virtual device.
  • the virtual device can be used by the virtual machine in the emulator 11 to access the hard disk of electronic device A, which is a virtual device that can point to a certain path under the system in electronic device A, for example, the shared path.
  • electronic device A is a virtual device that can point to a certain path under the system in electronic device A, for example, the shared path.
  • the virtual machine in the emulator 11 can access the shared path through the virtual device.
  • emulator 11 After emulator 11 builds a new virtual device, it can send a mount command to the virtual machine (ie Android system) inside it through communication pipeline or communication based on shared memory, so that the virtual machine can be mounted to the new virtual device superior.
  • the virtual machine ie Android system
  • the mount command may include a mount mode and mount parameters.
  • the mounting method may include direct mounting or first uninstalling and then mounting; the mounting parameters may include: the minimum storage unit size, the identification (such as name, etc.) of the virtual device to be mounted, and the directory, or, specify the type of file system, etc.
  • the minimum storage unit size can be understood as the size of the smallest storage location allocated for a virtual device.
  • mount The loading method can be uninstall first and then mount, that is, uninstall the original virtual device first, and then mount to the new virtual device. If there is no device with the same name as the newly constructed virtual device in the mount list of the virtual machine, the mount method may be direct mount.
  • the type of the specified file system may be a 9p file system (plan 9 file system, 9pfs).
  • the emulator 11 may send a wake-up instruction to the virtual machine in it to wake up the virtual machine in it.
  • the virtual machine in the emulator 11 After the virtual machine in the emulator 11 receives the mount command sent by the emulator 11, it can unload the original virtual device and mount it to a new virtual device.
  • the virtual device For example, suppose the name of the virtual device is: virtual_disk, and the directory mounted to the virtual machine is: ⁇ data ⁇ media, then the corresponding command executed by the virtual machine is: mountvirtual_disk ⁇ data ⁇ media, which is to mount the new virtual device Go to the ⁇ data ⁇ media directory; after that, the virtual machine can directly access ⁇ data ⁇ media to access the virtual device. Since the virtual device points to the shared path, when the virtual machine accesses the virtual device, it can access the files in the shared path. Exemplarily, the virtual device can be understood as a file sharing medium between the host machine and the virtual machine.
  • the virtual machine After the virtual machine is mounted on the new virtual device, the virtual machine can feed back the mounting result to the emulator 11, so that the emulator 11 can know the feedback result.
  • the emulator 11 After the emulator 11 knows that the virtual machine in it has been successfully mounted on the new virtual device, it can send the installation command and the application name information of the Android application a to the virtual machine.
  • the virtual machine can access the virtual device based on the application name information of the Android application a, and then access the installation package of the Android application a from the shared path pointed to by the virtual device. After that, the virtual machine can install the Android application a. After the virtual machine is installed successfully, the installation result can be fed back to the emulator 11, so that the emulator can know the installation result.
  • a shortcut icon of the Android application a can be displayed in the virtual machine, so that the user can start or uninstall the Android application a in the virtual machine.
  • the emulator 11 learns that the virtual machine in it has failed to mount, it can present failure information to the user, so that the user can know the result of the mount failure and allow the user to choose whether to mount again.
  • the mount fails, the corresponding installation control of the Android application a (as shown by 122 in FIG. display); afterward, when the user clicks on the retry control 124, the mount can be performed again.
  • the simulator 11 may send the installation result to the application market 12 through IPC. Afterwards, the application market 12 may display the installation result, such as success or failure of the installation. Exemplarily, as shown in FIG. 7, after the installation is successful, the corresponding installation control of Android application a (as shown by 122 in FIG. shown). This completes the installation of the Android app.
  • the emulator 11 in the electronic device A is in an unopened state when the Android application is installed, the state of the emulator 11 can be restored to the unopened state (i.e. the initial state) after the Android application is installed.
  • the above solution is not only applicable to installing Android applications, but also applicable to updating Android applications.
  • the process of updating Android applications is the same as that of installing Android applications, and will not be repeated here.
  • the simulator can reconstruct the virtual device based on the new download directory, and simulate The virtual machine in the emulator can be mounted to the reconstructed virtual device, so that the virtual machine in the emulator can directly access the installation package in the new download directory, and install the installation package in the new download directory, by This realizes the real-time modification of the shared path between the host machine and the virtual machine during the running of the virtual machine, without restarting the virtual machine, so that there is no need to close the application currently in use in the virtual machine, and thus does not affect the currently running application in the virtual machine. the application used.
  • FIG. 8 is a schematic flow chart of a control method provided in an embodiment of the present application.
  • both the first client and the emulator in FIG. 8 can be installed on the electronic device, and the electronic device has a first operating system, the emulator includes a second operating system, and the first operating system is different from the second operating system.
  • the first operating system may be a Windows operating system
  • the second operating system may be an Android operating system.
  • the first client can be a client with application providing functions, such as: an application market, which can provide application programs adapted to the second operating system, such as Android applications; the second operating system can be called for the virtual machine.
  • what is described in FIG. 8 is the process of installing an application program in the second operating system through the first client.
  • control method may include the following steps:
  • the first client downloads an installation package of the first application, and puts the installation package into a first storage path.
  • the user may download the first application program on the first client, where the first client may have a default download path, that is, the first storage path.
  • the installation package of the first application program may be stored in the first storage path.
  • the installation operation may be an operation of installing an application program, and may also be an operation of updating an application program, which is not limited here.
  • the first application program may be an Android application program.
  • the first download path can be understood as a shared path.
  • the first client sends a first message to the emulator, where the first message is used to instruct installation of the first application program.
  • the application may send a first message to the emulator through IPC to instruct the emulator to install the first application program, so that the emulator installs the first application program.
  • the first message may include one or more of the following: the name of the first application program, the first storage path, or information about whether the second storage path has been modified.
  • the emulator judges whether the first storage path is the same as the second storage path, and the first storage path is a storage path of the installation package of the first application program.
  • the emulator can check the first storage path (that is, the shared path) of the installation package of the first application to determine whether the first storage path is the same as the second storage path, and then determine whether the shared path has changed .
  • the second storage path may be a storage path of an application program installed last time, or may be a default storage path on the first client.
  • the simulator may determine whether the shared path changes by comparing the first stored path with its recorded stored path information (that is, shared path information).
  • the first client may also send information about whether the second storage path has been modified to the emulator, so that the emulator can determine whether the shared path has changed.
  • the emulator may build the first virtual device based on the first storage path.
  • the emulator can apply for memory from the first operating system of the electronic device, and then the emulator can set corresponding behavior processing functions, such as reading or writing required processing functions, and
  • the first storage path is used as the reading and writing directory of the corresponding behavior processing function, that is, the reading and writing of the behavior processing function is carried out in the first storage path; finally, the behavior processing function is registered in the simulator, that is, A first virtual device that can point to the first storage path is constructed.
  • the second operating system in the emulator accesses the first virtual device, it can access the first storage path.
  • the emulator may first destroy the second virtual device built based on the second storage path.
  • the emulator sends a second message to the second operating system, where the second message is used to instruct the second operating system to be mounted to the first virtual device.
  • the emulator can send a second message to the second operating system through pipeline communication to instruct the second operating system to mount to the first virtual device, so that the second operating system can be mounted to the first virtual device. on the first virtual device.
  • the second message may include a mounting mode and a mounting parameter.
  • Mounting methods include direct mounting or uninstalling and then mounting.
  • the mount parameter includes one or more items of the following: the name of the first virtual device, the directory mounted to the second operating system, or the type of the specified file system.
  • the second operating system can be mounted on the first virtual device according to the mounting method and mounting parameters contained in the second message.
  • the mounting method and mounting parameters contained in the second message For the detailed mounting process, please refer to the description above, which will not be repeated here. repeat.
  • the second operating system sends a third message to the emulator, where the third message is used to indicate that the mounting is successful.
  • the second operating system may send a third message to the emulator through pipeline communication to indicate that the mounting is successful.
  • the second operating system may also send a message indicating the mounting failure to the emulator through pipeline communication.
  • the emulator sends a fourth message to the second operating system, where the fourth message is used to instruct the second operating system to install the first application program.
  • the emulator may send a fourth message to the second operating system through pipeline communication to instruct the second operating system to install the first application program, so that the second operating system The second operating system installs the first application program.
  • the second operating system installs the first application program.
  • the second operating system may access the first virtual device, thereby accessing the first storage path, and then obtain the installation package of the first application program stored in the first storage path, and install the first application program.
  • the second operating system sends a fifth message to the emulator, where the fifth message is used to indicate an installation result.
  • the second operating system may send a fifth message indicating the installation result to the emulator through pipeline communication.
  • the installation result may include installation success or installation failure.
  • the emulator sends a sixth message to the first client, where the sixth message is used to indicate a result of installing the first application program by the second operating system.
  • the emulator learns the installation result of the first application program by the second operating system, it can send a sixth message to the first client through the IPC, wherein the sixth message is used to indicate that the second operating system installs the first application program.
  • the result of the application is used to indicate that the second operating system installs the first application program.
  • the first client outputs an installation result.
  • the first client may output the installation result.
  • the first client may output the installation result by one or more of text, graphics, voice, vibration, etc., so as to display the installation result to the user.
  • the second message in S805 can also be used to instruct the second operating system to install the first application program, that is, after the second operating system is mounted on the first virtual device, the second operating system can install the first application program. application.
  • S809 may be directly executed, that is, the second operating system directly installs the first application program.
  • S808 may be directly executed, that is, the fourth message is directly sent to the second operating system through pipeline communication.
  • FIG. 9 is a schematic flowchart of another control method provided by the embodiment of the present application.
  • both the first client and the emulator in FIG. 9 can be installed on the electronic device, and the electronic device has a first operating system, the emulator includes a second operating system, and the first operating system is different from the second operating system.
  • the first operating system may be a Windows operating system
  • the second operating system may be an Android operating system.
  • the first client can be a client with application providing functions, such as: an application market, which can provide application programs adapted to the second operating system, such as Android applications; the second operating system can be called for the virtual machine. What is described in FIG. 9 is the process of installing an application program in the second operating system through the first client.
  • the difference between Fig. 9 and Fig. 8 is that in Fig. 9, the first client can send the storage path (that is, the shared path) set by the user or information about whether the storage path has changed to the simulator in advance, so that the simulation
  • the controller can know in advance whether the shared path has changed, and then when installing the application, it can directly determine whether to rebuild the virtual device based on the judgment result, avoiding judging whether the shared path has changed during installation, and improving installation efficiency.
  • control method may include the following steps:
  • the first client sends a sixth message to the emulator, where the sixth message is used to indicate the first storage path in the first client.
  • the first client may periodically send the sixth message to the emulator.
  • the sixth message is used to indicate the first storage path in the first client.
  • the first client may also send a sixth message to the emulator after the storage path changes, which is not limited here.
  • the first storage path may be a default download path or a download path changed by the user, and the first storage path may store the installation package of the first application program.
  • the simulator judges whether the first storage path is the same as the second storage path, and stores the judgment result.
  • the emulator may judge whether the first storage path is the same as the second storage path, obtain a judgment result, and store the judgment result.
  • the second storage path is the storage path where the installation package of the application installed last time is located, or is the storage path sent by the first client received by the emulator last time.
  • the first client downloads the installation package of the first application, and puts the installation package into the first storage path.
  • the user may download the first application program on the first client, where the first client may have a default download path, that is, the first storage path.
  • the installation package of the first application program may be stored in the first storage path.
  • the installation operation may be an operation of installing an application program, and may also be an operation of updating an application program, which is not limited here.
  • the first application program may be an Android application program.
  • the first download path can be understood as a shared path.
  • the first client sends a first message to the emulator, where the first message is used to instruct to install the first application program.
  • the application may send a first message to the emulator through IPC to instruct the emulator to install the first application program, so that the emulator installs the first application program.
  • the first message may include one or more of the following: the name of the first application program, the first storage path, or information about whether the second storage path has been modified.
  • the emulator may build the first virtual device based on the first storage path. See the above description for details, and will not repeat them here.
  • the emulator sends a second message to the second operating system, where the second message is used to instruct the second operating system to be mounted on the first virtual device.
  • the emulator can send a second message to the second operating system through pipeline communication to instruct the second operating system to mount to the first virtual device, so that the second operating system can be mounted to the first virtual device.
  • the second message may include a mounting mode and a mounting parameter.
  • Mounting methods include direct mounting or uninstalling and then mounting.
  • the mount parameter includes one or more items of the following: the name of the first virtual device, the directory mounted to the second operating system, or the type of the specified file system.
  • the second operating system can be mounted on the first virtual device according to the mounting method and mounting parameters contained in the second message.
  • the mounting method and mounting parameters contained in the second message For the detailed mounting process, please refer to the description above, which will not be repeated here. repeat.
  • the second operating system sends a third message to the emulator, where the third message is used to indicate that the mounting is successful.
  • the second operating system may send a third message to the emulator through pipeline communication to indicate that the mounting is successful.
  • the second operating system may also send a message indicating the mounting failure to the emulator through pipeline communication.
  • the emulator sends a fourth message to the second operating system, where the fourth message is used to instruct the second operating system to install the first application program.
  • the emulator may send a fourth message to the second operating system through pipeline communication to instruct the second operating system to install the first application program, so that the second operating system The second operating system installs the first application program
  • the second operating system installs the first application program.
  • the second operating system may access the first virtual device, thereby accessing the first storage path, and then obtain the installation package of the first application program stored in the first storage path, and install the first application program.
  • the second operating system sends a fifth message to the emulator, where the fifth message is used to indicate an installation result.
  • the second operating system may send a fifth message indicating the installation result to the emulator through pipeline communication.
  • the installation result may include installation success or installation failure.
  • the emulator sends a sixth message to the first client, where the sixth message is used to indicate a result of installing the first application program by the second operating system.
  • the emulator learns the installation result of the first application program by the second operating system, it can send a sixth message to the first client through the IPC, wherein the sixth message is used to indicate that the second operating system installs the first application program.
  • the result of the application is used to indicate that the second operating system installs the first application program.
  • the first client outputs an installation result.
  • the first client may output the installation result.
  • the first client may output the installation result by one or more of text, graphics, voice, vibration, etc., so as to display the installation result to the user.
  • S908 may be directly executed, that is, directly by sending the fourth message to the virtual machine.
  • S908 may be directly executed, that is, directly by sending the fourth message to the virtual machine.
  • FIG. 10 is a schematic flowchart of another control method provided by the embodiment of the present application.
  • both the first client and the emulator in FIG. 10 can be installed on the electronic device, and the electronic device has a first operating system, the emulator includes a second operating system, and the first operating system is different from the second operating system.
  • the electronic device can be connected with other electronic devices (such as mobile phones, etc.).
  • the first operating system may be a Windows operating system
  • the second operating system may be an Android operating system.
  • the first client may be a client with an application migration function, such as a mobile phone manager; the second operating system may be called a virtual machine.
  • FIG. 10 mainly describes the process of migrating applications (such as Android applications, etc.) on other electronic devices connected to the electronic device to the second operating system through the first client.
  • the method may include the following steps:
  • the first client In response to a user's migration operation on the target application on the first client, the first client puts application data of the target application into a first storage path.
  • the user can use the first client to install the first electronic device used by the user.
  • the target application on the electronic device performs a migration operation.
  • the first client may write the application data of the target application into the first storage path preset by the user or defaulted by the system on the second electronic device.
  • the first client sends a seventh message to the emulator, where the seventh message is used to instruct the emulator to migrate the target application, and the seventh message may include the first storage path.
  • the first client may send the emulator a seventh message for instructing the emulator to migrate the target application.
  • the seventh message may include the name of the target application and the first storage path, or include the name of the target application and a migration identifier used to indicate the first storage path.
  • the simulator judges whether the first storage path is the same as the second storage path.
  • the emulator may compare the first storage path with the second storage path to determine whether the two are the same.
  • the second storage path may be the path recorded by the emulator when the application migration was executed last time.
  • the emulator when the emulator judges that the first storage path is different from the second storage path (that is, the shared path changes), the emulator can build the first virtual device based on the first storage path, see the above description for details, here No longer.
  • the emulator sends a second message to the second operating system, where the second message is used to instruct the second operating system to be mounted to the first virtual device.
  • the emulator can send a second message to the second operating system through pipeline communication to instruct the second operating system to mount to the first virtual device, so that the second operating system can be mounted to the first virtual device.
  • the second message may include a mounting mode and a mounting parameter.
  • Mounting methods include direct mounting or uninstalling and then mounting.
  • the mount parameter includes one or more items of the following: the name of the first virtual device, the directory mounted to the second operating system, or the type of the specified file system.
  • the second operating system can be mounted on the first virtual device according to the mounting method and mounting parameters contained in the second message.
  • the mounting method and mounting parameters contained in the second message For the detailed mounting process, please refer to the description above, which will not be repeated here. repeat.
  • the second operating system sends a third message to the emulator, where the third message is used to indicate that the mounting is successful.
  • the second operating system may send a third message to the emulator through pipeline communication to indicate that the mounting is successful.
  • the second operating system may also send a message indicating the mounting failure to the emulator through pipeline communication.
  • the emulator sends an eighth message to the second operating system, where the eighth message is used to instruct the second operating system to migrate the target application.
  • the emulator may send an eighth message to the second operating system for instructing the second operating system to migrate the target application, so that the second operating system migrates the target application.
  • the second operating system can access the application data of the target application in the first storage path by accessing the mounted first virtual device, and then migrate the target application based on the application data of the target application.
  • the second operating system outputs a target application.
  • the second operating system may output the target application, for example, display an icon of the target application, voice prompt the user that the migration is complete, and so on.
  • the second operating system can also feed back the migration result to the emulator, so that the emulator can feed back the migration result to the first client.
  • the user can start the target application on the second operating system, and can view the historical usage data of the target application in the first electronic device, etc. .
  • the target application is a social application
  • the user may view the chat history of using the target application on the first electronic device in the target application in the second operating system.
  • S1008 may be directly executed, that is, the eighth message is directly sent to the virtual machine.
  • FIG. 11 is a schematic structural diagram of a chip provided by an embodiment of the present application.
  • a chip 1100 includes one or more processors 1101 and an interface circuit 1102 .
  • the chip 1100 may further include a bus 1103 . in:
  • the processor 1101 may be an integrated circuit chip with signal processing capability. In the implementation process, each step of the above method may be implemented by an integrated logic circuit of hardware in the processor 1101 or instructions in the form of software.
  • the above-mentioned processor 1101 may be a general-purpose processor, a digital communicator (DSP), an application-specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components .
  • DSP digital communicator
  • ASIC application-specific integrated circuit
  • FPGA field programmable gate array
  • a general-purpose processor may be a microprocessor, or the processor may be any conventional processor, or the like.
  • the interface circuit 1102 can be used for sending or receiving data, instructions or information.
  • the processor 1101 can use the data, instructions or other information received by the interface circuit 1102 to process, and can send the processing completion information through the interface circuit 1102 .
  • the chip further includes a memory, which may include a read-only memory and a random access memory, and provides operation instructions and data to the processor.
  • a portion of the memory may also include non-volatile random access memory (NVRAM).
  • the memory stores executable software modules or data structures, and the processor can execute corresponding operations by calling operation instructions stored in the memory (the operation instructions can be stored in the operating system).
  • the interface circuit 1102 may be used to output an execution result of the processor 1101 .
  • processor 1101 and the interface circuit 1102 can be realized by hardware design, software design, or a combination of software and hardware, which is not limited here.
  • each step in the foregoing method embodiments may be implemented by logic circuits in the form of hardware or instructions in the form of software in the processor.
  • the chip can be applied to the above-mentioned electronic device A, so as to implement the method performed by the electronic device A provided in the embodiment of the present application.
  • FIG. 12 is a schematic diagram of a hardware structure of an electronic device provided by an embodiment of the present application.
  • the electronic device includes: a processor 1210 , a memory 1220 , a communication interface 1230 , and a bus 1240 .
  • the electronic device may be the electronic device A shown in FIG. 2 .
  • the processor 1210 may be connected to the memory 1220 .
  • the memory 1220 can be used to store the program codes and data. Therefore, the memory 1220 may be a storage unit inside the processor 1210, or an external storage unit independent of the processor 1210, or may include a storage unit inside the processor 1210 and an external storage unit independent of the processor 1210. part.
  • the processor 1210 may be configured to execute the method provided in the embodiment of this application.
  • the electronic device may further include a bus 1240 .
  • the memory 1220 and the communication interface 1230 may be connected to the processor 1210 through the bus 1240 .
  • the bus 1240 may be a peripheral component interconnect standard (peripheral component interconnect, PCI) bus or an extended industry standard architecture (extended industry standard architecture, EISA) bus, etc.
  • PCI peripheral component interconnect
  • EISA extended industry standard architecture
  • the bus 1240 can be divided into address bus, data bus, control bus and so on. For ease of representation, only one line is used in FIG. 12 , but it does not mean that there is only one bus or one type of bus.
  • the processor 1210 may be a CPU.
  • the processor can also be other general-purpose processors, digital signal processors (digital signal processors, DSPs), application specific integrated circuits (application specific integrated circuits, ASICs), off-the-shelf programmable gate arrays (field programmable gate arrays, FPGAs) or other Programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc.
  • a general-purpose processor may be a microprocessor, or the processor may be any conventional processor, or the like.
  • the processor 1210 adopts one or more integrated circuits for executing related programs, so as to implement the technical solutions provided by the embodiments of the present application.
  • the memory 1220 may include read-only memory and random-access memory, and provides instructions and data to the processor 1010 .
  • a portion of processor 1210 may also include non-volatile random access memory.
  • processor 1010 may also store device type information.
  • the processor 1210 executes computer-executable instructions in the memory 1220 to perform the operation steps of the above method.
  • the electronic device may include a hardware layer, an operating system layer running on the hardware layer, and an application layer running on the operating system layer.
  • the hardware layer may include hardware such as a central processing unit (central processing unit, CPU), a memory management unit (memory management unit, MMU), and memory (also called main memory).
  • the operating system of the operating system layer can be any one or more computer operating systems that realize business processing through processes, for example, Linux operating system, Unix operating system, Android operating system, iOS operating system, or windows operating system.
  • the application layer may include applications such as browsers, address books, word processing software, and instant messaging software.
  • processor in the embodiments of the present application may be a central processing unit (central processing unit, CPU), and may also be other general processors, digital signal processors (digital signal processor, DSP), application specific integrated circuits (application specific integrated circuit, ASIC), field programmable gate array (field programmable gate array, FPGA) or other programmable logic devices, transistor logic devices, hardware components or any combination thereof.
  • CPU central processing unit
  • DSP digital signal processor
  • ASIC application specific integrated circuit
  • FPGA field programmable gate array
  • a general-purpose processor can be a microprocessor, or any conventional processor.
  • the method steps in the embodiments of the present application may be implemented by means of hardware, or may be implemented by means of a processor executing software instructions.
  • the software instructions can be composed of corresponding software modules, and the software modules can be stored in random access memory (random access memory, RAM), flash memory, read-only memory (read-only memory, ROM), programmable read-only memory (programmable rom) , PROM), erasable programmable read-only memory (erasable PROM, EPROM), electrically erasable programmable read-only memory (electrically EPROM, EEPROM), register, hard disk, mobile hard disk, CD-ROM or known in the art any other form of storage medium.
  • An exemplary storage medium is coupled to the processor such the processor can read information from, and write information to, the storage medium.
  • the storage medium may also be a component of the processor.
  • the processor and storage medium can be located in the ASIC.
  • all or part of them may be implemented by software, hardware, firmware or any combination thereof.
  • software When implemented using software, it may be implemented in whole or in part in the form of a computer program product.
  • the computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on the computer, the processes or functions according to the embodiments of the present application will be generated in whole or in part.
  • the computer can be a general purpose computer, a special purpose computer, a computer network, or other programmable devices.
  • the computer instructions may be stored in or transmitted via a computer-readable storage medium.
  • the computer instructions may be transmitted from one website site, computer, server, or data center to another website site by wired (such as coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (such as infrared, wireless, microwave, etc.) , computer, server or data center for transmission.
  • the computer-readable storage medium may be any available medium that can be accessed by a computer, or a data storage device including a server, a data center, and the like integrated with one or more available media.
  • the available medium may be a magnetic medium (such as a floppy disk, a hard disk, or a magnetic tape), an optical medium (such as a DVD), or a semiconductor medium (such as a solid state disk (solid state disk, SSD)), etc.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)

Abstract

本申请提供了一种控制方法及电子设备,涉及计算机控制技术领域。通过本方案,在模拟器中的虚拟机运行过程中,当电子设备的应用市场中设置的下载目录发生变化后,模拟器可以基于新的下载目录对虚拟设备进行重构,且模拟器中的虚拟机可以挂载到重构后的虚拟设备,使得模拟器中的虚拟机可以直接访问到新的下载目录中的安装包,以及对新的下载目录中的安装包进行安装,由此实现了在虚拟机运行过程中实时修改宿主机与虚拟机之间的共享路径,且不需要重新启动虚拟机,从而不用关闭虚拟机中当前正在使用的应用,进而不影响虚拟机中当前正在使用的应用。

Description

一种控制方法及电子设备
本申请要求于2021年6月29日提交至中国国家知识产权局、申请号为202110729247.7、申请名称为“一种控制方法及电子设备”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及计算机技术领域,尤其涉及一种控制方法及电子设备。
背景技术
随着个人计算机(personal computer,PC)和手机的进一步融合,在PC产品的系统(如Window系统,IOS系统等)上逐渐能通过模拟器的虚拟化技术使用手机产品的安卓(Android)系统的应用程序(application,APP),进而使得用户可以在PC产品上通过模拟器使用安卓APP。其中,模拟器是一种能够在PC上运行并模拟安卓系统的软件,其能在PC上模拟出安卓系统的运行环境,从而使得用户可以在PC上体验安卓游戏和应用。
目前,对模拟器而言,宿主机(即PC产品上的系统)与虚拟机(即Android系统)的文件共享是极为重要的基础能力。现在大部分的模拟器均采用将宿主文件目录虚拟成设备,挂载到虚拟机中的方式实现文件共享功能。但这种方法有一个明显的缺点,在虚拟机运行过程中,宿主机与虚拟机之间的共享路径无法改变,且若需要更改共享路径,则只能重新启动虚拟机,进而导致虚拟机中正在运行的应用被关闭而受影响。因此,如何在虚拟机运行过程中实现实时修改宿主机与虚拟机之间的共享路径,且不需要重新启动虚拟机,是目前亟需解决的技术问题。
发明内容
本申请提供了一种控制方法及电子设备,能够实现在虚拟机运行过程中实现实时修改宿主机与虚拟机之间的共享路径,且不需要重新启动虚拟机,提升了用户体验。
第一方面,本申请提供了一种控制方法,应用于模拟器,模拟器用于在电子设备上安装,电子设备具有第一操作系统,模拟器中包括第二操作系统,方法包括:响应于接收到的电子设备上第一客户端发送的第一消息,判断第一存储路径与第二存储路径是否相同,其中,第一消息用于指示安装第一应用程序,第一存储路径为第一应用程序的安装包的存储路径;在第一存储路径与第二存储路径不同时,基于第一存储路径,构建第一虚拟设备;向第二操作系统发送第二消息,第二消息用于指示第二操作系统挂载至第一虚拟设备。
这样,在模拟器中的虚拟机运行过程中,当电子设备的客户端(比如应用市场)中设置的下载目录发生变化后,模拟器可以基于新的下载目录对虚拟设备进行重构,且模拟器中的虚拟机可以挂载到重构后的虚拟设备,使得模拟器中的虚拟机(即第二操作系统)可以直接访问到新的下载目录中的安装包,以及对新的下载目录中的安装包进行安装,由此实现了在虚拟机运行过程中实时修改宿主机与虚拟机之间的共享路径,且不需要重新启动虚拟机,从而不用关闭虚拟机中当前正在使用的应用,进而不影响虚拟机中当前正在使用的应用。
在一种可能的实现方式中,第二消息还用于指示第二操作系统安装第一应用程序。
在一种可能的实现方式中,方法还包括:响应于接收到的第二操作系统发送的第三消息,向第二操作系统发送第四消息,第三消息用于表示挂载成功,第四消息用于指示第二操作系统安装第一应用程序。由此,在第二操作系统成功挂载至第一虚拟设备后指示第二操作系统安装第一应用程序。
在一种可能的实现方式中,第一消息中包括以下一项或多项:第一应用程序的名称,第一存储路径,或,第二存储路径是否被修改的信息。
在一种可能的实现方式中,第二消息中包括挂载方式和挂载参数。
在一种可能的实现方式中,挂载方式包括直接挂载或先卸载再挂载。
在一种可能的实现方式中,挂载参数包括以下一项多项:第一虚拟设备的名称,挂载至第二操作系统中的目录,或,指定的文件系统的类型。
在一种可能的实现方式中,在基于第一存储路径,构建第一虚拟设备之前,方法还包括:销毁第二虚拟设备,第二虚拟设备基于第二存储路径构建。
在一种可能的实现方式中,第一客户端为具备应用提供功能的客户端,或者,第一客户端为具备应用迁移功能的客户端。
在一种可能的实现方式中,第一操作系统为Windows操作系统,第二操作系统为安卓操作系统,第一应用程序为安卓应用程序。
在一种可能的实现方式中,第一虚拟设备用于供第二操作系统访问第一存储路径。
在一种可能的实现方式中,第二存储路径为第二应用程序的存储路径,第二应用程序为前次安装的应用程序。
第二方面,本申请提供了一种控制方法,应用于电子设备,电子设备具有第一操作系统,电子设备上安装有模拟器,模拟器中包括第二操作系统,方法包括:响应于用户在电子设备上的第一客户端上对第一应用程序的安装操作,判断第一存储路径与第二存储路径是否相同,第一存储路径为第一应用程序的安装包的存储路径;在第一存储路径与第二存储路径不同时,基于第一存储路径,构建第一虚拟设备,以及将第二操作系统挂载至第一虚拟设备;安装第一应用程序,以及显示第一应用程序。
这样,在模拟器中的虚拟机运行过程中,当电子设备的客户端(比如应用市场)中设置的下载目录发生变化后,模拟器可以基于新的下载目录对虚拟设备进行重构,且模拟器中的虚拟机可以挂载到重构后的虚拟设备,使得模拟器中的虚拟机(即第二操作系统)可以直接访问到新的下载目录中的安装包,以及对新的下载目录中的安装包进行安装,由此实现了在虚拟机运行过程中实时修改宿主机与虚拟机之间的共享路径,且不需要重新启动虚拟机,从而不用关闭虚拟机中当前正在使用的应用,进而不影响虚拟机中当前正在使用的应用。
在一种可能的实现方式中,第一客户端为具备应用提供功能的客户端,或者,第一客户端为具备应用迁移功能的客户端。
在一种可能的实现方式中,第一操作系统为Windows操作系统,第二操作系统为安卓操作系统,第一应用程序为安卓应用程序。
在一种可能的实现方式中,第一虚拟设备用于供第二操作系统访问第一存储路径。
在一种可能的实现方式中,在基于第一存储路径,构建第一虚拟设备之前,方法还包括:
销毁第二虚拟设备,第二虚拟设备基于第二存储路径构建。
在一种可能的实现方式中,第二存储路径为第二应用程序的存储路径,第二应用程序为前次安装的应用程序。
第三方面,本申请提供一种控制装置,该装置包括用于执行上述第一方面中的方法的单元。该装置可对应于执行上述第一方面中描述的方法,该装置中的单元的相关描述请参照上述第一方面的描述,为了简洁,在此不再赘述。示例性的,该控制装置可以为模拟器。
其中,上述第一方面描述的方法可以通过硬件实现,也可以通过硬件执行相应的软件实现。硬件或软件包括一个或多个与上述功能相对应的模块或单元。例如,处理模块或单元、显示模块或单元等。
第四方面,本申请提供一种电子设备,电子设备包括处理器,处理器与存储器耦合,存储器用于存储计算机程序或指令,处理器用于执行存储器存储的计算机程序或指令,使得第一方面或第二方面中的方法被执行。
例如,处理器用于执行存储器存储的计算机程序或指令,使得该电子设备执行第一方面中的方法。
第五方面,本申请提供一种计算机可读存储介质,其上存储有用于实现第一方面或第二方面中的方法的计算机程序(也可称为指令或代码)。
例如,该计算机程序被计算机执行时,使得该计算机可以执行第一方面或第二方面中的方法。
第六方面,本申请提供一种芯片,包括处理器。处理器用于读取并执行存储器中存储的计算机程序,以执行第一方面或第二方面中的方法。
可选地,芯片还包括存储器,存储器与处理器通过电路或电线连接。
第七方面,本申请提供一种芯片系统,包括处理器。处理器用于读取并执行存储器中存储的计算机程序,以执行第一方面或第二方面中的方法。
可选地,芯片系统还包括存储器,存储器与处理器通过电路或电线连接。
第八方面,本申请提供一种计算机程序产品,计算机程序产品包括计算机程序(也可称为指令或代码),计算机程序被计算机执行时使得计算机实现第一方面或第二方面中的方法。
可以理解的是,上述第三方面至第八方面的有益效果可以参见上述第一方面或第二方面中的相关描述,在此不再赘述。
附图说明
图1是本申请实施例提供的一种应用场景示意图;
图2是本申请实施例的一种电子设备的结构框图;
图3是本申请实施例的一种电子设备的界面显示示意图;
图4a是本申请实施例的一种电子设备的界面显示示意图;
图4b是本申请实施例的一种电子设备的界面显示示意图;
图5是本申请实施例的一种电子设备的界面显示示意图;
图6是本申请实施例的一种电子设备的界面显示示意图;
图7是本申请实施例的一种电子设备的界面显示示意图;
图8是本申请实施例提供的一种控制方法的流程示意图;
图9是本申请实施例提供的另一种控制方法的流程示意图;
图10是本申请实施例提供的又一种控制方法的流程示意图;
图11是本申请实施例的一种芯片的结构示意图;
图12是本申请实施例提供的一种电子设备的硬件结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本文中术语“和/或”,是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。本文中符号“/”表示关联对象是或者的关系,例如A/B表示A或者B。
本文中的说明书和权利要求书中的术语“第一”和“第二”等是用于区别不同的对象,而不是用于描述对象的特定顺序。例如,第一响应消息和第二响应消息等是用于区别不同的响应消息,而不是用于描述响应消息的特定顺序。
在本申请实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
在本申请实施例的描述中,除非另有说明,“多个”的含义是指两个或者两个以上,例如,多个处理单元是指两个或者两个以上的处理单元等;多个元件是指两个或者两个以上的元件等。
首先对本方案中涉及的技术术语进行介绍。
(1)挂载
挂载(mount)是指把某个设备与目录树中的某个特定位置进行关联,以便于操作系统能够从根目录开始找到这个刚刚加入的设备,从而访问该设备的内的文件数据。其中,这里的设备是泛指,其可以是硬盘或光盘存储器等这样真实的设备,也可以是操作系统中的某个目录,亦可以是其他的虚拟设备等。
举例来说,当需要访问存储在U盘(USB flash disk)上的数据时,为了使计算机中的操作系统找到U盘,必须要把U盘挂载到操作系统中目录树结构的某个位置下(比如,/media/usb/)。假设U盘设备是/dev/usb,那么在把U盘插入计算机时,计算机对应执行的命令就是:mount/dev/usb/media/usb,即将U盘挂载到/media/usb/目录下。在计算机执行上述命令后,U盘中的文件就对计算机中的操作系统可见了,比如在U盘中的某个文件位于/dir/hello.txt,那么操作系统可访问的对应路径就是/media/usb/dir/hello.txt。
接下来对本申请实施例中的技术方案进行描述。
图1是本申请实施例提供的一种应用场景示意图。如图1所示,电子设备A上安装有模拟器11和应用市场12。模拟器11可以在电子设备A上模拟出安卓系统的运行环境,且能够运行安卓系统。应用市场12可以提供与电子设备A上配置的系统适配的应用,同时也可以提供与安卓系统适配的应用。例如,当电子设备A上配置的系统为windows系统时,应用市场12可以提供windows应用,也可以提供安卓应用,其中,windows应用的安装包的后缀可以为.exe,安卓应用的安卓包的后缀可以为.apk;当电子设备A上配置的系统为ios系统时,应用市场12可以提供ios应用,也可以提供安卓应用,ios应用的安装包的后缀可以为.ipa, 安卓应用的安卓包的后缀可以为.apk。
本方案中,用户可以在应用市场12中设置安卓应用的下载目录,该下载目录可以理解为宿主机(即电子设备A上配置的系统)与虚拟机(即模拟器12中的安卓系统)之间的共享路径。在模拟器12中的虚拟机运行过程中,当应用市场12中设置的下载目录发生变化后,模拟器12可以基于新的下载目录对虚拟设备进行重构,且模拟器12中的虚拟机可以挂载重构后的虚拟设备,从而使得模拟器12中的虚拟机可以直接访问到新的下载目录中的安装包,以及对新的下载目录中的安装包进行安装。由此,实现在虚拟机运行过程中实时修改宿主机与虚拟机之间的共享路径,使得虚拟机可以访问到修改后的共享路径中的数据且不需要重新启动虚拟机,从而不用关闭虚拟机中当前正在使用的应用,进而不影响虚拟机中当前正在使用的应用。
可以理解的是,电子设备A上配置的系统可以为windows系统,也可以为ios系统,亦可以为其他的操作系统,具体可根据实际情况而定,在此不做限定。此外,电子设备A可以为移动终端,也可以为非移动终端。示例性的,移动终端可以为平板电脑、笔记本电脑、掌上电脑、车载终端等,非移动终端可以为个人计算机(personal computer,PC)、电视机(television,TV)、柜员机或者自助机等,在此不做具体限定。
接下来,基于图1所示的场景,以电子设备A上配置的系统为windows系统为例,对本方案中涉及的电子设备的结构进行介绍。
图2是本申请实施例的一种电子设备的结构框图。如图2所示,电子设备A可以是搭载windows系统的电子设备,在该windows系统下可以安装多个应用,比如模拟器11(模拟器名称.exe)。其中,模拟器11可以是搭载安卓系统111的应用,安卓系统111下可以包括安卓应用和文件管理器。示例性的,安卓应用可以为电子邮件应用、华为视频应用等。文件管理器可以理解为文件管理工具,利用该文件管理器可以对安卓系统111中的文件进行管理,例如查看文件、编辑文件、删除文件、移动文件等等。
本方案中,安卓系统111可以挂载到模拟器11构建的虚拟设备上。在安卓系统111挂载到虚拟设备上后,安卓系统111可以访问电子设备A中windows系统中的共享文件夹13,该共享文件夹13可以位于电子设备A中windows系统的磁盘目录中。其中,用户从电子设备A的应用市场中下载的安卓应用的安装包可以存储在共享文件夹13中,以便安卓系统111可以从共享文件夹13中获取到安卓应用,并进行安装。可以理解的是,本方案中,共享文件夹13可以通过电子设备A的应用市场进行设定。此外,安卓系统111中的虚拟设备可以理解为是磁盘,可以将其形象的理解为个人计算机中的C盘或D盘,其可以为安卓系统提供数据存储空间。
接下来,基于图1所示的场景和图2所示的电子设备的结构,对本方案中涉及的控制方法进行介绍。
(1)修改电子设备A中的共享路径
继续参阅图1,用户可以打开(如双击或单击等)电子设备A上应用市场12。之后,电子设备A的显示界面可以由图1所示的界面进入到如图3所示的界面。在图3中,用户可以通过应用市场12中的“设置”的入口查看到共享路径((即下载目录))的修改入口121。接着,用户可以从修改入口121对共享路径进行修改。例如,将下载目录由“D: Download\AppGallery”修改为“E:Download\AppGallery”。
(2)在电子设备A上安装安卓应用
继续参阅图1,用户可以打开(如双击或单击等)电子设备A上应用市场12。之后,电子设备A的显示界面可以由图1所示的界面进入到如图4所示的界面。在图4a中,用户可以通过应用市场12中的“安卓应用”的入口查看或搜索到可以安装的安卓应用。接着,用户可以从中选取一个安卓应用a,并选择安卓应用a对应的安装控件122。之后,电子设备A则从应用市场12中下载(即获取)安卓应用a,以及将该安卓应用a的安装包存储至电子设备A中的共享路径(即下载目录)中。例如,可以将安卓应用a存储至“E:Download\AppGallery”这一下载目录下。在一个例子中,在电子设备A下载和/或安装安卓应用a的过程中,如图4b所示,可以在安卓应用a的对应的安装控件(如图4a中的122所示)更新显示为显示控件(如图4b中的123所示),从而使得用户可以通过显示控件123实时观察到下载和/或安装进度。
在电子设备A将安卓应用a下载完成后,应用市场12可以通过进程间通信(inter-process communication,IPC)向模拟器11发送安装命令,以及发送安卓应用a的应用名称信息和安装包存储路径信息(即共享路径信息)等。
可以理解的是,当电子设备A中的模拟器11未处于开启状态时,电子设备A可以控制模拟器11静默开启。示例性的,在模拟器11未处于开启状态时,电子设备A可以向模拟器11发送后台启动指令,以指示模拟器11在后台启动;接着,模拟器11接收到后台启动指令后,可以在后台启动并运行,由此实现控制模拟器11静默开启。
(3)模拟器校验共享路径是否发生变化
电子设备A中的模拟器11通过IPC接收到应用市场12发送的安装命令,以及安卓应用a的应用名称信息和安装包存储路径信息(即共享路径信息)之后,模拟器11可以对共享路径信息进行校验,以便确定共享路径是否发生变化。
在一个例子中,模拟器11中可以至少记录有前次接收到的共享路径信息。接着,在模拟器11本次接收到共享路径信息之后,模拟器11可以将本次接收到的共享路径信息与前次接收到的共享路径信息进行比对,以确定共享路径是否发生变化。例如,前次接收到的共享路径信息为“D:Download\AppGallery”,本次接收到的共享路径信息为“E:Download\AppGallery”,将两者对比可知共享路径已发生变化。
在一个例子中,电子设备A中也可以记录共享路径的修改信息。此时,电子设备A可以基于其记录的修改信息,确定出此次的共享路径是否发生变化。其中,当电子设备A确定出此次的共享路径发生变化时,电子设备A可以向模拟器11发送用于指示共享路径发生变化的消息。之后,模拟器11接收到电子设备A发送的用于指示共享路径发生变化的消息后,模拟器11即可以获知到共享路径已发生变化。
需说明的是,本方案中,当共享路径发生变化时,模拟器11则可以进行动态挂载。当共享路径未发生变化时,模拟器11则可以不进行动态挂载,并向模拟器11中的虚拟机(即安卓系统)发送安装命令,以指示模拟器11中的虚拟机安装安卓应用a。
(4)模拟器动态挂载
a、模拟器重构虚拟设备
本方案中,当共享路径发生变化时,模拟器11可以销毁原有的虚拟设备,以及基于新的共享路径,构建新的虚拟设备,即虚拟设备的软件初始化。示例性的,模拟器11在构建新的虚拟设备时,模拟器11可以向电子设备A的操作系统申请内存,然后模拟器11再设置相应的行为处理函数,比如读取或写入所需的处理函数,以及将共享路径作为相应的行为处理函数的读写目录,即,该行为处理函数的读写均是在共享路径中进行的;最后,将行为处理函数注册到模拟器中,即可以构建出可以指向共享路径的新的虚拟设备,这样当访问虚拟设备时就可以访问到共享路径中的文件,由此即完成虚拟设备的软件初始化。示例性的,该虚拟设备可以供模拟器11中的虚拟机访问电子设备A的硬盘,其是一个虚拟的设备,其可以指向电子设备A中系统下的某个路径,比如,用户设置的共享路径。其中,当虚拟设备指向电子设备A中系统下用户设置的共享路径时,模拟器11中的虚拟机可以通过该虚拟设备访问到该共享路径。
模拟器11构建新的虚拟设备后,可以通过管道通信(communication pipeline)或者基于共享内存的通信向其内的虚拟机(即安卓系统)发送挂载命令,以便虚拟机挂载到新的虚拟设备上。
本方案中,挂载命令可以包括挂载方式和挂载参数。其中,挂载方式可以包括直接挂载或先卸载再挂载;挂载参数可以包括:最小存储单元大小,所需挂载的虚拟设备的标识(比如名称等),挂载到虚拟机中的目录,或,指定的文件系统的类型等。在一个例子中,最小存储单元大小可以理解为为虚拟设备分配的最小存储位置的大小。在一个例子中,若在虚拟机的挂载列表中存在与本次新构建的虚拟设备的名称相同的设备,则表明本次新构建的虚拟设备不是首次挂载,因此为了避免出现冲突,挂载方式可以为先卸载再挂载,即先卸载原有的虚拟设备,再挂载到新的虚拟设备上。若在虚拟机的挂载列表中不存在与本次新构建的虚拟设备的名称相同的设备,则挂载方式可以为直接挂载。在一个例子中,指定的文件系统的类型可以为9p文件系统(plan 9 file system,9pfs)。
在一个例子中,若模拟器11中的虚拟机当前处于休眠状态,模拟器11则可以向其内的虚拟机发送唤醒指令,以唤醒其内的虚拟机。
b、模拟器中的虚拟机挂载到新的虚拟设备
模拟器11中的虚拟机接收到模拟器11发送的挂载命令后,可以卸载原有的虚拟设备,并挂载到新的虚拟设备上。举例来说,假设虚拟设备的名称为:virtual_disk,挂载到虚拟机中的目录是:\data\media,那么虚拟机对应执行的命令就是:mountvirtual_disk\data\media,即将新的虚拟设备挂载到\data\media目录下;之后,虚拟机直接访问\data\media,就可以访问到虚拟设备。由于虚拟设备是指向共享路径的,因此,当虚拟机访问到虚拟设备时,即可以访问到共享路径中的文件。示例性的,虚拟设备可以理解为宿主机与虚拟机之间的文件共享媒介。
在虚拟机挂载到新的虚拟设备上后,虚拟机可以将挂载结果反馈给模拟器11,以便模拟器11获知到反馈结果。
(5)模拟器中的虚拟机安装安卓应用
模拟器11在获知到其内的虚拟机已成功挂载到新的虚拟设备上后,可以向虚拟机发送安装命令,以及安卓应用a的应用名称信息。
接着,虚拟机接收到模拟器11发送的安装命令后,可以基于安卓应用a的应用名称信息,访问虚拟设备,进而从虚拟设备所指向的共享路径中访问到安卓应用a的安装包。之后,虚拟机即可以安装安卓应用a。当虚拟机安装成功后,可以将安装结果反馈给模拟器11,以便模拟器获知到安装结果。
此外,在虚拟机成功安装安卓应用a后,如图5所示,在虚拟机中可以显示安卓应用a的快捷方式图标,从而便于用户在虚拟机中对安卓应用a进行启动或卸载等操作。
可以理解的是,当模拟器11在获知到其内的虚拟机挂载失败后,可以向用户呈现失败信息,以便用户获知到挂载失败的结果,以及供用户选择是否重新进行挂载。示例性的,如图6所示,在挂载失败后,可以在安卓应用a的对应的安装控件(如图4a中的122所示)更新显示为重试控件(如图6中的124所示);之后,当用户点击重试控件124后,即可以重新进行挂载。
(6)应用市场显示安装结果
模拟器11获知到安装结果后,可以将安装结果通过IPC发送至应用市场12。之后,应用市场12可以显示安装结果,如安装成功或失败等。示例性的,如图7所示,在安装成功后,可以在安卓应用a的对应的安装控件(如图4a中的122所示)更新显示为开启控件或打开控件(如图7中的125所示)。至此即完成安卓应用的安装。
可以理解的是,若在安装安卓应用时,电子设备A中的模拟器11处于未开启状态,则在安卓应用安卓完毕后,可以将模拟器11的状态还原到未开启状态(即初始状态)。此外,上述方案除了适用于安装安卓应用外,也同样适用于更新安卓应用,其中,更新安卓应用的过程与安装安卓应用的过程相同,此处不再赘述。
需说明的是,上述(1)、(2)、(3)、(4)、(5)、(6)并不构成对本方案中各个流程执行顺序的限制,它们之间可以选择性的调换顺序。
由此,本方案中,在模拟器中的虚拟机运行过程中,当电子设备的应用市场中设置的下载目录发生变化后,模拟器可以基于新的下载目录对虚拟设备进行重构,且模拟器中的虚拟机可以挂载到重构后的虚拟设备,使得模拟器中的虚拟机可以直接访问到新的下载目录中的安装包,以及对新的下载目录中的安装包进行安装,由此实现了在虚拟机运行过程中实时修改宿主机与虚拟机之间的共享路径,且不需要重新启动虚拟机,从而不用关闭虚拟机中当前正在使用的应用,进而不影响虚拟机中当前正在使用的应用。
为便于理解,下面举例描述本方案中提供的控制方法。
示例性的,图8是本申请实施例提供的一种控制方法的流程示意图。其中,图8中的第一客户端和模拟器均可以安装在电子设备上,且电子设备具有第一操作系统,模拟器中包括第二操作系统,第一操作系统不同于第二操作系统。示例性的,第一操作系统可以为Windows操作系统,第二操作系统可以为安卓操作系统。示例性的,第一客户端可以为具备应用提供功能的客户端,比如:应用市场,该应用市场可以提供适配于第二操作系统的应用程序,如安卓应用;第二操作系统可以称之为虚拟机。其中,图8中描述的是通过第一客户端在第二操作系统中安装应用程序的过程。
如图8所示,该控制方法可以包括以下步骤:
S801、响应于用户在第一客户端上对第一应用程序的安装操作,第一客户端下载第一应用程序的安装包,并将该安装包放入第一存储路径。
具体的,用户可以在第一客户端中下载第一应用程序,其中,第一客户端中可以有默认的下载路径,即第一存储路径。此外,在用户下载第一应用程序前,用户也可以更改第一下载路径。其中,第一应用程序的安装包可以存放于第一存储路径中。示例性的,安装操作可以为安装应用程序的操作,也可以为更新应用程序的操作,此处不做限定。示例性的,第一应用程序可以为安卓应用程序。示例性的,该第一下载路径可以理解为共享路径。
S802、第一客户端向模拟器发送第一消息,第一消息用于指示安装第一应用程序。
具体的,第一客户端下载完成后,可以通过IPC向模拟器发送应用指示模拟器安装第一应用程序的第一消息,以便模拟器安装第一应用程序。示例性的,该第一消息可以包括以下一项或多项:第一应用程序的名称,第一存储路径,或,第二存储路径是否被修改的信息。
S803、模拟器判断第一存储路径与第二存储路径是否相同,第一存储路径为第一应用程序的安装包的存储路径。
具体的,模拟器可以对第一应用程序的安装包的第一存储路径(即共享路径)进行校验,以确定第一存储路径与第二存储路径是否相同,进而确定出共享路径是否发生变化。其中,第二存储路径可以为前次安装的应用程序的存储路径,也可以为第一客户端上默认的存储路径。
示例性的,模拟器可以通过将第一存储路径与其记录的存储路径信息(即共享路径信息)进行比对,以确定共享路径是否发生变化。此外,第一客户端也可以将第二存储路径是否被修改的信息发送给模拟器,这样模拟器即可以确定出共享路径是否发生变化。
S804、模拟器在判断出第一存储路径与第二存储路径不同时,基于第一存储路径,构建第一虚拟设备。
具体的,当模拟器判断出第一存储路径与第二存储路径不同(即共享路径发生变化)时,模拟器可以基于第一存储路径,构建第一虚拟设备。示例性的,在构建第一虚拟设备时,模拟器可以向电子设备的第一操作系统申请内存,然后模拟器再设置相应的行为处理函数,比如读取或写入所需的处理函数,以及将第一存储路径作为相应的行为处理函数的读写目录,即,该行为处理函数的读写均是在第一存储路径中进行的;最后,将行为处理函数注册到模拟器中,即可以构建出可以指向第一存储路径的第一虚拟设备。其中,当模拟器中的第二操作系统访问该第一虚拟设备时,即可以访问到第一存储路径。
在一个例子中,在构建第一虚拟设备前,模拟器可以先销毁基于第二存储路径构建的第二虚拟设备。
S805、模拟器向第二操作系统发送第二消息,第二消息用于指示第二操作系统挂载至第一虚拟设备。
具体的,模拟器创建出第一虚拟设备后,可以通过管道通信向第二操作系统发送用于指示第二操作系统挂载至第一虚拟设备的第二消息,以便第二操作系统挂载到第一虚拟设备上。
示例性的,第二消息中可以包括挂载方式和挂载参数。挂载方式包括直接挂载或先卸载再挂载。挂载参数包括以下一项多项:第一虚拟设备的名称,挂载至第二操作系统中的目录,或,指定的文件系统的类型。
S806、第二操作系统挂载到第一虚拟设备上。
具体的,第二操作系统可以根据第二消息中所包含的挂载方式和挂载参数,挂载到第一 虚拟设备上,详细的挂载过程,详见上文中的描述,此处不再赘述。
S807、第二操作系统向模拟器发送第三消息,第三消息用于表示挂载成功。
具体地,第二操作系统在成功挂载至第一虚拟设备上后,可以通过管道通信向模拟器发送用于表示挂载成功的第三消息。此外,第二操作系统也可以在挂载失败时,通过管道通信向模拟器发送用于表示挂载失败的消息。
S808、响应于接收到的第三消息,模拟器向第二操作系统发送第四消息,第四消息用于指示第二操作系统安装第一应用程序。
具体的,模拟器获知到第二操作系统成功挂载至第一虚拟设备后,可以通过管道通信向第二操作系统发送用于指示第二操作系统安装第一应用程序的第四消息,以便第二操作系统安装第一应用程序。
S809、第二操作系统安装第一应用程序。
具体地,第二操作系统可以访问第一虚拟设备,从而访问到第一存储路径,进而获取到存储在第一存储路径中的第一应用程序的安装包,并安装第一应用程序。
S810、第二操作系统向模拟器发送第五消息,第五消息用于表示安装结果。
具体地,第二操作系统可以通过管道通信向模拟器发送用于表示安装结果的第五消息。其中,安装结果可以包括安装成功或安装失败。
S811、模拟器向第一客户端发送第六消息,第六消息用于表示第二操作系统安装第一应用程序的结果。
具体地,模拟器获知到第二操作系统对第一应用程序的安装结果后,可以通过I PC向第一客户端发送第六消息,其中,第六消息用于表示第二操作系统安装第一应用程序的结果。
S812、第一客户端输出安装结果。
具体地,第一客户端获知到第二操作系统安装第一应用程序的结果后,可以输出该安装结果。示例性的,第一客户端可以通过文字方式、图形方式、语音方式、振动方式等中的一种或多种输出该安装结果,以便向用户展示安装结果。
可以理解的是,S805中的第二消息还可以用于指示第二操作系统安装第一应用程序,即在第二操作系统挂载到第一虚拟设备上后,第二操作系统可以安装第一应用程序。此时,在S806中当第二操作系统成功挂载至第一虚拟设备后,可以直接执行S809,即第二操作系统直接安装第一应用程序。
可以理解的是,在S803处,若判断出共享路径未发生变化,则可以直接执行S808,即直接通过管道通信向第二操作系统发送第四消息。上述各个步骤的详细描述可参考上文中的相关描述,在此就不再一一赘述。
接下来,基于上文所描述的内容,对本申请实施例提供的另一种控制方法进行描述。
示例性的,图9是本申请实施例提供的另一种控制方法的流程示意图。其中,图9中的第一客户端和模拟器均可以安装在电子设备上,且电子设备具有第一操作系统,模拟器中包括第二操作系统,第一操作系统不同于第二操作系统。示例性的,第一操作系统可以为Windows操作系统,第二操作系统可以为安卓操作系统。示例性的,第一客户端可以为具备应用提供功能的客户端,比如:应用市场,该应用市场可以提供适配于第二操作系统的应用程序,如安卓应用;第二操作系统可以称之为虚拟机。图9中描述的是通过第一客户端在第二操作系统中安装应用程序的过程。其中,图9与图8的不同之处在于,图9中是第一客户端可以预 先将用户设置的存储路径(即共享路径)或者存储路径是否发生变化的信息发送至模拟器,从而使得模拟器可以预先获知到共享路径是否发生变化,进而在安装应用程序时,可以直接基于判断结果确定是否重新构建虚拟设备,避免在安装时判断共享路径是否发生变化,提升安装效率。
如图9所示,该控制方法可以包括以下步骤:
S901、第一客户端向模拟器发送第六消息,第六消息用于表示第一客户端中的第一存储路径。
具体地,第一客户端可以周期性向模拟器发送第六消息。其中,第六消息用于表示第一客户端中的第一存储路径。此外,第一客户端也可以在存储路径发生变化后向模拟器发送第六消息,此处不做限定。其中,第一存储路径可以是默认的下载路径,也可以是用户更改后的下载路径,该第一存储路径可以存放第一应用程序的安装包。
S902、模拟器判断第一存储路径与第二存储路径是否相同,并存储判断结果。
具体地,模拟器接收到第六消息后,可以判断第一存储路径与第二存储路径是否相同,进而得到判断结果,并存储该判断结果。其中,第二存储路径为前次安装应用的安装包所在的存储路径,或者为模拟器前次接收到的第一客户端发送的存储路径。
S903、响应于用户在第一客户端上对第一应用程序的安装操作,第一客户端下载第一应用程序的安装包,并将该安装包放入第一存储路径。
具体的,用户可以在第一客户端中下载第一应用程序,其中,第一客户端中可以有默认的下载路径,即第一存储路径。此外,在用户下载第一应用程序前,用户也可以更改第一下载路径。其中,第一应用程序的安装包可以存放于第一存储路径中。示例性的,安装操作可以为安装应用程序的操作,也可以为更新应用程序的操作,此处不做限定。示例性的,第一应用程序可以为安卓应用程序。示例性的,该第一下载路径可以理解为共享路径。
S904、第一客户端向模拟器发送第一消息,第一消息用于指示安装第一应用程序。
具体的,第一客户端下载完成后,可以通过IPC向模拟器发送应用指示模拟器安装第一应用程序的第一消息,以便模拟器安装第一应用程序。示例性的,该第一消息可以包括以下一项或多项:第一应用程序的名称,第一存储路径,或,第二存储路径是否被修改的信息。
S905、模拟器在判断结果为存储路径发生变化时,基于第一存储路径,构建第一虚拟设备。
具体的,当判断结果为存储路径发生变化(即共享路径发生变化)时,模拟器可以基于第一存储路径,构建第一虚拟设备,详见上文描述,此处不再赘述。
S906、模拟器向第二操作系统发送第二消息,第二消息用于指示第二操作系统挂载至第一虚拟设备。
具体的,模拟器创建出第一虚拟设备后,可以通过管道通信向第二操作系统发送用于指示第二操作系统挂载至第一虚拟设备的第二消息,以便第二操作系统挂载到第一虚拟设备上。示例性的,第二消息中可以包括挂载方式和挂载参数。挂载方式包括直接挂载或先卸载再挂载。挂载参数包括以下一项多项:第一虚拟设备的名称,挂载至第二操作系统中的目录,或,指定的文件系统的类型。
S907、第二操作系统挂载到第一虚拟设备上。
具体的,第二操作系统可以根据第二消息中所包含的挂载方式和挂载参数,挂载到第一虚拟设备上,详细的挂载过程,详见上文中的描述,此处不再赘述。
S908、第二操作系统向模拟器发送第三消息,第三消息用于表示挂载成功。
具体地,第二操作系统在成功挂载至第一虚拟设备上后,可以通过管道通信向模拟器发送用于表示挂载成功的第三消息。此外,第二操作系统也可以在挂载失败时,通过管道通信向模拟器发送用于表示挂载失败的消息。
S909、响应于接收到的第三消息,模拟器向第二操作系统发送第四消息,第四消息用于指示第二操作系统安装第一应用程序。
具体的,模拟器获知到第二操作系统成功挂载至第一虚拟设备后,可以通过管道通信向第二操作系统发送用于指示第二操作系统安装第一应用程序的第四消息,以便第二操作系统安装第一应用程序
S910、第二操作系统安装第一应用程序。
具体地,第二操作系统可以访问第一虚拟设备,从而访问到第一存储路径,进而获取到存储在第一存储路径中的第一应用程序的安装包,并安装第一应用程序。
S911、第二操作系统向模拟器发送第五消息,第五消息用于表示安装结果。
具体地,第二操作系统可以通过管道通信向模拟器发送用于表示安装结果的第五消息。其中,安装结果可以包括安装成功或安装失败。
S912、模拟器向第一客户端发送第六消息,第六消息用于表示第二操作系统安装第一应用程序的结果。
具体地,模拟器获知到第二操作系统对第一应用程序的安装结果后,可以通过I PC向第一客户端发送第六消息,其中,第六消息用于表示第二操作系统安装第一应用程序的结果。
S913、第一客户端输出安装结果。
具体地,第一客户端获知到第二操作系统安装第一应用程序的结果后,可以输出该安装结果。示例性的,第一客户端可以通过文字方式、图形方式、语音方式、振动方式等中的一种或多种输出该安装结果,以便向用户展示安装结果。
可以理解的是,在S904处,若判断结果为共享路径未发生变化,则可以直接执行S908,即直接通过向虚拟机发送第四消息。上述各个步骤的详细描述可参考上文中的相关描述。此外,S902与S903之间可以间隔预设时长,也可以是在执行完S902后,立即执行S903,此处不做限定。
接下来,基于上文所描述的内容,对本申请实施例提供的又一种控制方法进行描述。
示例性的,图10是本申请实施例提供的又一种控制方法的流程示意图。其中,图10中的第一客户端和模拟器均可以安装在电子设备上,且电子设备具有第一操作系统,模拟器中包括第二操作系统,第一操作系统不同于第二操作系统。此外,电子设备可以与其他的电子设备(比如手机等)相连。示例性的,第一操作系统可以为Windows操作系统,第二操作系统可以为安卓操作系统。示例性的,第一客户端可以为具备应用迁移功能的客户端,比如:手机管家等;第二操作系统可以称之为虚拟机。图10中主要描述的是通过第一客户端将与电子设备相连的其他的电子设备上的应用(比如安卓应用等)迁移到第二操作系统中的过程。
如图10所示,该方法可以包括以下步骤:
S1001、响应于用户在第一客户端上对目标应用的迁移操作,第一客户端将目标应用的应用数据放入第一存储路径。
具体的,当用户将其所使用的第一电子设备(比如:手机)与安装有模拟器的第二电子 设备建立连接后,用户可以在第一客户端中对安装于用户所使用的第一电子设备上的目标应用进行迁移操作。第一客户端在接收到用户对目标应用的迁移操作后,可以将目标应用的应用数据写入至第二电子设备上用户预先设置或系统默认的第一存储路径中。
S1002、第一客户端向模拟器发送第七消息,第七消息用于指示模拟器迁移目标应用,第七消息中可以包括第一存储路径。
具体地,第一客户端可以向模拟器发送用于指示模拟器迁移目标应用的第七消息。示例性的,第七消息中可以包括目标应用的名称和第一存储路径,或者包括目标应用的名称,和用于表示第一存储路径的迁移标识。
S1003、模拟器判断第一存储路径与第二存储路径是否相同。
具体的,模拟器可以将第一存储路径与第二存储路径进行对比,以确定出两者是否相同。其中,第二存储路径可以为模拟器记录的前次执行应用迁移时的路径。
S1004、模拟器在判断出第一存储路径与第二存储路径不同时,基于第一存储路径,构建第一虚拟设备。
具体的,当模拟器判断出第一存储路径与第二存储路径不同(即共享路径发生变化)时,模拟器可以基于第一存储路径,构建第一虚拟设备,详见上文描述,此处不再赘述。
S1005、模拟器向第二操作系统发送第二消息,第二消息用于指示第二操作系统挂载至第一虚拟设备。
具体的,模拟器创建出第一虚拟设备后,可以通过管道通信向第二操作系统发送用于指示第二操作系统挂载至第一虚拟设备的第二消息,以便第二操作系统挂载到第一虚拟设备上。示例性的,第二消息中可以包括挂载方式和挂载参数。挂载方式包括直接挂载或先卸载再挂载。挂载参数包括以下一项多项:第一虚拟设备的名称,挂载至第二操作系统中的目录,或,指定的文件系统的类型。
S1006、第二操作系统挂载到第一虚拟设备上。
具体的,第二操作系统可以根据第二消息中所包含的挂载方式和挂载参数,挂载到第一虚拟设备上,详细的挂载过程,详见上文中的描述,此处不再赘述。
S1007、第二操作系统向模拟器发送第三消息,第三消息用于表示挂载成功。
具体地,第二操作系统在成功挂载至第一虚拟设备上后,可以通过管道通信向模拟器发送用于表示挂载成功的第三消息。此外,第二操作系统也可以在挂载失败时,通过管道通信向模拟器发送用于表示挂载失败的消息。
S1008、响应于接收到的第三消息,模拟器向第二操作系统发送第八消息,第八消息用于指示第二操作系统迁移目标应用。
具体的,模拟器获知到虚拟机挂载成功后,可以向第二操作系统发送用于指示第二操作系统迁移目标应用的第八消息,以便第二操作系统迁移目标应用。
S10010、第二操作系统迁移目标应用。
具体地,第二操作系统接收到第八消息后,可以通过访问其挂载的第一虚拟设备访问到第一存储路径中目标应用的应用数据,进而基于目标应用的应用数据,迁移目标应用。
S1010、第二操作系统输出目标应用。
具体地,第二操作系统完成目标应用的迁移工作后,可以输出目标应用,例如显示目标应用的图标,语音提示用户迁移完成等等。此外,第二操作系统也可以向模拟器反馈迁移结果,从而使得模拟器可以将迁移结果反馈至第一客户端。
示例性的,在第二操作系统完成目标应用的迁移工作后,用户可以在第二操作系统上开启目标应用,并可以从目标应用中查看到其在第一电子设备内的历史使用数据等等。例如,当目标应用为社交类应用时,用户可以在第二操作系统中的目标应用中查看到其在第一电子设备上使用目标应用的聊天记录。
可以理解的是,在S1003处,若判断出共享路径未发生变化,则可以直接执行S1008,即直接向虚拟机发送第八消息。上述各个步骤的详细描述可参考上文中的相关描述,在此就不再一一赘述。
基于上述实施例中的方法,本申请实施例还提供了一种芯片。请参阅图11,图11为本申请实施例提供的一种芯片的结构示意图。如图11所示,芯片1100包括一个或多个处理器1101以及接口电路1102。可选的,芯片1100还可以包含总线1103。其中:
处理器1101可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器1101中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器1101可以是通用处理器、数字通信器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。接口电路1102可以用于数据、指令或者信息的发送或者接收,处理器1101可以利用接口电路1102接收的数据、指令或者其它信息,进行加工,可以将加工完成信息通过接口电路1102发送出去。
可选的,芯片还包括存储器,存储器可以包括只读存储器和随机存取存储器,并向处理器提供操作指令和数据。存储器的一部分还可以包括非易失性随机存取存储器(NVRAM)。可选的,存储器存储了可执行软件模块或者数据结构,处理器可以通过调用存储器存储的操作指令(该操作指令可存储在操作系统中),执行相应的操作。
可选的,接口电路1102可用于输出处理器1101的执行结果。
需要说明的,处理器1101、接口电路1102各自对应的功能既可以通过硬件设计实现,也可以通过软件设计来实现,还可以通过软硬件结合的方式来实现,这里不作限制。
应理解,上述方法实施例的各步骤可以通过处理器中的硬件形式的逻辑电路或者软件形式的指令完成。其中,该芯片可应用于上述电子设备A中,以实现本申请实施例中提供的电子设备A所执行的方法。
图12是本申请实施例提供的一种电子设备的硬件结构示意图。该电子设备包括:处理器1210、存储器1220、通信接口1230、总线1240。示例性的,该电子设备可以为图2中所示的电子设备A。
其中,该处理器1210可以与存储器1220连接。该存储器1220可以用于存储该程序代码和数据。因此,该存储器1220可以是处理器1210内部的存储单元,也可以是与处理器1210独立的外部存储单元,还可以是包括处理器1210内部的存储单元和与处理器1210独立的外部存储单元的部件。示例性的,该处理器1210可以用于执行本申请实施例中提供的方法。
可选的,电子设备还可以包括总线1240。其中,存储器1220、通信接口1230可以通过总线1240与处理器1210连接。总线1240可以是外设部件互连标准(peripheral component interconnect,PCI)总线或扩展工业标准结构(extended industry standard architecture,EISA)总线等。该总线1240可以分为地址总线、数据总线、控制总线等。为便于表示,图12中仅用一条线表示,但并不表示仅有一根总线或一种类型的总线。
应理解,在本申请实施例中,该处理器1210可以采用CPU。该处理器还可以是其它通用处理器、数字信号处理器(digital signal processor,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现成可编程门阵列(field programmable gate Array,FPGA)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。或者该处理器1210采用一个或多个集成电路,用于执行相关程序,以实现本申请实施例所提供的技术方案。
该存储器1220可以包括只读存储器和随机存取存储器,并向处理器1010提供指令和数据。处理器1210的一部分还可以包括非易失性随机存取存储器。例如,处理器1010还可以存储设备类型的信息。
在电子设备运行时,处理器1210执行存储器1220中的计算机执行指令以执行上述方法的操作步骤。
在本申请实施例中,电子设备可以包括硬件层、运行在硬件层之上的操作系统层,以及运行在操作系统层上的应用层。其中,硬件层可以包括中央处理器(central processing unit,CPU)、内存管理单元(memory management unit,MMU)和内存(也称为主存)等硬件。操作系统层的操作系统可以是任意一种或多种通过进程(process)实现业务处理的计算机操作系统,例如,Linux操作系统、Unix操作系统、Android操作系统、iOS操作系统或windows操作系统等。应用层可以包含浏览器、通讯录、文字处理软件、即时通信软件等应用。
可以理解的是,本申请的实施例中的处理器可以是中央处理单元(central processing unit,CPU),还可以是其他通用处理器、数字信号处理器(digital signal processor,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现场可编程门阵列(field programmable gate array,FPGA)或者其他可编程逻辑器件、晶体管逻辑器件,硬件部件或者其任意组合。通用处理器可以是微处理器,也可以是任何常规的处理器。
本申请的实施例中的方法步骤可以通过硬件的方式来实现,也可以由处理器执行软件指令的方式来实现。软件指令可以由相应的软件模块组成,软件模块可以被存放于随机存取存储器(random access memory,RAM)、闪存、只读存储器(read-only memory,ROM)、可编程只读存储器(programmable rom,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)、寄存器、硬盘、移动硬盘、CD-ROM或者本领域熟知的任何其它形式的存储介质中。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于ASIC中。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者通过所述计算机可读存储介质进行传输。所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服 务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘(solid state disk,SSD))等。
可以理解的是,在本申请的实施例中涉及的各种数字编号仅为描述方便进行的区分,并不用来限制本申请的实施例的范围。

Claims (21)

  1. 一种控制方法,其特征在于,应用于模拟器,所述模拟器用于在电子设备上安装,所述电子设备具有第一操作系统,所述模拟器中包括第二操作系统,所述方法包括:
    响应于接收到的电子设备上第一客户端发送的第一消息,判断第一存储路径与第二存储路径是否相同,其中,所述第一消息用于指示安装第一应用程序,所述第一存储路径为所述第一应用程序的安装包的存储路径;
    在所述第一存储路径与所述第二存储路径不同时,基于所述第一存储路径,构建第一虚拟设备;
    向所述第二操作系统发送第二消息,所述第二消息用于指示所述第二操作系统挂载至所述第一虚拟设备。
  2. 根据权利要求1所述的方法,其特征在于,所述第二消息还用于指示所述第二操作系统安装所述第一应用程序。
  3. 根据权利要求1所述的方法,其特征在于,所述方法还包括:
    响应于接收到的所述第二操作系统发送的第三消息,向所述第二操作系统发送第四消息,所述第三消息用于表示挂载成功,所述第四消息用于指示所述第二操作系统安装所述第一应用程序。
  4. 根据权利要求1-3任一所述的方法,其特征在于,所述第一消息中包括以下一项或多项:
    所述第一应用程序的名称,所述第一存储路径,或,所述第二存储路径是否被修改的信息。
  5. 根据权利要求1-4任一所述的方法,其特征在于,所述第二消息中包括挂载方式和挂载参数。
  6. 根据权利要求5所述的方法,其特征在于,所述挂载方式包括直接挂载或先卸载再挂载。
  7. 根据权利要求5或6所述的方法,其特征在于,所述挂载参数包括以下一项所述多项:
    所述第一虚拟设备的名称,挂载至所述第二操作系统中的目录,或,指定的文件系统的类型。
  8. 根据权利要求1-7任一所述的方法,其特征在于,在基于所述第一存储路径,构建第一虚拟设备之前,所述方法还包括:
    销毁第二虚拟设备,所述第二虚拟设备基于所述第二存储路径构建。
  9. 根据权利要求1-8任一所述的方法,其特征在于,所述第一客户端为具备应用提供功能的客户端,或者,所述第一客户端为具备应用迁移功能的客户端。
  10. 根据权利要求1-9任一所述的方法,其特征在于,所述第一操作系统为Windows操作系统,所述第二操作系统为安卓操作系统,所述第一应用程序为安卓应用程序。
  11. 根据权利要求1-10任一所述的方法,其特征在于,所述第一虚拟设备用于供所述第二操作系统访问所述第一存储路径。
  12. 根据权利要求1-11任一所述的方法,其特征在于,所述第二存储路径为第二应用程序的存储路径,所述第二应用程序为前次安装的应用程序。
  13. 一种控制方法,其特征在于,应用于电子设备,所述电子设备具有第一操作系统,所述电子设备上安装有模拟器,所述模拟器中包括第二操作系统,所述方法包括:
    响应于用户在所述电子设备上的第一客户端上对第一应用程序的安装操作,判断第一存储路径与第二存储路径是否相同,所述第一存储路径为所述第一应用程序的安装包的存储路径;
    在所述第一存储路径与所述第二存储路径不同时,基于所述第一存储路径,构建第一虚拟设备,以及将所述第二操作系统挂载至所述第一虚拟设备;
    安装所述第一应用程序,以及显示所述第一应用程序。
  14. 根据权利要求13所述的方法,其特征在于,所述第一客户端为具备应用提供功能的客户端,或者,所述第一客户端为具备应用迁移功能的客户端。
  15. 根据权利要求13或14所述的方法,其特征在于,所述第一操作系统为Windows操作系统,所述第二操作系统为安卓操作系统,所述第一应用程序为安卓应用程序。
  16. 根据权利要求13-15任一所述的方法,其特征在于,所述第一虚拟设备用于供所述第二操作系统访问所述第一存储路径。
  17. 根据权利要求13-16任一所述的方法,其特征在于,在基于所述第一存储路径,构建第一虚拟设备之前,所述方法还包括:
    销毁第二虚拟设备,所述第二虚拟设备基于所述第二存储路径构建。
  18. 根据权利要求13-17任一所述的方法,其特征在于,所述第二存储路径为第二应用程序的存储路径,所述第二应用程序为前次安装的应用程序。
  19. 一种电子设备,其特征在于,包括处理器,所述处理器与存储器耦合,所述处理器用于执行所述存储器中存储的计算机程序或指令,以使得所述电子设备实现如权利要求1-18中任一所述的方法。
  20. 一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,当所述计算机程序在电子设备上运行时,使得所述电子设备执行如权利要求1-18中任一所述的方法。
  21. 一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机程序,当所述计算机程序被计算机执行时,使得所述计算机实现如权利要求1-18中任一所述的方法。
PCT/CN2022/084893 2021-06-29 2022-04-01 一种控制方法及电子设备 WO2023273482A1 (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
EP22831313.6A EP4350516A1 (en) 2021-06-29 2022-04-01 Control method and electronic device

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202110729247.7A CN115543526A (zh) 2021-06-29 2021-06-29 一种控制方法及电子设备
CN202110729247.7 2021-06-29

Publications (1)

Publication Number Publication Date
WO2023273482A1 true WO2023273482A1 (zh) 2023-01-05

Family

ID=84691174

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2022/084893 WO2023273482A1 (zh) 2021-06-29 2022-04-01 一种控制方法及电子设备

Country Status (3)

Country Link
EP (1) EP4350516A1 (zh)
CN (1) CN115543526A (zh)
WO (1) WO2023273482A1 (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110153697A1 (en) * 2005-09-15 2011-06-23 Computer Assoicates Think, Inc. Automated Filer Technique for Use in Virtualized Appliances and Applications
CN102968331A (zh) * 2012-11-27 2013-03-13 中标软件有限公司 一种虚拟机管理系统及其文件访问方法
CN105700923A (zh) * 2016-01-08 2016-06-22 深圳市创想天空科技股份有限公司 安装应用程序的方法及系统
CN106844066A (zh) * 2017-01-22 2017-06-13 腾讯科技(深圳)有限公司 一种应用运行方法、装置及系统
CN108847972A (zh) * 2018-06-08 2018-11-20 山东超越数控电子股份有限公司 一种虚拟环境下提高网络数据传输速率的方法
CN109977093A (zh) * 2019-04-04 2019-07-05 中科创达(重庆)汽车科技有限公司 基于lxc的多虚拟系统查看容器日志的方法及装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110153697A1 (en) * 2005-09-15 2011-06-23 Computer Assoicates Think, Inc. Automated Filer Technique for Use in Virtualized Appliances and Applications
CN102968331A (zh) * 2012-11-27 2013-03-13 中标软件有限公司 一种虚拟机管理系统及其文件访问方法
CN105700923A (zh) * 2016-01-08 2016-06-22 深圳市创想天空科技股份有限公司 安装应用程序的方法及系统
CN106844066A (zh) * 2017-01-22 2017-06-13 腾讯科技(深圳)有限公司 一种应用运行方法、装置及系统
CN108847972A (zh) * 2018-06-08 2018-11-20 山东超越数控电子股份有限公司 一种虚拟环境下提高网络数据传输速率的方法
CN109977093A (zh) * 2019-04-04 2019-07-05 中科创达(重庆)汽车科技有限公司 基于lxc的多虚拟系统查看容器日志的方法及装置

Also Published As

Publication number Publication date
CN115543526A (zh) 2022-12-30
EP4350516A1 (en) 2024-04-10

Similar Documents

Publication Publication Date Title
US8607040B2 (en) Method of provisioning firmware in an operating system (OS) absent services environment
JP6397113B2 (ja) リモーティングセッションを通じた非サポートファイル形式の開封
US8863109B2 (en) Updating secure pre-boot firmware in a computing system in real-time
WO2016155388A1 (zh) 应用安装、运行方法及装置
US8347288B1 (en) System and method for verification of repeatable virtualized computing
WO2021013243A1 (zh) 一种启动小程序的方法、设备和计算机存储介质
CN105765534A (zh) 虚拟计算系统和方法
CN109800135B (zh) 一种信息处理方法及终端
WO2019090994A1 (zh) 测试脚本自动化执行方法、装置、设备以及存储介质
US11231919B2 (en) Live updates of stateful components
CN110780930A (zh) 启动Android系统的方法、装置、电子设备及存储介质
US10127050B2 (en) Efficient booting system
CN113626133B (zh) 一种虚拟机控制方法、装置、设备及计算机可读存储介质
WO2018082289A1 (zh) 一种应用程序的管理方法、装置和计算机存储介质
US20130007184A1 (en) Message oriented middleware with integrated rules engine
WO2023273482A1 (zh) 一种控制方法及电子设备
WO2023174127A1 (zh) 基于云的fpga管理控制系统、方法及电子设备
WO2022228236A1 (zh) 控制安卓app的方法、装置及终端设备
US9778936B1 (en) Booting a computing system into a manufacturing mode
Rothman et al. Harnessing the UEFI Shell: Moving the platform beyond DOS
JP7353346B2 (ja) ソフトウェアへの悪意あるプロセスの注入を防止するためのシステムおよび方法
US20150212866A1 (en) Management system for service of multiple operating environments, and methods thereof
CN115185745A (zh) 数据处理方法、系统、电子设备及计算机可读存储介质
CN102184112B (zh) 控件升级方法及装置
US10740021B1 (en) Systems and methods for recovery of computing environments via a replication solution

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22831313

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2022831313

Country of ref document: EP

ENP Entry into the national phase

Ref document number: 2022831313

Country of ref document: EP

Effective date: 20231220

NENP Non-entry into the national phase

Ref country code: DE