Cuttlefish cloud mobile phone management method and device

By configuring dual QMP channels during QEMU startup, the management software libvirt can connect and control Cuttlefish cloud phones, addressing the channel occupation issue and ensuring effective virtual machine management.

CN119728433AActive Publication Date: 2025-03-28CHINA TELECOM CLOUD TECH CO LTD
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
CN202411763960.3
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-12-03
Publication Date
2025-03-28
Estimated Expiration
2044-12-03

AI Technical Summary

Technical Problem

The existing virtualization management software libvirt is unable to manage Cuttlefish cloud phones due to the default QMP channel being occupied by Cuttlefish, preventing the inclusion of QEMU virtual machines.

Method used

Configuring two QEMU machine protocol (QMP) channels during the startup of the open-source machine emulator and virtualizer QEMU, where one channel is connected by libvirt for management and another by Cuttlefish, allowing simultaneous monitoring and control of the QEMU process, including updating process IDs and avoiding port conflicts.

Benefits of technology

Enables libvirt to effectively manage and control Cuttlefish cloud phones by establishing dual QMP channels, resolving the issue of channel occupation and ensuring seamless virtual machine operation.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119728433A_ABST
    Figure CN119728433A_ABST
Patent Text Reader

Abstract

The invention provides a cuttlefish cloud mobile phone management method and a cuttlefish cloud mobile phone management device. The method comprises the steps that when an open-source machine simulator and a virtualization device qemu virtual machine are started, two qemu machine protocol qmp channels are configured, one channel is connected with a C library libvirt for managing the virtualization technology, and the other channel is connected with configurable virtual Android equipment cuttlefish; a C library libvirt for realizing a management virtualization technology and a configurable virtual Android device cuttlefish can be connected with a machine simulator of an open source and a monitor of a virtualization device qemu process at the same time; and after the qemu process of the open-source machine simulator and the qemu process of the virtualization device are started, a process identifier pid of the cuttlefish process and a process identifier pid of the qemu process of the open-source machine simulator and the qemu process of the virtualization device are monitored at the same time, and management and control of the C library libvirt for managing the virtualization technology on the configurable virtual Android equipment cuttlefish cloud mobile phone are achieved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of computer software development technology, and in particular to a cuttlefish cloud phone management method and device. Background Art

[0002] cuttlefish is an Android emulator that uses qemu to start a virtual machine. However, since the QMP channel enabled by qemu by default will always be occupied by cuttlefish, libvirt cannot connect and cannot manage the qemu virtual machine started by cuttlefish. Currently, the cuttlefish cloud phone cannot be managed using the virtualization management software libvirt.

[0003] Therefore, one or more methods are needed to solve the above problems.

[0004] It should be noted that the information disclosed in the above background technology section is only used to enhance the understanding of the background of the present disclosure, and therefore may include information that does not constitute prior art known to ordinary technicians in the field. Summary of the invention

[0005] The present application shows a cuttlefish cloud phone management method and device.

[0006] In a first aspect, the present application provides a cuttlefish cloud phone management method, the method comprising:

[0007] When starting the open source machine simulator and virtualizer qemu virtual machine, two qemu machine protocol qmp channels are configured, one channel is connected by the C library libvirt that manages virtualization technology, and the other is connected by the configurable virtual Android device cuttlefish, so that the C library libvirt that manages virtualization technology and the configurable virtual Android device cuttlefish can simultaneously connect to the open source machine simulator and virtualizer qemu process monitor moniter;

[0008] After the open source machine simulator and virtualizer qemu process is started, the process identifier pid of the cuttlefish process and the process identifier pid of the open source machine simulator and virtualizer qemu process are monitored at the same time to realize the control of the configurable virtual Android device cuttlefish cloud phone by the C library libvirt that manages virtualization technology.

[0009] In an exemplary embodiment of the present disclosure, the method further includes:

[0010] Configure two qemu machine protocol qmp channels of unix soeket type in the virtual machine xml configuration document.

[0011] In an exemplary embodiment of the present disclosure, the method further includes:

[0012] The C library libvirt for managing virtualization technology finds the first direct rendering manager drm device on the node, converts the bus number of the peripheral component interconnect pci address corresponding to the direct rendering manager drm from hexadecimal to decimal, adds the obtained value to the command line -gpu_device parameter of the configurable virtual Android device cuttlefish, and updates it to the display value in the virtual machine xml configuration document.

[0013] In an exemplary embodiment of the present disclosure, the method further includes:

[0014] The C library libvirt for managing virtualization technology allocates a new id and records it to the bitmap data bitmap, adds the id to the command line -base_instance_num parameter of the configurable virtual Android device cuttlefish to avoid port conflicts when multiple configurable virtual Android device cuttlefish processes are started concurrently, and updates the id to the virtual machine xml configuration document.

[0015] In an exemplary embodiment of the present disclosure, the method further includes:

[0016] The C library libvirt that manages virtualization technology modifies the owner and group of the configurable virtual Android device cuttlefish directory according to the user and group configured in qemu.conf.

[0017] In an exemplary embodiment of the present disclosure, the method further includes:

[0018] The C library libvirt for managing virtualization technology starts the configurable virtual Android device cuttlefish process and records the pid of the process, and then passes the first qmp channel to the configurable virtual Android device cuttlefish process. The configurable virtual Android device cuttlefish process is connected to the monitor monitor of the open source machine emulator and virtualizer qemu process through the qemu machine protocol qmp channel.

[0019] In an exemplary embodiment of the present disclosure, the method further includes:

[0020] The C library libvirt that manages virtualization technology is connected to the monitor monitor of the open source machine emulator and virtualizer qemu process through a second qemu machine protocol qmp channel.

[0021] In a second aspect, the present application shows a cuttlefish cloud phone management device, the device comprising:

[0022] The dual-channel configuration module is used to configure two qemu machine protocol qmp channels when starting the open source machine simulator and virtualizer qemu virtual machine. One channel is connected by the C library libvirt that manages virtualization technology, and the other is connected by the configurable virtual Android device cuttlefish. This enables the C library libvirt that manages virtualization technology and the configurable virtual Android device cuttlefish to simultaneously connect to the open source machine simulator and virtualizer qemu process monitor moniter;

[0023] The dual-channel monitoring module is used to monitor the process identifier pid of the cuttlefish process and the process identifier pid of the open source machine simulator and virtualizer qemu process at the same time after the open source machine simulator and virtualizer qemu process is started, so as to realize the control of the configurable virtual Android device cuttlefish cloud phone by the C library libvirt that manages virtualization technology.

[0024] In a third aspect, the present application shows an electronic device, which includes: a processor; a memory for storing processor-executable instructions; wherein the processor is configured to execute the method described in any of the above aspects.

[0025] In a fourth aspect, the present application illustrates a non-temporary computer-readable storage medium, which, when instructions in the storage medium are executed by a processor of an electronic device, enables the electronic device to execute a method as described in any of the above aspects.

[0026] In a fifth aspect, the present application illustrates a computer program product. When instructions in the computer program product are executed by a processor of an electronic device, the electronic device is enabled to execute the method described in any of the above aspects.

[0027] The present application provides a method and device for managing a cuttlefish cloud phone. The method includes: when starting an open source machine simulator and virtualizer qemu virtual machine, configuring two qemu machine protocol qmp channels, one channel is connected by the C library libvirt for managing virtualization technology, and the other is connected by the configurable virtual Android device cuttlefish, so that the C library libvirt for managing virtualization technology and the configurable virtual Android device cuttlefish can simultaneously connect to the monitor moniter of the open source machine simulator and virtualizer qemu process; after the open source machine simulator and virtualizer qemu process are started, the process identifier pid of the cuttlefish process and the process identifier pid of the open source machine simulator and virtualizer qemu process are monitored at the same time, so as to realize the control of the configurable virtual Android device cuttlefish cloud phone by the C library libvirt for managing virtualization technology. BRIEF DESCRIPTION OF THE DRAWINGS

[0028] Figure 1 This is a flowchart of the steps of a cuttlefish cloud phone management method of the present application.

[0029] Figure 2 This is a management architecture diagram of a cuttlefish cloud phone management method of the present application.

[0030] Figure 3 This is a structural block diagram of a cuttlefish cloud phone management device of the present application.

[0031] Figure 4 It is a block diagram of an electronic device of the present application.

[0032] Figure 5 is a block diagram of a computer-readable storage medium of the present application. DETAILED DESCRIPTION

[0033] The following will be combined with the drawings in the embodiments of the present application to clearly and completely describe the technical solutions in the embodiments of the present application. Obviously, the described embodiments are part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of this application.

[0034] The present application provides a cuttlefish cloud phone management method and device. The method includes:

[0035] Step S110, when starting the open source machine simulator and the virtualizer qemu virtual machine, two qemu machine protocol qmp channels are configured, one channel is connected by the C library libvirt for managing virtualization technology, and the other is connected by the configurable virtual Android device cuttlefish, so that the C library libvirt for managing virtualization technology and the configurable virtual Android device cuttlefish can be connected to the open source machine simulator and the monitor moniter of the virtualizer qemu process at the same time;

[0036] Step S120, after the open source machine simulator and virtualizer qemu process is started, the process identifier pid of the cuttlefish process and the process identifier pid of the open source machine simulator and virtualizer qemu process are monitored simultaneously to implement the control of the configurable virtual Android device cuttlefish cloud phone by the C library libvirt for managing virtualization technology.

[0037] The present application provides a method and device for managing a cuttlefish cloud phone. The method includes: when starting an open source machine simulator and virtualizer qemu virtual machine, configuring two qemu machine protocol qmp channels, one channel is connected by the C library libvirt for managing virtualization technology, and the other is connected by the configurable virtual Android device cuttlefish, so that the C library libvirt for managing virtualization technology and the configurable virtual Android device cuttlefish can simultaneously connect to the monitor moniter of the open source machine simulator and virtualizer qemu process; after the open source machine simulator and virtualizer qemu process are started, the process identifier pid of the cuttlefish process and the process identifier pid of the open source machine simulator and virtualizer qemu process are monitored at the same time, so as to realize the control of the configurable virtual Android device cuttlefish cloud phone by the C library libvirt for managing virtualization technology.

[0038] Embodiment 1:

[0039] Reference Figure 1 , shows a flowchart of the steps of a cuttlefish cloud phone management method of the present application, which can be applied to electronic devices, wherein the method specifically may include the following steps:

[0040] In step S110, when starting the open source machine simulator and the virtualizer qemu virtual machine, two qemu machine protocol qmp channels can be configured, one channel is connected by the C library libvirt for managing virtualization technology, and the other is connected by the configurable virtual Android device cuttlefish, so that the C library libvirt for managing virtualization technology and the configurable virtual Android device cuttlefish can be connected to the open source machine simulator and the monitor moniter of the virtualizer qemu process at the same time;

[0041] In step S120, after the open source machine simulator and virtualizer qemu process is started, the process identifier pid of the cuttlefish process and the process identifier pid of the open source machine simulator and virtualizer qemu process can be monitored simultaneously to realize the control of the configurable virtual Android device cuttlefish cloud phone by the C library libvirt for managing virtualization technology.

[0042] In the embodiment of this example, the method further includes:

[0043] Configure two qemu machine protocol qmp channels of unix soeket type in the virtual machine xml configuration document.

[0044] In the embodiment of this example, the method further includes:

[0045] The C library libvirt for managing virtualization technology finds the first direct rendering manager drm device on the node, converts the bus number of the peripheral component interconnect pci address corresponding to the direct rendering manager drm from hexadecimal to decimal, adds the obtained value to the command line -gpu_device parameter of the configurable virtual Android device cuttlefish, and updates it to the display value in the virtual machine xml configuration document.

[0046] In the embodiment of this example, the method further includes:

[0047] The C library libvirt for managing virtualization technology allocates a new id and records it to the bitmap data bitmap, adds the id to the command line -base_instance_num parameter of the configurable virtual Android device cuttlefish to avoid port conflicts when multiple configurable virtual Android device cuttlefish processes are started concurrently, and updates the id to the virtual machine xml configuration document.

[0048] In the embodiment of this example, the method further includes:

[0049] The C library libvirt that manages virtualization technology modifies the owner and group of the configurable virtual Android device cuttlefish directory according to the user and group configured in qemu.conf.

[0050] In the embodiment of this example, the method further includes:

[0051] The C library libvirt for managing virtualization technology starts the configurable virtual Android device cuttlefish process and records the pid of the process, and then passes the first qmp channel to the configurable virtual Android device cuttlefish process. The configurable virtual Android device cuttlefish process is connected to the monitor monitor of the open source machine emulator and virtualizer qemu process through the qemu machine protocol qmp channel.

[0052] In the embodiment of this example, the method further includes:

[0053] The C library libvirt that manages virtualization technology is connected to the monitor monitor of the open source machine emulator and virtualizer qemu process through a second qemu machine protocol qmp channel.

[0054] Embodiment 2:

[0055] In the embodiment of this example, cuttlefish is an Android emulator that uses qemu to start a virtual machine.

[0056] Libvirt is an open source toolset for managing virtualization platforms. It provides a set of APIs and tools for managing, monitoring and controlling virtualization technologies such as KVM (Kernel-based VirtualMachine), QEMU, Xen, LXC (LinuxContainers), etc.

[0057] In this exemplary embodiment, if Figure 2 The method shown comprises the following steps:

[0058] 1) libvirt receives a request to start a cuttlefish cloud phone.

[0059] 2) Configure two qmp channels of the unix socket type in the virtual machine xml configuration document.

[0060] 3) libvirt finds the first drm device on the node, converts the bus number of its corresponding pci address from hexadecimal to decimal, adds the obtained value to the -gpu_device parameter of the cuttlefish command line, and updates it to the display value in the virtual machine xml configuration document.

[0061] 4) libvirt assigns a new ID and records it to the bitmap, adds the ID to the -base_instance_num parameter of the cuttlefish command line to avoid port conflicts when multiple cuttlefish processes are started concurrently, and updates the ID to the virtual machine XML configuration document.

[0062] 5) libvirt modifies the owner and group of the cuttlefish directory according to the user and group configured in qemu.conf.

[0063] 6) libvirt starts the cuttlefish process and records the process pid, then passes the first qmp channel to the cuttlefish process, and the cuttlefish process connects to the monitor of the qemu process through the qmp channel.

[0064] 7) libvirt connects to the monitor of the qemu process through the second qmp channel.

[0065] 8) The cuttlefish cloud phone is started.

[0066] Embodiment three:

[0067] In the embodiment of this example, the method includes the following steps:

[0068] 1) libvirt receives a request to start a cuttlefish cloud phone.

[0069] 2) Configure two qmp channels of the unix socket type in the virtual machine xml configuration document.

[0070] 3) libvirt finds out that the gpu PCI address corresponding to the first drm device / dev / dri / renderD128 on the node is 81:00.0, and the bus number is 81. The display value of dom xml is 129. The obtained value 129 is added to the -gpu_device parameter of the cuttlefish command line, and it is updated to the display value in the virtual machine xml configuration document.

[0071] 4) libvirt assigns a new ID and records it to the bitmap, adds the ID to the -base_instance_num parameter of the cuttlefish command line to avoid port conflicts when multiple cuttlefish processes are started concurrently, and updates the ID to the virtual machine XML configuration document.

[0072] 5) libvirt modifies the owner and group of the cuttlefish directory according to the user and group configured in qemu.conf.

[0073] 6) libvirt starts the cuttlefish process and records the process pid, then passes the first qmp channel to the cuttlefish process, and the cuttlefish process connects to the monitor of the qemu process through the qmp channel.

[0074] 7) libvirt connects to the monitor of the qemu process through the second qmp channel.

[0075] 8) The cuttlefish cloud phone is started.

[0076] In the embodiment of this example, when starting the qemu virtual machine, two qmp channels are configured, one channel is connected by libvirt and the other is connected by cuttlefish. libvirt starts the cuttlefish process and records the pid of the process, and then passes the first qmp channel to the cuttlefish process. The cuttlefish process is connected to the monitor of the qemu process through the qmp channel, and libvirt is connected to the monitor of the qemu process through the second qmp channel, so that libvirt and cuttlefish can be connected to the monitor of the qemu process at the same time. After the qemu process is started, the pid of the cuttlefish process and the pid of the qemu process are monitored at the same time, so that libvirt can control the cuttlefish cloud phone.

[0077] It should be noted that, for the method embodiments, for the sake of simplicity, they are all expressed as a series of action combinations, but those skilled in the art should be aware that the present application is not limited by the order of the actions described, because according to the present application, certain steps can be performed in other orders or simultaneously. Secondly, those skilled in the art should also be aware that the embodiments described in the specification are all optional embodiments, and the actions involved are not necessarily required by the present application.

[0078] Reference Figure 3, showing a structural block diagram of a cuttlefish cloud phone management device of the present application, the device comprising:

[0079] The dual-channel configuration module 210 is used to configure two qemu machine protocol qmp channels when starting the open source machine simulator and the virtualizer qemu virtual machine, one channel is connected by the C library libvirt for managing virtualization technology, and the other is connected by the configurable virtual Android device cuttlefish, so that the C library libvirt for managing virtualization technology and the configurable virtual Android device cuttlefish can be connected to the monitor moniter of the open source machine simulator and the virtualizer qemu process at the same time;

[0080] The dual-channel monitoring module 220 is used to monitor the process identifier pid of the cuttlefish process and the process identifier pid of the open source machine simulator and virtualizer qemu process at the same time after the open source machine simulator and virtualizer qemu process is started, so as to realize the control of the configurable virtual Android device cuttlefish cloud phone by the C library libvirt for managing virtualization technology.

[0081] As for the device embodiment, since it is basically similar to the method embodiment, the description is relatively simple, and the relevant parts can be referred to the partial description of the method embodiment.

[0082] Optionally, an embodiment of the present application further provides an electronic device, comprising: a processor, a memory, and a computer program stored in the memory and executable on the processor. When the computer program is executed by the processor, the various processes of the above-mentioned method embodiment are implemented, and the same technical effect can be achieved. To avoid repetition, it will not be described here.

[0083] The embodiment of the present application also provides a computer-readable storage medium, on which a computer program is stored, and when the computer program is executed by a processor, each process of the above method embodiment is implemented, and the same technical effect can be achieved. To avoid repetition, it is not repeated here. The computer-readable storage medium is, for example, a read-only memory (ROM), a random access memory (RAM), a magnetic disk or an optical disk.

[0084] FIG4 is a block diagram of an electronic device 800 shown in the present application. For example, the electronic device 800 may be a mobile phone, a computer, a digital broadcast terminal, a messaging device, a game console, a tablet device, a medical device, a fitness device, a personal digital assistant, etc.

[0085] Reference Figure 4 , the electronic device 800 may include one or more of the following components: a processing component 802 , a memory 804 , a power component 806 , a multimedia component 808 , an audio component 810 , an input / output (I / O) interface 812 , a sensor component 814 , and a communication component 816 .

[0086] The processing component 802 generally controls the overall operation of the electronic device 800, such as operations associated with display, phone calls, data communications, camera operations, and recording operations. The processing component 802 may include one or more processors 820 to execute instructions to complete all or part of the steps of the above method. In addition, the processing component 802 may include one or more modules to facilitate the interaction between the processing component 802 and other components. For example, the processing component 802 may include a multimedia module to facilitate the interaction between the multimedia component 808 and the processing component 802.

[0087] The memory 804 is configured to store various types of data to support operations on the device 800. Examples of such data include instructions for any application or method operating on the electronic device 800, contact data, phone book data, messages, images, videos, etc. The memory 804 can be implemented by any type of volatile or non-volatile storage device or a combination thereof, such as static random access memory (SRAM), electrically erasable programmable read-only memory (EEPROM), erasable programmable read-only memory (EPROM), programmable read-only memory (PROM), read-only memory (ROM), magnetic memory, flash memory, magnetic disk or optical disk.

[0088] The power supply component 806 provides power to the various components of the electronic device 800. The power supply component 806 may include a power management system, one or more power supplies, and other components associated with generating, managing, and distributing power to the electronic device 800.

[0089] The multimedia component 808 includes a screen that provides an output interface between the electronic device 800 and the user. In some embodiments, the screen may include a liquid crystal display (LCD) and a touch panel (TP). If the screen includes a touch panel, the screen may be implemented as a touch screen to receive input signals from the user. The touch panel includes one or more touch sensors to sense touch, slide, and gestures on the touch panel. The touch sensor may not only sense the boundaries of the touch or slide action, but also detect the duration and pressure associated with the touch or slide operation. In some embodiments, the multimedia component 808 includes a front camera and / or a rear camera. When the device 800 is in an operating mode, such as a shooting mode or a video mode, the front camera and / or the rear camera may receive external multimedia data. Each front camera and the rear camera may be a fixed optical lens system or have a focal length and optical zoom capability.

[0090] The audio component 810 is configured to output and / or input audio signals. For example, the audio component 810 includes a microphone (MIC), and when the electronic device 800 is in an operating mode, such as a call mode, a recording mode, and a voice recognition mode, the microphone is configured to receive an external audio signal. The received audio signal can be further stored in the memory 804 or sent via the communication component 816. In some embodiments, the audio component 810 also includes a speaker for outputting audio signals.

[0091] I / O interface 812 provides an interface between processing component 802 and peripheral interface modules, such as keyboards, click wheels, buttons, etc. These buttons may include but are not limited to: home button, volume button, start button, and lock button.

[0092] The sensor assembly 814 includes one or more sensors for providing various aspects of status assessment for the electronic device 800. For example, the sensor assembly 814 can detect the open / closed state of the device 800, the relative positioning of components, such as the display and keypad of the electronic device 800, and the sensor assembly 814 can also detect the position change of the electronic device 800 or a component of the electronic device 800, the presence or absence of contact between the user and the electronic device 800, the orientation or acceleration / deceleration of the electronic device 800, and the temperature change of the electronic device 800. The sensor assembly 814 may include a proximity sensor configured to detect the presence of nearby objects without any physical contact. The sensor assembly 814 may also include an optical sensor, such as a CMOS or CCD image sensor, for use in imaging applications. In some embodiments, the sensor assembly 814 may also include an accelerometer, a gyroscope sensor, a magnetic sensor, a pressure sensor, or a temperature sensor.

[0093] The communication component 816 is configured to facilitate wired or wireless communication between the electronic device 800 and other devices. The electronic device 800 can access a wireless network based on a communication standard, such as WiFi, a carrier network (such as 2G, 3G, 4G or 5G), or a combination thereof. In an exemplary embodiment, the communication component 816 receives a broadcast signal or broadcast operation information from an external broadcast management system via a broadcast channel. In an exemplary embodiment, the communication component 816 also includes a near field communication (NFC) module to facilitate short-range communication. For example, the NFC module can be implemented based on radio frequency identification (RFID) technology, infrared data association (IrDA) technology, ultra-wideband (UWB) technology, Bluetooth (BT) technology and other technologies.

[0094] In an exemplary embodiment, the electronic device 800 may be implemented by one or more application-specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), field programmable gate arrays (FPGAs), controllers, microcontrollers, microprocessors, or other electronic components to perform the above methods.

[0095] In an exemplary embodiment, a non-transitory computer-readable storage medium including instructions is also provided, such as a memory 804 including instructions, and the instructions can be executed by a processor 820 of an electronic device 800 to perform the above method. For example, the non-transitory computer-readable storage medium can be a ROM, a random access memory (RAM), a CD-ROM, a magnetic tape, a floppy disk, an optical data storage device, etc.

[0096] Figure 5 19 is a block diagram of a computer-readable storage medium 1900 shown in the present application. For example, the computer-readable storage medium 1900 may be provided as a server.

[0097] Reference Figure 5 , the computer-readable storage medium 1900 includes a processing component 1922, which further includes one or more processors, and a memory resource represented by a memory 1932 for storing instructions, such as an application, that can be executed by the processing component 1922. The application stored in the memory 1932 may include one or more modules, each corresponding to a set of instructions. In addition, the processing component 1922 is configured to execute instructions to perform the above method.

[0098] The computer readable storage medium 1900 may also include a power supply component 1926 configured to perform power management of the computer readable storage medium 1900, a wired or wireless network interface 1950 configured to connect the computer readable storage medium 1900 to a network, and an input / output (I / O) interface 1958. The computer readable storage medium 1900 may operate based on an operating system stored in the memory 1932, such as Windows Server™, Mac OS X™, Unix™, Linux™, FreeBSD™ or the like.

[0099] It should be noted that, in this article, the terms "include", "comprises" or any other variations thereof are intended to cover non-exclusive inclusion, so that a process, method, article or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or device. In the absence of further restrictions, an element defined by the sentence "comprises a ..." does not exclude the existence of other identical elements in the process, method, article or device including the element.

[0100] Through the description of the above implementation methods, those skilled in the art can clearly understand that the above-mentioned embodiment methods can be implemented by means of software plus a necessary general hardware platform, and of course by hardware, but in many cases the former is a better implementation method. Based on such an understanding, the technical solution of the present application, or the part that contributes to the prior art, can be embodied in the form of a software product, which is stored in a storage medium (such as ROM / RAM, a magnetic disk, or an optical disk), and includes a number of instructions for a terminal (which can be a mobile phone, a computer, a server, an air conditioner, or a network device, etc.) to execute the methods described in each embodiment of the present application.

[0101] The embodiments of the present application are described above in conjunction with the accompanying drawings, but the present application is not limited to the above-mentioned specific implementation methods. The above-mentioned specific implementation methods are merely illustrative and not restrictive. Under the guidance of the present application, ordinary technicians in this field can also make many forms without departing from the purpose of the present application and the scope of protection of the claims, all of which are within the protection of the present application.

[0102] Those of ordinary skill in the art will appreciate that the units and algorithm steps of each example described in conjunction with the embodiments disclosed in the present application can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of this application.

[0103] Those skilled in the art can clearly understand that, for the convenience and brevity of description, the specific working processes of the systems, devices and units described above can refer to the corresponding processes in the aforementioned method embodiments and will not be repeated here.

[0104] In the embodiments provided in the present application, it should be understood that the disclosed devices and methods can be implemented in other ways. For example, the device embodiments described above are only schematic. For example, the division of the units is only a logical function division. There may be other division methods in actual implementation, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or units, which can be electrical, mechanical or other forms.

[0105] The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.

[0106] In addition, each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.

[0107] If the functions are implemented in the form of software functional units and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present application, or the part that contributes to the prior art or the part of the technical solution, can be embodied in the form of a software product, which is stored in a storage medium and includes several instructions for a computer device (which can be a personal computer, server, or network device, etc.) to perform all or part of the steps of the methods described in each embodiment of the present application. The aforementioned storage medium includes: various media that can store program codes, such as USB flash drives, mobile hard drives, ROM, RAM, magnetic disks, or optical disks.

[0108] The above is only a specific implementation of the present application, but the protection scope of the present application is not limited thereto. Any person skilled in the art who is familiar with the present technical field can easily think of changes or substitutions within the technical scope disclosed in the present application, which should be included in the protection scope of the present application. Therefore, the protection scope of the present application should be based on the protection scope of the claims.

Claims

1. A cuttlefish cloud phone management method, characterized in that: The method comprises: When starting the open source machine simulator and virtualizer qemu virtual machine, two qemu machine protocol qmp channels are configured, one channel is connected by the C library libvirt that manages virtualization technology, and the other is connected by the configurable virtual Android device cuttlefish, so that the C library libvirt that manages virtualization technology and the configurable virtual Android device cuttlefish can simultaneously connect to the open source machine simulator and virtualizer qemu process monitor moniter; After the open source machine simulator and virtualizer qemu process is started, the process identifier pid of the cuttlefish process and the process identifier pid of the open source machine simulator and virtualizer qemu process are monitored at the same time to realize the control of the configurable virtual Android device cuttlefish cloud phone by the C library libvirt that manages virtualization technology.

2. The method according to claim 1, characterized in that The method further comprises: Two qemu machine protocol qmp channels of unix soeket type are configured in the virtual machine xml configuration document.

3. The method according to claim 1, characterized in that The method further comprises: The C library libvirt for managing virtualization technology finds the first direct rendering manager drm device on the node, converts the bus number of the peripheral component interconnect pci address corresponding to the direct rendering manager drm from hexadecimal to decimal, writes the obtained value as a parameter into the command line -gpu_device parameter of the configurable virtual Android device cuttlefish, and updates it to the display value on the virtual machine xml configuration document.

4. The method according to claim 1, characterized in that The method further comprises: The C library libvirt for managing virtualization technology allocates a new id and records it to the bitmap data bitmap, adds the id to the command line -base_instance_num parameter of the configurable virtual Android device cuttlefish to avoid port conflicts when multiple configurable virtual Android device cuttlefish processes are started concurrently, and updates the id to the virtual machine xml configuration document.

5. The method according to claim 1, characterized in that The method further comprises: The C library libvirt that manages virtualization technology modifies the owner and group of the configurable virtual Android device cuttlefish directory according to the user and group configured in qemu.conf.

6. The method according to claim 1, characterized in that The method further comprises: The C library libvirt for managing virtualization technology starts the configurable virtual Android device cuttlefish process and records the pid of the process, and then passes the first qmp channel to the configurable virtual Android device cuttlefish process. The configurable virtual Android device cuttlefish process is connected to the monitor monitor of the open source machine emulator and virtualizer qemu process through the qemu machine protocol qmp channel.

7. The method according to claim 6, characterized in that The method further comprises: The C library libvirt, which manages virtualization technology, is connected to the monitor monitor of the open source machine emulator and virtualizer qemu process through a second qemu machine protocol qmp channel.

8. A cuttlefish cloud phone management device, characterized in that: The device comprises: The dual-channel configuration module is used to configure two qemu machine protocol qmp channels when starting the open source machine simulator and virtualizer qemu virtual machine. One channel is connected by the C library libvirt that manages virtualization technology, and the other is connected by the configurable virtual Android device cuttlefish. This enables the C library libvirt that manages virtualization technology and the configurable virtual Android device cuttlefish to simultaneously connect to the open source machine simulator and virtualizer qemu process monitor moniter; The dual-channel monitoring module is used to monitor the process identifier pid of the cuttlefish process and the process identifier pid of the open source machine simulator and virtualizer qemu process at the same time after the open source machine simulator and virtualizer qemu process is started, so as to realize the control of the configurable virtual Android device cuttlefish cloud phone by the C library libvirt that manages virtualization technology.

9. An electronic device, characterized in that: include: A processor, a memory, and a computer program stored in the memory and executable on the processor, wherein the computer program implements the method according to any one of claims 1 to 7 when executed by the processor.

10. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the method according to any one of claims 1 to 7 is implemented.

Citation Information

Patent Citations

  • Batch control method of Android cloud mobile phone, computer readable medium and electronic equipment

    CN113452830A

  • Implementation method of safety cloud desktop based on national secret reinforcement

    CN113992346A

  • Cloud desktop hot standby management method, device and system

    CN115499296A

  • Interactive method, computer device, and computer storage medium

    WO2023065922A1