Disclosure of Invention
The application provides a control method for cloud application operation and electronic equipment.
In a first aspect, the present application provides a method for controlling running of a cloud application, which is applied to an electronic device deploying a first operating system, the method including displaying a first interface on the electronic device, where the first interface includes an icon of the first cloud application and an icon of the first application, the first cloud application is installed in a first cloud computer virtual machine in a server, and the first cloud computer virtual machine deploys a second operating system different from the first operating system, the first application is installed in the electronic device, and the icon of the first application on the first interface is used to receive an operation to display a user interface, running on the electronic device, of the first application; and responding to a first operation that the electronic equipment receives the icon of the first cloud application on the first interface, and displaying a second interface on the electronic equipment, wherein the second interface is a user interface of the first cloud application running on the first cloud computer virtual machine. The user directly clicks the cloud application icon on the electronic equipment, the electronic equipment can display the running interface of the cloud application, and a complex starting process of the virtual machine is not needed.
According to a first aspect, in a first implementation manner of the first aspect, the electronic device includes a cloud application running framework, and the cloud application running framework is configured to establish a first control channel and a first data channel between the electronic device and the first cloud computer virtual machine, where in response to the electronic device receiving a first operation of an icon of the first cloud application on the first interface, displaying a second interface on the electronic device includes: in response to the electronic device receiving a first operation of the icon of the first cloud application on the first interface, the cloud application running framework sending a first control command containing an application identifier of the first cloud application to the first cloud computer virtual machine through the first control channel, wherein the first control command is used for instructing the first cloud computer virtual machine to run the first cloud application; the cloud application running framework receives first data sent by the first cloud computer virtual machine through the first data channel, wherein the first data comprises the user interface of the first cloud application running on the first cloud computer virtual machine; and displaying the second interface on the electronic equipment according to the first data. And establishing a connection channel with the server through the cloud application running framework to receive and display the data of the user interface.
According to a first implementation form of the first aspect, in a second implementation form of the first aspect, the method further comprises: the cloud application running framework receives second data sent by the first cloud computer virtual machine through the first data channel, wherein the second data comprises audio of the first cloud application when the first cloud application runs in the first cloud computer virtual machine; and playing the audio through a loudspeaker of the electronic equipment according to the second data. A connection channel is established with the server through the cloud application operation framework, and sound data of cloud application operation can be received at the same time. The cloud application running framework that receives the video and audio data decodes the data and plays it locally.
According to a first implementation form of the first aspect, in a third implementation form of the first aspect, when the electronic device displays the second interface, the method further comprises: responding to the electronic equipment to receive a second operation of switching the second interface to the first interface, and displaying the first interface on the electronic equipment, wherein the first interface further comprises an icon of a second cloud application, and the second cloud application is an application which is installed in the first cloud computer virtual machine and runs on the second operating system; in response to the second operation, the cloud application running framework sends a second control command to the first cloud computer virtual machine through the first control channel, wherein the second control command is used for instructing the first cloud computer virtual machine to pause running of the first cloud application; in response to the electronic device receiving a third operation of the icon of the second cloud application, the cloud application running framework sending a third control command containing an application identifier of the second cloud application to the first cloud computer virtual machine through the first control channel, wherein the third control command is used for instructing the first cloud computer virtual machine to run the second cloud application; the cloud application running framework receives third data sent by the first cloud computer virtual machine through the first data channel, wherein the third data comprises a user interface of the first cloud computer virtual machine running the second cloud application; and displaying a third interface on the electronic equipment according to the third data, wherein the third interface is a user interface of the second cloud application running in the first cloud computer virtual machine. When the user switches from the first cloud application to the second cloud application, the data transmission of the first cloud application may be interrupted, and the transmission of the user interface and the sound of the second cloud application may be transmitted and controlled using the already established data channel and control channel.
According to a first implementation form of the first aspect, in a fourth implementation form of the first aspect, when the electronic device displays the second interface, the method further comprises: in response to the electronic device receiving a second operation of switching from the second interface to the first interface, displaying the first interface on the electronic device, wherein the first interface further comprises an icon of a second cloud application, the second cloud application is installed on a second cloud computer virtual machine in a server, and the second cloud computer virtual machine deploys a third operating system different from the first operating system; in response to the second operation, the cloud application running framework sends a second control command to the first cloud computer virtual machine through the first control channel, the second control command is used for instructing the first cloud computer virtual machine to pause running of the first cloud application, and in response to the second operation, the cloud application running framework pauses receiving first data sent by the first cloud computer virtual machine through the first data channel; in response to the electronic device receiving a third operation of the icon of the second cloud application, the electronic device establishes a second control channel and a second data channel with the second cloud computer virtual machine through the cloud application running framework; the cloud application running framework sends a third control command containing an application identifier of the second cloud application to the second cloud computer virtual machine through the second control channel, wherein the third control command is used for indicating the second cloud computer virtual machine to run the second cloud application; the cloud application running framework receives third data sent by the second cloud computer virtual machine through the second data channel, wherein the third data comprises the user interface of the second cloud application running on the second cloud computer virtual machine; and displaying a third interface on the electronic equipment according to the third data, wherein the third interface is a user interface of the second cloud application running in the second cloud computer virtual machine. When the user switches from the first cloud application to the second cloud application, a performance-matched virtual machine may be allocated for the second cloud application (e.g., a game-like cloud application is matched with a high-performance virtual machine), and a data channel and a control channel are newly created to transmit and control the transmission of the user interface and sound of the second cloud application.
According to a fourth implementation form of the first aspect, in the fifth implementation form of the first aspect, the third operating system is different from the second operating system. The control method for cloud application operation can provide cloud services of multiple operating systems for the electronic equipment.
In a second aspect, the present application provides a method for controlling running of a cloud application, where the method is applied to an electronic device that deploys a first operating system, and the method includes: displaying a first interface on the electronic device, wherein the first interface comprises an icon of a cloud application and an icon of a first application, the cloud application is installed on a first cloud computer virtual machine in a server, the first cloud computer virtual machine is deployed with a second operating system different from the first operating system, the first application is installed in the electronic device, the icon of the first application on the first interface is used for receiving operation to display a user interface of the electronic device, running on the electronic device, of the first application, and the icon of the cloud application on the first interface is used for receiving operation to display the user interface of the electronic device, running on the first cloud computer virtual machine, of the cloud application; in response to the electronic device receiving a first operation of the icon of the cloud application, the icon of the cloud application disappears on the first interface or refreshes on the first interface; and in response to the first operation, the electronic device sends a first control command including an application identifier of the cloud application to the first cloud computer virtual machine, when the first control command is used for instructing the first cloud computer virtual machine to uninstall the cloud application, an icon of the cloud application disappears on the first interface, and when the first control command is used for instructing the first cloud computer virtual machine to update the cloud application, the icon of the cloud application is refreshed on the first interface. The user directly controls the cloud application icon on the electronic equipment, including updating the application and deleting the application, so that the application can be correspondingly updated and unloaded at the cloud end without a complicated virtual machine login process.
In a third aspect, the present application provides an electronic device, where the electronic device deploys a first operating system and installs a first application running on the first operating system, and the electronic device includes: a first cloud application interface element corresponding to a first cloud application, the first cloud application being installed in a first cloud computer virtual machine in a server, the first cloud computer virtual machine deploying a second operating system different from the first operating system, wherein when the first cloud application interface element and the interface element of the first application appear on a display interface of the electronic device at the same time, the first cloud application interface element is used for receiving an operation to display a user interface of the electronic device on which the first cloud application runs, and the interface element of the first application is used for receiving an operation to display a user interface of the electronic device on which the first application runs; and the cloud application running framework responds to the first cloud application interface element to receive a first operation, the cloud application running framework requests first data from the server, the first data comprises a user interface of the first cloud application running on the first cloud computer virtual machine, and responds to the first data, the cloud application running framework displays the user interface of the first cloud application running on the first cloud computer virtual machine on a display interface of the electronic equipment. The electronic equipment provides convenient and fast cloud service for the user, the user directly clicks the cloud application icon on the electronic equipment, the electronic equipment can display the interface of cloud application operation, and a complex virtual machine starting process is not needed.
According to the third aspect, in a first implementation manner of the third aspect, the cloud application running framework includes a decoding unit, configured to decode the first data, where the first data is video data; and the display unit is used for displaying the video data on a display interface of the electronic equipment.
According to a third aspect, in a second implementation manner of the third aspect, the cloud application execution framework is further configured to establish a first control channel and a first data channel between the electronic device and the first cloud computer virtual machine, where when the cloud application execution framework requests the first data from the server, the cloud application execution framework sends a first control command including an application identifier of the first cloud application through the first control channel, and the cloud application execution framework receives the first data from the server through the first data channel.
According to a third aspect, in a third implementation manner of the third aspect, in response to the first cloud application interface element receiving a second operation, the cloud application running framework is further configured to send, to the first cloud computer virtual machine, a second control command including an application identifier of the cloud application, where the second control command is used to instruct the first cloud computer virtual machine to uninstall or update the cloud application, and in response to the second operation, the first cloud application interface element is removed or refreshed on a display interface of the electronic device accordingly.
In a fourth aspect, the present application provides a method for controlling running of a cloud application, where the method is applied to a server having a first cloud computer virtual machine, where the server provides a cloud service for an electronic device to display a user interface, where the first cloud application runs on the first cloud computer virtual machine, on the electronic device, where the electronic device deploys a first operating system, the first cloud computer virtual machine deploys a second operating system different from the first operating system, and the first cloud application is installed in the first cloud computer virtual machine, and the method includes: receiving, by a cloud application connection platform of the server, a first resource request of the electronic device and returning an address of the first cloud computer virtual machine to the electronic device; establishing a connection channel between the first cloud computer virtual machine and the electronic equipment; receiving a first control command of the electronic equipment by the first cloud computer virtual machine through the connecting channel; according to the application identifier in the first control command, the first cloud computer virtual machine runs the first cloud application corresponding to the application identifier; and sending, by the first cloud computer virtual machine, a user interface for running the first cloud application to the electronic device through the connection channel.
According to a fourth aspect, in a first implementation manner of the fourth aspect, the establishing a connection channel between the first cloud computer virtual machine and the electronic device includes establishing a first control channel and a first data channel between the first cloud computer virtual machine and a cloud application operating framework of the electronic device, where the first control command is received by the first cloud computer virtual machine through the first control channel, and the user interface running the first cloud application is sent by the first cloud computer virtual machine through the first data channel, where the first cloud computer virtual machine sends first data to the cloud application operating framework of the electronic device through the first data channel, and the first data is video stream data including a user interface where the first cloud application runs on the first cloud computer virtual machine.
According to a fourth aspect, in a second implementation form of the fourth aspect, the method further comprises: sending, by the first cloud computer virtual machine, second data to the cloud application running framework of the electronic device through the first data channel, where the second data is audio stream data including sound of the first cloud application when running in the first cloud computer virtual machine.
According to a fourth aspect, in a third implementation manner of the fourth aspect, when the first cloud computer virtual machine sends the first data to the cloud application running framework of the electronic device through the first data channel, the method further includes: receiving a second control command of the electronic equipment by the first cloud computer virtual machine through the first control channel; in response to the second control command, the first cloud computer virtual machine suspends running the first cloud application; receiving, by the cloud application connection platform of the server, a second resource request of the electronic device and returning an address of the first cloud computer virtual machine to the electronic device; receiving, by the first cloud computer virtual machine, a second connection request of the electronic device; receiving, by the first cloud computer virtual machine, a third control command of the electronic device through the first control channel, where the third control command includes an application identifier of a second cloud application, where the second cloud application is an application installed in the first cloud computer virtual machine and running on the second operating system; according to the third control command, the first cloud computer virtual machine runs the second cloud application; and sending third data to the electronic device by the first cloud computer virtual machine through the first data channel, wherein the third data comprises video stream data of a user interface of the second cloud application operated by the first cloud computer virtual machine. When the electronic device requests a second cloud application service, the server may allocate, for the second cloud application, a virtual machine that has already established a connection channel with the electronic device, so as to transmit a user interface of the second cloud application.
According to a fourth aspect, in a fourth implementation manner of the fourth aspect, when the first cloud computer virtual machine sends the first data to the cloud application running framework of the electronic device through the first data channel, the method further includes: receiving a second control command of the electronic equipment by the first cloud computer virtual machine through the first control channel; in response to the second control command, the first cloud computer virtual machine suspends running the first cloud application and stops sending the first data; receiving, by the cloud application connection platform of the server, a second resource request of the electronic device and returning an address of a second cloud computer virtual machine to the electronic device, where the second cloud computer virtual machine deploys a third operating system different from the first operating system; receiving, by the second cloud computer virtual machine, a second connection request of the electronic device, and establishing a second control channel and a second data channel with the electronic device; receiving, by the second cloud computer virtual machine, a third control command of the electronic device through the second control channel, where the third control command includes an application identifier of a second cloud application, where the second cloud application is an application installed in the second cloud computer virtual machine and running on the third operating system; according to the third control command, the second cloud computer virtual machine runs the second cloud application; and sending third data to the electronic device by the first cloud computer virtual machine through the second data channel, wherein the third data comprises video stream data of a user interface of the second cloud application executed by the second cloud computer virtual machine. When the electronic device requests a second cloud application service, the server may allocate a virtual machine, the performance of which may match the second cloud application, to the second cloud application, and create a new connection channel with the electronic device, so as to transmit a user interface of the second cloud application. In this way, when the second cloud application is a game-like cloud application, the server may match the high-performance virtual machine for the electronic device again, so as to improve the experience of the user in using the cloud service.
According to a fourth aspect, in a fifth implementation manner of the fourth aspect, the third operating system deployed by the second cloud computer virtual machine is different from the second operating system deployed by the first cloud computer virtual machine. The server provided by the application can provide cloud service experience of different operating systems for the electronic equipment.
In a fifth aspect, the present application provides a server for providing cloud services for an electronic device, where the electronic device deploys a first operating system and logs in a first cloud account, and the server includes: the cloud computer virtual machine pool comprises a first cloud computer virtual machine and a second cloud computer virtual machine, wherein the first cloud computer virtual machine is used for deploying a second operating system different from the first operating system and running a first cloud application, and the second cloud computer virtual machine is used for deploying a third operating system different from the first operating system and running a second cloud application; the cloud application connection platform is used for receiving a connection request of the electronic equipment and returning an address of the first cloud computer virtual machine or the second cloud computer virtual machine to the electronic equipment; a cloud application data area for storing data of the first cloud account related to the first cloud application and data of the first cloud account related to the second cloud application; the cloud computer management system is configured to allocate a virtual machine in the cloud computer virtual machine pool to the first cloud account, wherein according to allocation of the cloud computer management system, the cloud application connection platform returns an address of the first cloud computer virtual machine or the second cloud computer virtual machine to the electronic device, and the server provides cloud service for the electronic device according to the method of any one of claims 11 to 16 to display a user interface of the first cloud application or the second cloud application running on the first cloud computer virtual machine or the second cloud computer virtual machine on the electronic device.
According to a fifth aspect, in a first implementation manner of the fifth aspect, the cloud computer management system comprises: the virtual machine management unit is used for allocating a virtual machine in the cloud computer virtual machine pool to the electronic equipment and managing a virtual machine physical area to which the cloud application purchased by the first cloud account belongs; the user management unit is used for managing recharging and payment of the first cloud account; the cloud application management unit is used for managing the first cloud account to purchase, install, uninstall and update the cloud application; and the charging service unit is used for managing charging management in the process that the first cloud account uses the cloud application. Cloud services of the cloud application can have different operation strategies, in one implementation, a cloud computer with a specified specification is leased in a monthly subscription mode, and the cloud computer can be configured as an office computer, a game computer and the like; the computer is shared by users, and the cloud application installed on the computer can be directly accessed on the electronic equipment. In another view, service subscription can also be performed according to the category of the cloud application, for example, subscription to a PC game service is performed, and then the user can directly access the high-performance game cloud application on the electronic device. The server provided by the application is connected with the platform through the cloud computer management system and the cloud application, so that connection management is carried out according to the operation strategy selected by the user.
In a sixth aspect, the present application provides an electronic device comprising one or more touch display screens, one or more memories, one or more processors; wherein the one or more memories store one or more programs; wherein the one or more processors, when executing the one or more programs, cause the electronic device to implement the methods of the various implementations of the first and second aspects described above.
In a seventh aspect, the present application provides a computer-readable storage medium, comprising instructions, which, when executed on an electronic device, cause the electronic device to perform the method according to the various implementation manners in the first and second aspects.
In an eighth aspect, the present application provides a computer program product containing instructions, characterized in that, when the computer program product is run on an electronic device, the electronic device is caused to execute the method according to the various implementation manners in the first and second aspects.
Detailed Description
When the cloud application is operated by adopting the cloud computer technology, the cloud computer virtual machine needs to be logged in through the cloud computer client, after the cloud computer virtual machine is connected to the virtual machine, the corresponding application icon is found on the desktop returned by the virtual machine, the corresponding application can be opened by clicking, the operation is complex, the consumed time is long, and the user experience is poor. Based on this, the embodiment of the application provides a cloud application operation control method and electronic equipment, which are used for providing a scheme that a user can directly access an application on a cloud computer virtual machine in one step without logging in the cloud computer virtual machine each time when the user uses a native application on non-electronic equipment each time.
The scheme provided by the embodiment of the application can be applied to the communication system shown in fig. 1, the communication system comprises the
electronic device 100 and a cloud computer service platform (not shown in the figure), and a cloud computer virtual machine, a cloud application data area and a cloud computer management system can be deployed in the cloud computer service platform. The cloud computer service platform can be implemented by one or
more servers 200, cloud computer virtual machines can be deployed on the servers, cloud application data areas can be stored on the servers, and a cloud computer management system can also run on the servers. The embodiment of the present application does not limit the number of the
electronic devices 100 and the
servers 200, and two
electronic devices 100 and
servers 200 are taken as an example in fig. 1. In fig. 1, the
electronic device 100 communicates with the
server 200 through a communication network.In the embodiment of the present application, a cloud computer client is deployed on the
electronic device 100, and one or more cloud computer virtual machines may be deployed on the
server 200. The
electronic device 100 mounts a first operating system, and the
server 200 mounts a second operating system. The first operating system is different from the second operating system. For example, the first operating system and the second operating system may be any two of the following operating systems:
windows, Linus, macOS, Hongmon OS (huaweiHarmonyOS or HongmengOS). For example, the
electronic device 100 is mounted thereon
Operating system, Windows operating system installed in
server 200, or Windows operating system installed in
electronic device 100
The operating system, the
server 200, is loaded with the Windows operating system. The communication network may be a local area network or a wide area network (wan) switched by a relay device. When the communication network is a local area network, the communication network may be a wifi hotspot network, a wifi direct network, a bluetooth network, a zigbee network, or a Near Field Communication (NFC) network, for example. When the communication network is a wide area network, the communication network may be, for example, a third generation mobile communication technology (3rd-generation wireless telephone technology, 3G) network, a fourth generation mobile communication technology (4G) network, a fifth generation mobile communication technology (5th-generation mobile communication technology, 5G) network, a Public Land Mobile Network (PLMN) for future evolution, the internet, or the like.
The
electronic device 100 in the embodiment of the present application may be a portable electronic device, such as a mobile phone, a tablet computer, a wearable device (e.g., a smart watch) with a wireless communication function, and the like. Exemplary embodiments of the portable electronic device include, but are not limited to, a mount
Or other operating system. The portable electronic device may be a vehicle-mounted terminal, a Laptop computer (Laptop), or the like. It should also be understood that the electronic device of the embodiment of the present application may also be a desktop computer, a smart television, and the like, which is not limited thereto.
As shown in fig. 2, theelectronic device 100 may include aprocessor 110, anexternal memory interface 120, aninternal memory 121, a Universal Serial Bus (USB)interface 130, acharging management module 140, apower management module 141, abattery 142, anantenna 1, anantenna 2, amobile communication module 150, awireless communication module 160, anaudio module 170, aspeaker 170A, areceiver 170B, amicrophone 170C, an earphone interface 170D, asensor module 180, abutton 190, amotor 191, anindicator 192, acamera 193, adisplay screen 194, a Subscriber Identity Module (SIM)card interface 195, and the like.
Processor 110 may include one or more processing units, such as: theprocessor 110 may include an Application Processor (AP), a modem processor, a Graphics Processing Unit (GPU), an Image Signal Processor (ISP), a controller, a memory, a video codec, a Digital Signal Processor (DSP), a baseband processor, and/or a neural-Network Processing Unit (NPU), etc. The different processing units may be separate devices or may be integrated into one or more processors. The controller may be, among other things, a neural center and a command center of theelectronic device 100. The controller can generate an operation control signal according to the instruction operation code and the timing signal to complete the control of instruction fetching and instruction execution. A memory may also be provided inprocessor 110 for storing instructions and data. In some embodiments, the memory in theprocessor 110 is a cache memory. The memory may hold instructions or data that have just been used or recycled by theprocessor 110. If theprocessor 110 needs to reuse the instruction or data, it can be called directly from the memory. Avoiding repeated accesses reduces the latency of theprocessor 110, thereby increasing the efficiency of the system.
TheUSB interface 130 is an interface conforming to the USB standard specification, and may specifically be a Mini USB interface, a Micro USB interface, a USB Type C interface, or the like. TheUSB interface 130 may be used to connect a charger to charge theelectronic device 100, and may also be used to transmit data between theelectronic device 100 and a peripheral device. Thecharging management module 140 is configured to receive charging input from a charger. Thepower management module 141 is used to connect thebattery 142, thecharging management module 140 and theprocessor 110. Thepower management module 141 receives input from thebattery 142 and/or thecharge management module 140 and provides power to theprocessor 110, theinternal memory 121, the external memory, thedisplay 194, thecamera 193, thewireless communication module 160, and the like.
The wireless communication function of theelectronic device 100 may be implemented by theantenna 1, theantenna 2, themobile communication module 150, thewireless communication module 160, a modem processor, a baseband processor, and the like. Theantennas 1 and 2 are used for transmitting and receiving electromagnetic wave signals. Each antenna in theelectronic device 100 may be used to cover a single or multiple communication bands. Different antennas can also be multiplexed to improve the utilization of the antennas. For example: theantenna 1 may be multiplexed as a diversity antenna of a wireless local area network. In other embodiments, the antenna may be used in conjunction with a tuning switch.
Themobile communication module 150 may provide a solution including 2G/3G/4G/5G wireless communication applied to theelectronic device 100. Themobile communication module 150 may include at least one filter, a switch, a power amplifier, a Low Noise Amplifier (LNA), and the like. Themobile communication module 150 may receive the electromagnetic wave from theantenna 1, filter, amplify, etc. the received electromagnetic wave, and transmit the electromagnetic wave to the modem processor for demodulation. Themobile communication module 150 may also amplify the signal modulated by the modem processor, and convert the signal into electromagnetic wave through theantenna 1 to radiate the electromagnetic wave. In some embodiments, at least some of the functional modules of themobile communication module 150 may be disposed in theprocessor 110. In some embodiments, at least some of the functional modules of themobile communication module 150 may be disposed in the same device as at least some of the modules of theprocessor 110.
Thewireless communication module 160 may provide a solution for wireless communication applied to theelectronic device 100, including Wireless Local Area Networks (WLANs) (e.g., wireless fidelity (Wi-Fi) networks), bluetooth (bluetooth, BT), Global Navigation Satellite System (GNSS), Frequency Modulation (FM), Near Field Communication (NFC), Infrared (IR), and the like. Thewireless communication module 160 may be one or more devices integrating at least one communication processing module. Thewireless communication module 160 receives electromagnetic waves via theantenna 2, performs frequency modulation and filtering processing on electromagnetic wave signals, and transmits the processed signals to theprocessor 110. Thewireless communication module 160 may also receive a signal to be transmitted from theprocessor 110, perform frequency modulation and amplification on the signal, and convert the signal into electromagnetic waves through theantenna 2 to radiate the electromagnetic waves.
In some embodiments,antenna 1 ofelectronic device 100 is coupled tomobile communication module 150 andantenna 2 is coupled towireless communication module 160 so thatelectronic device 100 can communicate with networks and other devices through wireless communication techniques. The wireless communication technology may include global system for mobile communications (GSM), General Packet Radio Service (GPRS), code division multiple access (code division multiple access, CDMA), Wideband Code Division Multiple Access (WCDMA), time-division code division multiple access (time-division code division multiple access, TD-SCDMA), Long Term Evolution (LTE), LTE, BT, GNSS, WLAN, NFC, FM, and/or IR technologies, etc. The GNSS may include a Global Positioning System (GPS), a global navigation satellite system (GLONASS), a beidou navigation satellite system (BDS), a quasi-zenith satellite system (QZSS), and/or a Satellite Based Augmentation System (SBAS).
Thedisplay screen 194 is used to display a display interface of an application and the like. Thedisplay screen 194 includes a display panel. The display panel may adopt a Liquid Crystal Display (LCD), an organic light-emitting diode (OLED), an active-matrix organic light-emitting diode (active-matrix organic light-emitting diode, AMOLED), a flexible light-emitting diode (FLED), a miniature, a Micro-oeld, a quantum dot light-emitting diode (QLED), and the like. In some embodiments, theelectronic device 100 may include 1 or N display screens 194, with N being a positive integer greater than 1.
Thecamera 193 is used to capture still images or video. In some embodiments,camera 193 may include at least one camera, such as a front camera and a rear camera.
Theinternal memory 121 may be used to store computer-executable program code, which includes instructions. Theprocessor 110 executes various functional applications of theelectronic device 100 and data processing by executing instructions stored in theinternal memory 121. Theinternal memory 121 may include a program storage area and a data storage area. Wherein, the storage program area can store an operating system, software codes of at least one application program (such as an Aichi art application, a WeChat application, etc.), and the like. The storage data area may store data (e.g., images, videos, etc.) generated during use of theelectronic device 100, and the like. In addition, theinternal memory 121 may include a high-speed random access memory, and may further include a nonvolatile memory, such as at least one magnetic disk storage device, a flash memory device, a universal flash memory (UFS), and the like.
Theexternal memory interface 120 may be used to connect an external memory card, such as a Micro SD card, to extend the memory capability of theelectronic device 100. The external memory card communicates with theprocessor 110 through theexternal memory interface 120 to implement a data storage function. For example, files such as pictures, videos, and the like are saved in an external memory card.
Theelectronic device 100 may implement audio functions via theaudio module 170, thespeaker 170A, thereceiver 170B, themicrophone 170C, the headphone interface 170D, and the application processor. Such as music playing, recording, etc.
Thesensor module 180 may include apressure sensor 180A, agyroscope sensor 180B, anair pressure sensor 180C, amagnetic sensor 180D, anacceleration sensor 180E, adistance sensor 180F, aproximity light sensor 180G, afingerprint sensor 180H, a temperature sensor 180J, a touch sensor 180K, an ambientlight sensor 180L, abone conduction sensor 180M, and the like.
Thepressure sensor 180A is used for sensing a pressure signal, and converting the pressure signal into an electrical signal. In some embodiments, thepressure sensor 180A may be disposed on thedisplay screen 194. Thegyro sensor 180B may be used to determine the motion attitude of theelectronic device 100. In some embodiments, the angular velocity ofelectronic device 100 about three axes (i.e., the x, y, and z axes) may be determined bygyroscope sensor 180B.
Thegyro sensor 180B may be used for photographing anti-shake. Theair pressure sensor 180C is used to measure air pressure. In some embodiments,electronic device 100 calculates altitude, aiding in positioning and navigation, from barometric pressure values measured bybarometric pressure sensor 180C. Themagnetic sensor 180D includes a hall sensor. Theelectronic device 100 may detect the opening and closing of the flip holster using themagnetic sensor 180D. In some embodiments, when theelectronic device 100 is a flip phone, theelectronic device 100 may detect the opening and closing of the flip according to themagnetic sensor 180D. And then according to the opening and closing state of the leather sheath or the opening and closing state of the flip cover, the automatic unlocking of the flip cover is set. Theacceleration sensor 180E may detect the magnitude of acceleration of theelectronic device 100 in various directions (typically three axes). The magnitude and direction of gravity can be detected when theelectronic device 100 is stationary. The method can also be used for recognizing the posture of the electronic equipment, and is applied to horizontal and vertical screen switching, pedometers and other applications.
Adistance sensor 180F for measuring a distance. Theelectronic device 100 may measure the distance by infrared or laser. In some embodiments, taking a picture of a scene,electronic device 100 may utilizerange sensor 180F to range for fast focus. Theproximity light sensor 180G may include, for example, a Light Emitting Diode (LED) and a light detector, such as a photodiode. The light emitting diode may be an infrared light emitting diode. Theelectronic device 100 emits infrared light to the outside through the light emitting diode. Theelectronic device 100 detects infrared reflected light from nearby objects using a photodiode. When sufficient reflected light is detected, it can be determined that there is an object near theelectronic device 100. When insufficient reflected light is detected, theelectronic device 100 may determine that there are no objects near theelectronic device 100. Theelectronic device 100 can utilize theproximity light sensor 180G to detect that the user holds theelectronic device 100 close to the ear for talking, so as to automatically turn off the screen to achieve the purpose of saving power. Theproximity light sensor 180G may also be used in a holster mode, a pocket mode automatically unlocks and locks the screen.
The ambientlight sensor 180L is used to sense the ambient light level.Electronic device 100 may adaptively adjust the brightness ofdisplay screen 194 based on the perceived ambient light level. The ambientlight sensor 180L may also be used to automatically adjust the white balance when taking a picture. The ambientlight sensor 180L may also cooperate with theproximity light sensor 180G to detect whether theelectronic device 100 is in a pocket to prevent accidental touches. Thefingerprint sensor 180H is used to collect a fingerprint. Theelectronic device 100 can utilize the collected fingerprint characteristics to unlock the fingerprint, access the application lock, photograph the fingerprint, answer an incoming call with the fingerprint, and so on.
The temperature sensor 180J is used to detect temperature. In some embodiments,electronic device 100 implements a temperature processing strategy using the temperature detected by temperature sensor 180J. For example, when the temperature reported by the temperature sensor 180J exceeds a threshold, theelectronic device 100 performs a reduction in performance of a processor located near the temperature sensor 180J, so as to reduce power consumption and implement thermal protection. In other embodiments, theelectronic device 100 heats thebattery 142 when the temperature is below another threshold to avoid the low temperature causing theelectronic device 100 to shut down abnormally. In other embodiments, when the temperature is lower than a further threshold, theelectronic device 100 performs boosting on the output voltage of thebattery 142 to avoid abnormal shutdown due to low temperature.
The touch sensor 180K is also referred to as a "touch panel". The touch sensor 180K may be disposed on thedisplay screen 194, and the touch sensor 180K and thedisplay screen 194 form a touch screen, which is also called a "touch screen". The touch sensor 180K is used to detect a touch operation applied thereto or nearby. The touch sensor can communicate the detected touch operation to the application processor to determine the touch event type. Visual output associated with the touch operation may be provided through thedisplay screen 194. In other embodiments, the touch sensor 180K may be disposed on a surface of theelectronic device 100, different from the position of thedisplay screen 194.
Thebone conduction sensor 180M may acquire a vibration signal. In some embodiments, thebone conduction sensor 180M may acquire a vibration signal of the human vocal part vibrating the bone mass. Thebone conduction sensor 180M may also contact the human pulse to receive the blood pressure pulsation signal.
Thekeys 190 include a power-on key, a volume key, and the like. Thekeys 190 may be mechanical keys. Or may be touch keys. Theelectronic apparatus 100 may receive a key input, and generate a key signal input related to user setting and function control of theelectronic apparatus 100. Themotor 191 may generate a vibration cue. Themotor 191 may be used for incoming call vibration cues, as well as for touch vibration feedback. For example, touch operations applied to different applications (e.g., photographing, audio playing, etc.) may correspond to different vibration feedback effects.Indicator 192 may be an indicator light that may be used to indicate a state of charge, a change in charge, or a message, missed call, notification, etc. TheSIM card interface 195 is used to connect a SIM card. The SIM card may be brought into and out of contact with theelectronic device 100 by being inserted into theSIM card interface 195 or being pulled out of theSIM card interface 195.
It is to be understood that the components shown in fig. 1 are not to be construed as specifically limiting forelectronic device 100, and thatelectronic device 100 may include more or fewer components than shown, or some components may be combined, or some components may be split, or a different arrangement of components. The illustrated components may be implemented in hardware, software, or a combination of software and hardware.
On the other hand, the software system of theelectronic device 100 may adopt a layered architecture, an event-driven architecture, a micro-core architecture, a micro-service architecture, or a cloud architecture. The embodiment of the present invention uses an Android system with a layered architecture as an example to exemplarily illustrate a software structure of theelectronic device 100. Fig. 3 is a block diagram of the software configuration of theelectronic apparatus 100 according to the embodiment of the present invention. The layered architecture divides the software into several layers, each layer having a clear role and division of labor. The layers communicate with each other through a software interface. In some embodiments, the Android system is divided into four layers, an application layer, an application framework layer, an Android runtime (Android runtime) and system library, and a kernel layer from top to bottom.
As shown in FIG. 3, the application layer may include mail, notes, file managers, browsers, and other third party applications, among others. The third-party application program may include a cloud application market, WeChat, QQ, a gallery, a calendar, a call, a map, navigation, WLAN, Bluetooth, music, video, short message, and the like. The third party application program may also include a launcher (launcher) of a cloud application such ascloud game 1,cloud game 2, and the like.
The application framework layer provides an Application Programming Interface (API) and a programming framework for the application program of the application layer. The application framework layer includes a number of predefined functions. As shown in FIG. 3, the application framework layers may include a window manager, content provider, view system, phone manager, resource manager, notification manager, and the like. The application framework layer also comprises a cloud application running framework. The cloud application operation framework is integrated with functions of establishing a connection channel with the cloud computer virtual machine, encoding and decoding audio and video transmitted by the cloud computer virtual machine through the connection channel and the like. In one example, the cloud application running framework may further integrate functions such as processing a click event of a cloud application icon on theelectronic device 100, managing a cloud application display window, and managing notification of messages, and the cloud application (such as thegame 1 and the game 2) located in the application program layer does not need to call an existing window manager, so that the development complexity of a desktop launcher of the cloud application is reduced. In another example, the cloud application running framework may not integrate functions of processing a click event of a cloud application icon on theelectronic device 100, managing a cloud application display window, and the like, and the cloud application (for example, thegame 1 and the game 2) located in the application layer may call a window manager, a notification manager, and the like configured in the application framework layer to implement corresponding functions.
The window manager is used for managing window programs. The window manager can obtain the size of the display screen, judge whether a status bar exists, lock the screen, intercept the screen and the like. The content provider is used to store and retrieve data and make it accessible to applications. The data may include video, images, audio, calls made and received, browsing history and bookmarks, phone books, etc. The view system includes visual controls such as controls to display text, controls to display pictures, and the like. The view system may be used to build applications. The display interface may be composed of one or more views. For example, the display interface including the short message notification icon may include a view for displaying text and a view for displaying pictures. The phone manager is used to provide communication functions of theelectronic device 100. Such as management of call status (including on, off, etc.). The resource manager provides various resources for the application, such as localized strings, icons, pictures, layout files, video files, and the like. The notification manager enables the application to display notification information in the status bar, can be used to convey notification-type messages, can disappear automatically after a short dwell, and does not require user interaction. Such as a notification manager used to inform download completion, message alerts, etc. The notification manager may also be a notification that appears in the form of a chart or scroll bar text at the top status bar of the system, such as a notification of a background running application, or a notification that appears on the screen in the form of a dialog window. For example, prompting text information in the status bar, sounding a prompt tone, vibrating the electronic device, flashing an indicator light, etc.
The Android Runtime (Android Runtime) includes a core library and a virtual machine on theelectronic device 100. The Android runtime is responsible for scheduling and managing an Android system. The core library comprises two parts: one part is a function which needs to be called by java language, and the other part is a core library of android.
The application layer and the application framework layer run in a virtual machine. And executing java files of the application program layer and the application program framework layer into a binary file by the virtual machine. The virtual machine is used for performing the functions of object life cycle management, stack management, thread management, safety and exception management, garbage collection and the like.
The system library may include a plurality of functional modules. For example: surface managers (surface managers), Media Libraries (Media Libraries), three-dimensional graphics processing Libraries (e.g., OpenGL ES), 2D graphics engines (e.g., SGL), and the like. The surface manager is used to manage the display subsystem and provide fusion of 2D and 3D layers for multiple applications. The media library supports a variety of commonly used audio, video format playback and recording, and still image files, among others. The media library may support a variety of audio-video encoding formats, such as: MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, etc. The three-dimensional graphic processing library is used for realizing three-dimensional graphic drawing, image rendering, synthesis, layer processing and the like. The 2D graphics engine is a drawing engine for 2D drawing.
The kernel layer is a layer between hardware and software. The inner core layer at least comprises a display driver, a camera driver, an audio driver and a sensor driver.
The technical solutions provided in the embodiments of the present application are described below with reference to the accompanying drawings, wherein in the description of the embodiments of the present application, the terms "first" and "second" are used for descriptive purposes only and are not to be construed as indicating or implying relative importance or implicitly indicating the number of technical features indicated. Thus, a feature defined as "first" or "second" may explicitly or implicitly include one or more of that feature. In the description of the embodiments of the present application, "a plurality" means two or more unless otherwise specified.
The following embodiments are provided for mounting the Windows operating system in the
server 200 and the
electronic device 100
The operating system is described as an example.
Deployment and display of cloud application
For a cloud computer service platform or a server side, a cloud computer virtual machine is deployed in theserver 200. Scene one: the cloud computer virtual machine can be configured for a user, and the scenario two is as follows: the cloud computer virtual machine can be configured for different business types.
In a first scenario, when the cloud computer virtual machine is configured for a user, a plurality of cloud computer virtual machines are deployed in theserver 200, and when a certain user applies for a cloud service through theelectronic device 100, one cloud computer virtual machine is allocated to the user, and the cloud computer virtual machine may install cloud applications of various service types, such ascloud game 1,cloud game 2, hua-qi video, and the like, based on a request of the user.
In a second scenario, when the cloud computer virtual machine is configured for a service type, theserver 200 may be deployed with a plurality of cloud computer virtual machine pools, and the cloud computer virtual machines in different cloud computer virtual machine pools are used to install different types of cloud applications, for example, the cloud computervirtual machine pool 1 includes a plurality of cloud computer virtual machines, and each cloud computer virtual machine is used to install a game type cloud application, such ascloud game 1 andcloud game 2. The cloud computervirtual machine pool 2 comprises a plurality of cloud computer virtual machines, and each cloud computer virtual machine is used for installing office cloud applications, such as word and excel. The cloud computer virtual machine pool 3 includes a plurality of cloud computer virtual machines, and each cloud computer virtual machine is used for installing a video-like cloud application, such as hua is a video.
For the electronic device side, an icon of the cloud application is included in the display interface of the
electronic device 100. In one example, the icon of the cloud application can be associated with a native application of the electronic device (particularly when installed on the electronic device
Applications of an operating system) are regularly arranged in a grid on a display interface of the electronic device. In another example, the cloud application is displayed separately from the native application, such as icons of multiple cloud applications are aggregated in one or more folders, e.g., cloud applications belonging to the same type may be aggregated in one folder and different types of cloud applications aggregated in different folders. The specific arrangement may be changed by a user, and the present application is not limited to this.
Taking theelectronic device 100 as an example of the smart television, referring to fig. 4, a main interface displayed on thedisplay screen 194 of the smart television may be theuser interface 400 shown in fig. 4. Theuser interface 400 may include anavigation bar 401, a plurality of windows, icons for a plurality of applications, and the like.Navigation bar 401 may include home page, drama, movie, art, children, spot, application, etc. The multiple windows may display a current drama trailer, drama poster, etc. being hotcast. The icons of the plurality of applications include cloud application icons, such ascloud game 1 andcloud game 2 shown in fig. 4. The icons of the plurality of application programs also include an icon of a smart tv native application, such asvideo 1 shown in fig. 4. The user may select a desired cloud application through the television remote control. For example, the user triggers a selection operation for selecting thecloud game 2 to the smart television through the television remote controller, and the smart television responds to the selection operation of the user and displays the main interface of thecloud game 2.
Taking theelectronic device 100 as a mobile phone as an example, referring to fig. 5, a main interface displayed on thedisplay screen 194 of the mobile phone may be theuser interface 500 shown in fig. 5. Theuser interface 500 may include acloud application folder 501, for example, thecloud application folder 501 may include acloud game 1, acloud game 2, and a Huanwan video. Other cloud applications may also be included in the cloud application folder, which is not further illustrated herein. In addition, theuser interface 500 may include icons for other applications, such as a settings icon, a memo icon, a gallery icon, and the like. In some embodiments, theuser interface 500 may also include astatus bar 502 and aDock bar 503. Thestatus bar 502 may include a name of an operator (e.g., china mobile, etc.), a mobile network (e.g., 4G), a bluetooth icon, time, and remaining power. Further, it is understood that in other embodiments, a WiFi icon, an add-on icon, etc. may also be included in thestatus bar 502. Icons for common applications, such as phone icons, information icons, mail icons, and weather icons, may be included inDock bar 503. It should be noted that the icons in the Dock column may be set according to the needs of the user. The mobile phone responds to a first operation, the cloud application folder is expanded, the first operation is triggered by a user touching thecloud application folder 501, theuser interface 510 is displayed on thedisplay screen 194, and in theuser interface 510, thecloud application folder 501 is expanded and displayed, that is, icons corresponding to thecloud game 1, thecloud game 2 and the video contained in thecloud application folder 501 are displayed. In response to the second operation that the user clicks thecloud game 1 icon, the mobile phone may display theapplication home interface 520 of thecloud game 1.
By adding the cloud application (such as a windows application) icon on the user interface of the electronic equipment, after the user clicks the cloud application icon, the mobile phone can directly start the cloud application to automatically establish communication connection with the cloud server, the user does not need to log in a cloud computer virtual machine like the prior art, operation steps for accessing the cloud application are reduced, and time is saved.
Cloud service and charging
Cloud application racking
As an example, in order to facilitate a user to purchase a service related to a cloud application, a cloud application region may be added to an application market, and an entrance for purchasing a cloud computer service is provided for the user through the added cloud application region. When the specific cloud application is put on shelf in the cloud application region, a developer can apply for an ID for the application to be put on shelf on a service platform (or a server) for providing cloud application region service, and relevant screenshot information is filled, so that a user can know the application purpose conveniently. And uploading the Windows application installation program to the service platform or the server by the developer so as to complete the application on shelf. After the follow-up developer has the new version of cloud application, the new version of application installation program can be uploaded again and released again on the service platform.
Cloud service charging
The method for purchasing the cloud computer service (also called cloud service) provided for the user can be to set different fees for cloud computers of different specifications, the user pays for renting the cloud computer of the specified specification to be used by one account or a plurality of accounts specified by the user, and various cloud applications can be installed. The mode for purchasing the cloud computer service provided for the user can also be a mode for setting different fees according to the service duration purchased by the user, such as a mode for purchasing monthly, hourly, quarterly or yearly; or different fees are set for the applications purchased by the user; different expenses can be set according to the number of the applications and the service duration, and purchasing modes such as monthly/application, hour/application, season/application, year/application and the like can be set; different fees can be set for service duration corresponding to different applications, and a user can purchase cloud services with a certain service duration according to requirements. The method can also be a prepayment mode aiming at the user, such as prepayment of 50 yuan, and then charging can be carried out according to the quantity and duration of the cloud application used by the user. This is not to be taken in any way limiting by the present application.
Takingelectronic device 100 as an example of a smart television, referring to fig. 6, the smart television is configured to respond to an operation of selecting an application innavigation bar 401 inuser interface 400 in fig. 6 by displayinguser interface 600 ondisplay screen 194. Theuser interface 600 may include anavigation bar 601, various application specific classification icons, and the like. Thenavigation bar 601 may include recommendations, categories, my (representing my applications), and the like. The application specific classification icons may include cloud application specific icons for providing relevant services of cloud applications, such ascloud games 602 andcloud offices 603. The application-specific classification icons can also include classification-specific icons of other cloud applications, which is not illustrated here. In addition to the cloud application specific area icons, theuser interface 600 may also include other application specific area classification icons, such as games, utilities, news reading, financial management, sports health, photo beautification, convenience of life, etc., to provide access for a user to install applications of the smart television native operating system.
In one example, referring to fig. 7, in response to an operation of a user to open acloud game 602, if the user does not purchase a cloud computer service, the smart tv displays a user interface indicating purchase of the cloud application service, which includes icons directing the user to perform operations, such as purchase of the cloud application service, and playing of a video. After the user finishes purchasing the cloud application service, installation icons of various applications are displayed, such as auser interface 610, and theuser interface 610 includes installation icons of games, such ascloud game 1,cloud game 2 and the like. In response to the operation of installing thecloud game 1, the smart television installs an application program corresponding to thecloud game 1 in the cloud computer virtual machine, and displays an icon of thecloud game 1 on a main interface of the smart television, for example, in a display manner as shown in fig. 4.
Taking theelectronic device 100 as an example of a mobile phone, referring to fig. 8, the mobile phone displays auser interface 800 on thedisplay screen 194 in response to an operation of clicking an application market icon in theuser interface 500 in fig. 5. Theuser interface 800 may include asearch box 801 and anicon 802 for installing a cloud application, which is named "cloud application" in this embodiment, and may also be named other names, which is not limited in this application. Theuser interface 800 may also include anindex bar 803 including recommendations, applications, games, my, and the like. Theuser interface 800 may also include icons for applications installed on the native operating system of the cell phone, such as fast applications, active,application 1,application 2, application 3, and application 4, among others.
For scenario one, the cloud computer virtual machine configuration is for a user, for example, referring to fig. 8, in response to an operation of opening acloud application 802 by the user, the mobile phone displays a user interface for directing the purchase of the cloud application, including icons for directing the user to perform operations, such as a trial spot, purchase of a cloud computer, and play of a machine video, if the user does not purchase a cloud application service. After the user completes the purchase, installation icons of various applications are displayed. If the user has purchased the cloud application service and within the service validity period, the mobile phone displays installation icons of various applications in response to an operation of the user to open thecloud application 802. For example,user interface 810, which includes installation icons forcloud game 1,cloud game 2, Huanyan video, and so forth. In response to the operation of installing thecloud game 1, the mobile phone installs an application corresponding to thecloud game 1 in the cloud computer virtual machine, and displays an icon of thecloud game 1 on a main interface of the mobile phone, for example, in a display manner as shown by 510 in fig. 5.
For scenario two, the cloud computer virtual machine configuration is for a service type, for example, as shown in fig. 9, in response to an operation of opening acloud application 802 by a user, a mobile phone displays cloud application type icons of different service types, such as auser interface 910, including agame class 901, anoffice class 902, and avideo class 903. In response to the operation of clicking thegame class 901 by the user, if the user does not purchase the game class cloud application service, the mobile phone displays a user interface for guiding the purchase of the game class cloud application, which may include icons for guiding the user to perform operations, such as trying out a special area, purchasing a cloud game, playing a video. After the user completes the purchase, installation icons of various game cloud applications are displayed. If the user has purchased the game cloud application service, and within the service validity period, the mobile phone displays installation icons of various game cloud applications in response to an operation of opening thegame class 901 by the user. For example,user interface 920, which includes installation icons forcloud game 1,cloud game 2, and so on.
Distribution and management of virtual machines
In order to implement the operation that theelectronic device 100 opens the cloud application in response to the user triggering, theelectronic device 100 can directly open the cloud application without logging in the cloud computer virtual machine, and theelectronic device 100 may be implemented in a manner that it is assumed that theelectronic device 100 employs a first operating system and theserver 200 employs a second operating system. Referring to fig. 10, a cloud application running framework is provided in theelectronic device 100 for a cloud application, and the cloud application running framework includes a cloud application Software Development Kit (SDK). The SDK is used for establishing communication connection with the cloud computer virtual machine, sending client information to the cloud computer virtual machine, receiving videos or audios and the like sent by the cloud computer virtual machine, and displaying the videos or playing the audios on corresponding cloud applications. The cloud computer service platform is provided with a virtual machine pool and a cloud application data area. The virtual machine pool comprises a plurality of cloud computer virtual machines. For example, a virtual machine may be a computing unit with 8U +32G (8 cores, 32G memory), and 256G of storage space. In one embodiment, the computing unit and the storage space may be separate computers, i.e., distributed computers. The storage space in the operating system, the programs and data of the cloud application may be stored in a dedicated storage room.
When theelectronic device 100 receives an operation of opening a specific cloud application triggered by a user, theelectronic device 100 establishes a connection channel with a cloud computer virtual machine in a virtual machine pool through an operation process of a cloud application operation framework, where the connection channel may include a control channel and a flow channel. Theelectronic device 100 sends the ID of the specific cloud application to the cloud computer virtual machine through the control channel, and is configured to notify the cloud computer virtual machine to start the specific cloud application corresponding to the ID, and load the user data of the specific cloud application. The operational data and user data for a particular cloud application may be stored in the cloud application data area. After the cloud computer virtual machine starts the specific cloud application, a display interface of the specific cloud application and a sound of the specific cloud application are presented on theelectronic device 100 in real time through the flow channel. Specifically, after the cloud computer virtual machine starts a specific cloud application, an interface of the specific cloud application is encoded into a video stream, a sound of the specific cloud application is encoded into an audio stream, and the encoded video stream and the encoded audio stream are sent to the cloud application running framework through a stream channel, so that the cloud application running framework decodes the video stream and the audio stream, displays images in the video stream on a display of theelectronic device 100, and plays sound of the audio stream through a speaker.
The cloud computer service platform can further comprise a cloud computer management system besides the virtual machine pool and the cloud application data area. The cloud application operating framework of theelectronic device 100 also performs message interaction with the cloud computer management system, including but not limited to message interaction of registration information, message interaction of account and password information, message interaction related to account recharging and expenses, message interaction related to installation, uninstallation and update of a cloud application, and the like.
The cloud computer management system comprises the following units:
1) a user management unit: the method is used for managing each user account, including recharging, payment and the like.
2) A cloud application management unit: the cloud application management system is used for managing purchase, installation, uninstallation, update and other operations of the cloud application by each user.
3) A charging service unit: and the charging management is used in the process that each user uses the cloud application.
4) A virtual machine management unit: the cloud application management method is used for managing the virtual machine physical area to which the cloud application purchased by a user belongs.
5) The cloud application connection unit or the cloud application connection platform is as follows: for receiving connection requests and returning connection resources (e.g., virtual machine addresses).
The user management unit and the charging service management unit are used for managing the relevant information of the cloud computer purchased by each user, such as charging. During charging, charging can be performed according to a mode when a user purchases cloud services, such as monthly payment, a monthly charging mode is performed for a certain user, and further, a monthly/application + prepaid charging mode is performed for the number of cloud applications used by the user. The cloud computer management system can also be used for maintaining and diagnosing the inlet of the cloud computer. The virtual machine management unit may perform different management modes/policies according to the first scenario and the second scenario, which is not limited in the present application.
For the cloud computer service platform or the server side, allocating a virtual machine or determining whether a connected virtual machine or an established connection channel matches a cloud application to be started may be performed by a cloud computer management system in the cloud computer service platform, for example, by a cloud application connection platform.
In one example, in a scenario where the cloud computer virtual machine configuration is for a user, when theelectronic device 100 responds to a purchase request of the user, theserver 200 allocates a cloud computer virtual machine, for example,virtual machine 1, to the user. After the user completes purchase through theelectronic device 100, thevirtual machine 1 may be allocated to the user when the user requests installation of a certain cloud application for the first time. A user using theelectronic apparatus 100 can install various types of cloud applications on thevirtual machine 1. For example, when theelectronic device 100 receives an operation of opening a first cloud application triggered by a user, theelectronic device 100 establishes a connection control channel and a flow channel with thevirtual machine 1 through the cloud application running framework. Theelectronic device 100 sends the ID of the first cloud application to thevirtual machine 1 through the control channel, so as to notify thevirtual machine 1 to start the first cloud application corresponding to the ID. After thevirtual machine 1 starts the first cloud application, an interface of the first cloud application is encoded into a video stream, a sound of the first cloud application is encoded into an audio stream, and the encoded video stream and the encoded audio stream are sent to the cloud application operating framework through the stream channel, so that the cloud application operating framework decodes the video stream and the audio stream (or performs audio and video encoding, sends the encoded audio and video stream to the cloud application operating framework, and the cloud application operating framework decodes the audio and video stream), displays an image in the video stream of the first cloud application on a display of theelectronic device 100, and plays a sound of the audio stream of the first cloud application through a speaker. Under the condition of starting the first cloud application, when the electronic device receives an operation of opening a second cloud application triggered by a user, theelectronic device 100 sends an ID of the second cloud application to thevirtual machine 1 through the control channel, so as to notify thevirtual machine 1 of starting the second cloud application corresponding to the ID; after thevirtual machine 1 starts the second cloud application, the video stream and the audio stream of the first cloud application are stopped being sent to the cloud application running framework through the flow channel, the interface of the second cloud application is encoded into the video stream, the sound of the second cloud application is encoded into the audio stream, the video stream obtained through encoding and the audio stream obtained through encoding are sent to the cloud application running framework through the flow channel, so that the video stream and the audio stream of the second cloud application are decoded by the cloud application running framework, the image in the video stream of the second cloud application is displayed on the display of theelectronic device 100, and the sound of the audio stream of the second cloud application is played through the speaker. One possible scenario, whereelectronic device 100 supports split screens, different cloud applications may time-multiplex the stream channels, such as where the display interface ofelectronic device 100 is split into a first display region and a second display region. For example, the first display area displays an interface of a first cloud application, the second display area displays an interface of a second cloud application, and the stream channel is time-division multiplexed to transfer the data stream of the first cloud application and the data stream of the second cloud application. In another possible case, the first cloud application only generates an audio stream at the current time, and the second cloud application only generates a video stream at the current time, in this case, when the electronic device receives an operation of opening the second cloud application triggered by a user in a case of starting the first cloud application, thevirtual machine 1 sends the audio stream of the first cloud application to the cloud application running framework through the stream channel, and sends the video stream of the second cloud application to the cloud application running framework through the stream channel. For example, the first cloud application is an audio player, the second cloud application is a word, and the word can be used for text editing in the process of playing music. It is also possible that theelectronic device 100 establishes a connection with thevirtual machine 1 through the cloud application running framework to support one or more control channels, and/or one or more stream channels, wherein the one or more stream channels comprise one or more audio stream channels and/or one or more video stream channels. The multiple control channels and the multiple flow channels may all support a scenario in which theelectronic device 100 side opens multiple cloud applications and runs simultaneously, which is similar to a scenario in which a single control channel and a single flow channel support one or more cloud applications, and details are not repeated here.
In another example, in scenario two, where the cloud computer virtual machine is configured for a business type, the user purchases a first type of cloud application and a second type of cloud application viaelectronic device 100. Taking the first type cloud application as a game cloud application as an example, and the second type cloud application as an office cloud application as an example, the two types of cloud applications are configured on different virtual machines. For example, when theelectronic device 100 receives an operation of opening a first cloud application (game-like cloud application) triggered by a user, the cloud application running framework sends a first cloud application ID to the cloud computer service platform, the cloud computer service platform allocates thevirtual machine 1 to the electronic device according to the first cloud application ID, thevirtual machine 1 supports the game-like cloud application, and the electronic device establishes a connection channel 1 (including thecontrol channel 1 and the flow channel 1) with thevirtual machine 1. Under the condition that the first cloud application is started, when the electronic equipment receives an operation of opening the second cloud application triggered by a user, the second cloud application is an office cloud application, identification information of a cloud application running framework virtual machine 1 and an ID of the second cloud application are sent to a cloud computer service platform, or a connection channel identification and the ID of the first cloud application are sent to the cloud computer service platform, the cloud computer service platform judges whether the current virtual machine 1 or the connection channel 1 is matched with the ID of the second cloud application, if the connection channel identification and the ID of the first cloud application are not matched, the cloud computer service platform can allocate the virtual machine 2 to the electronic equipment, and the virtual machine 2 supports the office cloud application, so that the electronic equipment and the virtual machine 2 establish the connection channel 2 (comprising a control channel 2 and a flow channel 2), after the cloud application running framework establishes the connection channel with the virtual machine 2, the connection channel with the virtual machine 1 can be disconnected, and certainly the connection channel with the virtual machine 1 can not be disconnected, receiving the video stream and the audio stream transmitted through the stream channel 1 of the virtual machine 1 can be stopped, and receiving the data streams related to the first cloud application and the second cloud application simultaneously through the connection channel 1 of the virtual machine 1 and the connection channel 2 of the virtual machine 2; if the cloud computer service platform judges that the current virtual machine 1 or the connection channel 1 is matched with the second cloud application ID, whether the connection channel 1 is multiplexed or not can be determined by considering the operation modes of the first cloud application and the second cloud application.
It should be understood that if the current device is connected with a virtual machine of an office cloud application, and a game cloud application request is established, a high-performance game server virtual machine is selected to establish connection; and vice versa, and will not be described in detail herein.
For the electronic device side, the above-mentioned part of the steps of allocating the virtual machine or determining whether the connected virtual machine or the established connection channel matches the cloud application to be started may be executed by a cloud application running framework in the electronic device. For example, when theelectronic device 100 responds to a request of a user for purchasing a first type of cloud application service, the cloud computer service platform allocates thevirtual machine 1 in the cloud computervirtual machine pool 1 to the first type of cloud application of the user, and when theelectronic device 100 responds to a request of a user for purchasing a second type of cloud application service, the cloud computer service platform allocates thevirtual machine 2 in the cloud computervirtual machine pool 2 to the second type of cloud application of the user. Take the first type as game class and the second type as office class. A user using theelectronic device 100 can install various game cloud applications on thevirtual machine 1. The cloud application running framework of theelectronic device 100 may store a corresponding relationship between the identification information of thevirtual machine 1 and the ID of the first cloud application, or a corresponding relationship between the channel identification of the connection channel of thevirtual machine 1 and the type to which the first cloud application belongs, for subsequently identifying whether the connection channel is matched with the ID of the first cloud application. For example, when theelectronic device 100 receives an operation of opening a first cloud application triggered by a user, the cloud application running framework may request a connection channel (including a control channel and a stream channel) established with thevirtual machine 1 according to the stored correspondence. Under the condition that the first cloud application is started, when theelectronic device 100 receives an operation of opening a third cloud application triggered by a user, the third cloud application is an office-class cloud application, it is determined that a connection channel 1 (including acontrol channel 1 and a flow channel 1) currently established by a cloud application running framework is not matched with an ID of the third cloud application, a connection channel is requested to be established with thevirtual machine 2, and if thevirtual machine 2 is already occupied, the cloud computer service platform allocates other virtual machines to theelectronic device 100.
For example, if thevirtual machine 2 is already occupied, the cloud application running framework may request the cloud computer service platform to allocate a virtual machine supporting office-like cloud application, the cloud computer service platform may allocate a virtual machine, such as the virtual machine 3, to theelectronic device 100 from the unoccupied virtual machines in the cloud computer virtual machine pool 2 (the virtual machines in thevirtual machine pool 2 all support office-like cloud application) according to the request of theelectronic device 100, that is, the cloud computer service platform sends the identification information of the virtual machine 3 to theelectronic device 100, and then theelectronic device 100 establishes the connection channel 2 (including thecontrol channel 2 and the flow channel 2) with the virtual machine 3 through the cloud application running framework. After the cloud application running framework establishes the connection channel with the virtual machine 3, the connection channel with thevirtual machine 1 can be disconnected, certainly, the connection channel with thevirtual machine 1 can also be not disconnected, the video stream and the audio stream transmitted from thestream channel 1 of thevirtual machine 1 can be stopped from being received, and the data streams related to the first cloud application and the third cloud application can also be received through theconnection channel 1 with thevirtual machine 1 and theconnection channel 2 with the virtual machine 3. Theelectronic device 100 sends the ID of the third cloud application to thevirtual machine 2 through thecontrol channel 2, so as to notify thevirtual machine 2 to start the third cloud application corresponding to the ID; after thevirtual machine 2 starts the third cloud application, the interface of the third cloud application is encoded into a video stream, the sound of the third cloud application is encoded into an audio stream, the encoded video stream and the encoded audio stream are sent to the cloud application running framework through the stream channel, so that the cloud application running framework decodes the video stream and the audio stream of the third cloud application, images in the video stream of the third cloud application are displayed on the display of theelectronic device 100, and the sound of the audio stream of the third cloud application is played through the speaker.
Thevirtual machine 1 supports game cloud applications, thevirtual machine 2 supports office cloud applications, and not by considering that the management mode of the cloud applications and the requirements of different applications on hardware or software environments during operation are different, some virtual machines are configured to operate the game cloud applications, and some virtual machines are configured to operate the office cloud applications.
User data of four-cloud application
In a scene, for a user, in the configuration of the cloud computer virtual machine, each time theelectronic device 100 closes the first cloud application, the cloud computer service platform responds to the closing request, stores user data corresponding to the first cloud application of theelectronic device 100 in the cloud application data area, and when the subsequentelectronic device 100 restarts the first cloud application, the cloud computer service platform responds to the starting request, and re-runs the first cloud application on the allocated virtual machine and loads the corresponding user data.
In a second scenario, for the service type, in one implementation manner, after theelectronic device 100 responds to the close request for closing the first cloud application, the cloud computer service platform may store the corresponding relationship between the identification information of the first cloud application of theelectronic device 100 and the identification information of thevirtual machine 1, and after the subsequentelectronic device 100 responds to the request for restarting the first cloud application, the cloud computer service platform does not need to allocate a virtual machine to the first cloud application of theelectronic device 100 again. Or the electronic device stores the corresponding relationship between the identification information of the first cloud application and the identification information of thevirtual machine 1, and the electronic device requests to establish a connection channel with thevirtual machine 1 when the first cloud application is opened next time. Optionally, after theelectronic device 100 responds to a closing request for closing the first cloud application, the cloud computer service platform may store user data corresponding to the first cloud application of theelectronic device 100 in the cloud application data area, and after the subsequentelectronic device 100 responds to a request for restarting the first cloud application, thevirtual machine 1 runs the first cloud application and loads corresponding user data.
In another mode under the second scenario, after theelectronic device 100 responds to a closing request for closing the first cloud application, the cloud computer service platform may store user data corresponding to the first cloud application of theelectronic device 100 in a cloud application data area, after the subsequentelectronic device 100 responds to a request for restarting the first cloud application, the cloud computer service platform may reallocate a virtual machine, such as the virtual machine 3, to theelectronic device 100 from the cloud computervirtual machine pool 1 according to the request of theelectronic device 100, then theelectronic device 100 establishes a control channel and a flow channel with the virtual machine 3 through the cloud application running framework, and the virtual machine 3 may load the user data of the first cloud application from the cloud application data area and send a video stream and an audio stream of the first cloud application to the cloud application running framework through the established flow channel.
Fifthly, installation and operation of cloud account and cloud application
Cloud account and password
In the cloud application data area, the cloud application data of different users are independent, and the user can access theserver 200 through a cloud account and a password, so as to run the cloud application on the cloud computer virtual machine. In one example, the cloud account and password may be assigned by theserver 200 to the user after the user completes an order to purchase the cloud computer service. In another example, when a user accesses a cloud application zone for the first time, the user sets a cloud account and a password according to rules. The electronic device transmits the input cloud account and password, and information indicating the user identity to theserver 200 in the form of a message. For example, as shown in fig. 10, the cloud application operating framework sends information indicating the identity of the user to the cloud computer management system in the form of a message, and when the cloud computer management system determines that the identity information satisfies the registration rule, theserver 200 sends a message of completing registration to theelectronic device 100. When theelectronic device 100 receives the message of completing the registration, the message of completing the registration may be displayed to the user through the display screen.
In a scenario one, under the condition that the configuration of the cloud computer virtual machine is specific to a user, after the user completes registration, theserver 200 may allocate the cloud computer virtual machine to the user, and theserver 200 may store a cloud account number, a password, and information indicating the identity of the user in a database, so that when a subsequent user accesses theserver 200 through the cloud account number and the password, theserver 200 may verify the identity information corresponding to the cloud account number and the key stored in the database. For example, theserver 200 manages a cloud account, a password, and information indicating the identity of the user through a cloud computer management system, and may be specifically managed by a user management unit. The verifiedelectronic device 100 establishes a connection channel with the allocated cloud computer virtual machine through the cloud application running framework, the allocated virtual machine sends the accessed user interface of the cloud application district to the cloud application running framework through the connection channel, and the cloud application running framework displays the user interface for guiding the user to purchase the cloud application service on a display screen of the electronic device. After the user completes purchasing the cloud application service, installation icons of various applications are displayed for the user to install the cloud application, such asuser interface 810.
According to a second scenario, under the condition that the cloud computer virtual machine is configured for the service type, after the user completes registration, an installation icon of an application included in a cloud application zone is displayed, the cloud computer virtual machine is distributed for the user in a cloud computer virtual machine resource pool according to the type of the cloud application zone selected by the user, theelectronic device 100 establishes a connection channel with the distributed cloud computer virtual machine through a cloud application operation frame, so that a user interface of the accessed cloud application zone is sent to the cloud application operation frame through the connection channel, the cloud application operation frame can present the user interface for guiding the user to purchase the application in the cloud application zone on a display screen of the electronic device, and after the user completes purchase of the cloud application service, the cloud computer virtual machine installs the cloud application requested by the user.
Installation of cloud applications
In one embodiment, the installation package of the cloud application is stored in a cloud application market, and the cloud application market can provide an operation platform for the cloud application, including development, shelving, updating, popularization, downloading and the like of the cloud application. It should be appreciated that the cloud application marketplace may be disposed on theserver 200 or may be physically managed separately from theserver 200. In one implementation, in response to an installation request, a virtual machine of theserver 200 accesses a cloud application marketplace to download an installation package of a corresponding cloud application. In another implementation, the virtual machine of theserver 200 downloads and installs the corresponding type of cloud application in advance.
In a scenario one, in a case that the configuration of the cloud computer virtual machine is specific to a user, after the user completes purchase of a cloud application service on the electronic device, installation icons of various applications are displayed on theuser interface 810, and when the user clicks any installation icon, the distributed virtual machine executes installation of the corresponding cloud application in response to the installation request. The cloud application is installed in the virtual machine, and an icon of the cloud application is displayed on the electronic device, as shown in the embodiments of fig. 4 to 7.
In a second scenario, in a case that the cloud computer virtual machine configuration is configured for a service type, in an implementation manner, a plurality of cloud application apps of the same type may have been installed in advance in a plurality of virtual machines of the cloud computer virtual machine pool, so that the plurality of virtual machines of the cloud computer virtual machine pool may correspond to the type of cloud application started by each online user one by one. After the user finishes purchasing the cloud application service on the electronic device, installation icons of various applications are not displayed like theuser interface 810, but the cloud application icons of the type are directly displayed, so that the user can click and purchase the cloud application. It should be understood that based on different charging policies, for example, based on application charging, based on time limit charging, and the like, when the cloud account of the user is a bag year or a bag month, the user interface on the electronic device may be distinguished from the interface based on application charging, for example, a purchase button of the cloud application may not appear, or a purchase button of a certain type of cloud application, and the like, the user may directly run the cloud application after clicking the cloud application icon. In the second scenario, taking a cloud game as an example, the currently developed cloud games include N types, and each virtual machine in the cloud computer virtual machine pool corresponding to the cloud games may be installed with the N types of cloud games in advance. Taking N as an example, thecloud game 1 and thecloud game 2 are included. Take cloud computervirtual machine pool 1 as an example. For example, if the cloud computervirtual machine pool 1 corresponding to the cloud game includes 1 ten thousand virtual machines, 1 ten thousand online users can use thecloud game 1 at the same time, and 1 ten thousand online users can use thecloud game 2 at the same time. For example, in this case, one virtual machine in which thecloud game 1 and thecloud game 2 are installed may support the use of two online users at the same time, one of the two online users running thecloud game 1 and the other online user running thecloud game 2. In another implementation mode, the plurality of virtual machines in the cloud computer virtual machine pool do not need to be pre-installed with the cloud application APP. A certain APP can be installed at the request of the user. For example, when theelectronic device 100 receives an operation of opening thecloud game 1 triggered by the user, theserver 200 may allocate a virtual machine, such as thevirtual machine 1, to theelectronic device 100 from the cloud computervirtual machine pool 1 according to the request of theelectronic device 100, and if the cloud game 1APP is not installed in thevirtual machine 1, after theserver 200 allocates thevirtual machine 1 to thecloud game 1 of theelectronic device 100, thevirtual machine 1 may install thecloud game 1 APP. Further, theserver 200 transmits the identification information of thevirtual machine 1 to theelectronic apparatus 100. Then, theelectronic device 100 establishes a connection channel (including acontrol channel 1 and a flow channel 1) with thevirtual machine 1 through the cloud application running framework.
In yet another example, the cloud computer virtual machine may also configure different cloud computer virtual machine pools for different cloud applications. In one mode, different cloud computer virtual machines may be allocated for different users, and the users may correspond to the cloud computer virtual machines one to one. In another way, multiple users can share one cloud computer virtual machine pool. Taking the first cloud application as an example, if the cloud computer virtual machine pool corresponding to the first cloud application includes 1 ten thousand cloud computer virtual machines, 1 ten thousand online users are supported to use the first cloud application at the same time. For example, the electronic device of theuser 1 allocates the cloud computervirtual machine 1, and when the cloud computervirtual machine 1 is in an idle state after the first cloud application of the electronic device of theuser 1 is closed, the cloud computer service platform receives a start request of the first cloud application sent by the electronic device of theuser 2, and the cloud computer service platform may allocate the cloud computervirtual machine 1 to the electronic device of theuser 2.
In either scenario one or scenario two, when the electronic device purchases/clicks thecloud application 1, thecloud application 1 is installed or has been installed in advance on the cloud virtual machine, and the cloud computer management system marks that thecloud application 1 is installed on the cloud account of the user. Subsequently, as long as the cloud account is logged in on any electronic device, thecloud application 1 can be operated/accessed, if thecloud application 1 develops multiple versions for different electronic devices, for example, the versions for a mobile phone terminal and a large screen terminal are different, thecloud application 1 of the different versions can be installed again, the installation process is similar to that described above, and details are not repeated here.
Running of cloud applications
When the cloud account with the installedcloud application 1 is marked to log in thecloud application 1 on theelectronic device 200 for the first time, the cloud account is logged in based on the application requirement, for example, account password information of thecloud application 1 is input. The user may select "remember the account password", that is, the account password of the application does not need to be input again when thecloud application 1 is opened for login next time. In one embodiment, an application account and password information of the user logging in thecloud application 1 are stored on theelectronic device 200.
When the cloud application marked as installed is logged on theelectronic device 200, referring to fig. 11, the interaction between theelectronic device 100 and theserver 200 is shown in fig. 11, and fig. 11 shows amessage interaction flowchart 1100 for running the cloud application.
In S1, the user clicks on the installed cloud application to open, e.g.,cloud application 1, andcloud application 1 sends its application name, version, and application ID to the cloud application execution framework, e.g., { "name": GAME ONE "," version ": 1.0.0", "ID": 1231- "12" }, which means that the user clicks on the application name "GAME ONE", currently the version "1.0.0", and its application ID is "1231-" 1222-12 ".
In S2, the cloud application execution framework requests a connection resource from the cloud application connection platform of theserver 200. In one embodiment, the cloud application running framework is preset with an address of a cloud application connection platform. The preset cloud application connection platform address may be set in a cloud application operating framework when thecloud application 1 is installed; or when the user opens the cloud account, the cloud account is set in the cloud application running framework; or may be preset when the cloud application execution framework is established in theelectronic device 100.
In the step of requesting connection of resources, the cloud application running framework sends a cloud account (for example, hua account) and an application ID to the cloud application connection platform, and after the cloud application connection platform passes authentication, the cloud application running framework returns a session ID and a virtual machine address according to the application ID. The virtual machine address may be an address of the virtual machine allocated according to the "allocation and management of the virtual machine" described in the third paragraph, which is not described herein again.
In S3, the cloud application running framework establishes a connection channel with thevirtual machine 1 in the virtual machine pool according to the virtual machine address, where the connection channel includes acontrol channel 1 and adata channel 1. Inflow chart 1100, transmission through the control channel is indicated by a thick solid line and transmission through the data channel is indicated by a diagonal line. The control channel is used for transmitting control information, and the data channel is used for transmitting stream data.
In S4, the cloud application running framework sends the application ID of thecloud application 1 to thevirtual machine 1 through thecontrol channel 1, and thevirtual machine 1 loads the user data of thecloud application 1 through the cloud application data area according to the application ID and starts running thecloud application 1.
In S5, thevirtual machine 1 encodes the user interface and sound of thecloud application 1 running in the form of video and audio, and transmits the encoded user interface and sound to the cloud application running framework through thedata channel 1 in the form of streaming data, for example, transmits the interface data of thecloud application 1 in a video stream, and transmits the audio data of thecloud application 1 in an audio stream. Thevirtual machine 1 is understood to be a user interface and sound generated when thecloud application 1 runs in a second operating system, that is, a user interface displayed through a display screen of an electronic device having the second operating system and a speaker and sound played through a speaker of the electronic device when thecloud application 1 runs, when thecloud application 1 runs. The cloud application running framework decodes the received data stream to obtain a running interface of thecloud application 1. In one embodiment of the application, the interface may be rendered and displayed by a cloud application runtime framework; in another embodiment, a manager related to rendering and display in the application framework layer can be called by the cloud application running framework, so that the interface is displayed on the display screen.
In a possible embodiment, in the running process of the cloud application, as in S6 shown in fig. 11, an operation request of theelectronic device 100 for the cloud application may be sent to the cloud computervirtual machine 1 in real time through thecontrol channel 1 established by the cloud computervirtual machine 1 corresponding to the cloud application, where the operation request may be an input event of a user touching a touch screen or an input device such as a mouse, a keyboard, a remote controller, or a game handle, in response to the operation request, the cloud application running framework sends control information corresponding to the operation request to thevirtual machine 1 through thecontrol channel 1, and the cloud computervirtual machine 1 performs a corresponding operation according to the control information. For example: the cloud application iscloud game 1, a user touches a login button of thecloud game 1 through a touch screen to trigger a login request, theelectronic device 100 transmits the login request to a cloud computer virtual machine corresponding to thecloud game 1 through a control channel established by the cloud computer virtual machine, the cloud computer virtual machine executes the login request of thecloud game 1, and transmits an interface and sound of the logged-incloud game 1 in real time through the channel.
It should be understood that, during the process that theelectronic device 100 runs thecloud application 1 through thevirtual machine 1, and after the user exits thecloud application 1, the correspondingvirtual machine 1 stores the user data and/or the running data of thecloud application 1 to be read when theelectronic device 100 logs in next time, and the user data and/or the running data may be stored in the cloud application data area of theserver 200.
Theelectronic device 100 in the embodiment of the present application provides a cloud application running framework, and each cloud application used by a user can interact with a cloud computer virtual machine (also referred to as a cloud end) of theserver 200 through the cloud application running framework. Specifically, when the user clicks the cloud application "installed" on theelectronic device 100, the cloud application running framework runs to establish a connection channel with the cloud end, and informs the virtual machine (to install and) start the application with the specified ID through the control channel. After the application is started, the virtual machine performs video stream coding on the interface and the sound of the application, and the coded video stream is transmitted back to the cloud application running framework of theelectronic device 100 through the data stream channel, and the framework decodes the video stream to be displayed on theelectronic device 100. The input/operation received on theelectronic device 100 for the cloud application may also be transmitted to the cloud end through the control channel, and the cloud application interface and the sound content of the cloud end are also updated to theelectronic device 100 in time through the data channel to be displayed to the user.
In a possible embodiment, when theelectronic device 100 is receiving the interface of thecloud application 1 through thedata channel 1, and the user clicks thecloud application 2 different from thecloud application 1, the above steps S1-S2 are performed again, that is, the cloud application connection platform allocates connection resources, and in S3, whether to re-establish a new control channel and a data channel or to continue using the already established channels is performed as described in the previous section "allocation and management of virtual machines", and whether to allocate a new virtual machine is determined, which is not described herein again.
Uninstalling and updating of cloud applications
In a possible embodiment, theelectronic device 100 may further perform, through the cloud application running framework, an operation request such as update and uninstall on a cloud application installed in a cloud account logged in theelectronic device 100, so as to perform management/operation execution such as update and uninstall on an installed cloud application on a cloud computer virtual machine. For example, the electronic device may perform management such as updating, uninstalling, and the like on the cloud application installed on the cloud computer virtual machine through the cloud application running framework. In this case, a function of performing message interaction with the cloud computer service platform, for example, the message interaction between the cloud computer management system and the cloud application running framework in the embodiment shown in fig. 10, is integrated on the cloud application running framework.
For the uninstall operation, following the example of theuser interface 501 in fig. 5, referring to fig. 12, after theelectronic device 100 responds to the user's operation of uninstalling the "cloud game 1", which may be, for example, the long-touch cloud game 1 icon, the electronic device displays theuser interface 1001, and theuninstall button 1010 is included beside the "cloud game 1" icon in theuser interface 1001. Theelectronic device 100 displays theuser interface 1002 in response to the user's operation of clicking the unloadbutton 1010. After theelectronic device 100 obtains the operation of clicking theuninstall button 1010 by the user, a first instruction for uninstalling thecloud game 1 may be sent to a cloud computer management system of the cloud computer service platform through the cloud application running framework, the first instruction may carry the ID of thecloud game 1, so that after receiving the first instruction, the cloud computer management system uninstalls the installed cloud game 1APP from the cloud computer virtual machine according to the ID of thecloud game 1, and marks theuninstall cloud game 1 on the cloud account of the user. It should be understood that, after receiving the first instruction, the cloud computer management system may not uninstall thecloud game 1, and thecloud game 1 installed in the cloud computer virtual machine may also serve other cloud accounts, and correspondingly, the cloud computer management system marks the uninstalledcloud game 1 on the cloud account of the user, and clears the user data related to thecloud game 1 in the cloud account in the cloud application data area. For the update operation, in one possible implementation, there is an updated version of the cloud application in the cloud application market, and the cloud computer management system may broadcast the updated version to all cloud accounts where the cloud application is installed, so that the user may operate the update on the electronic device logged in to the cloud account. In another possible implementation manner, based on the setting of the cloud account, the cloud application with the updated version may also be automatically updated on the virtual machine, or for a virtual machine pre-installed with the cloud application, in response to the update of the version, the version is automatically updated on the virtual machine for the cloud application.
When the updated or uninstalledcloud application 1 is executed, a plurality of versions, such as amobile phone version 1 and alarge screen version 2, are displayed and installed in the cloud account, the updating or uninstalling operation may be executed for all versions, or may be executed based on the electronic device receiving the operation, for example, if the uninstalling operation is received on the mobile phone, only thecloud application 1 of themobile phone version 1 in the cloud is uninstalled, and thecloud application 1 of thelarge screen version 2 is still stored in the cloud.
As an example, theelectronic device 100 may be provided with a plurality of cloud application running frameworks, and different cloud application running frameworks are used to establish a control channel and a flow channel with cloud computer virtual machines of different operating systems, so that theelectronic device 100 may run cloud applications of different operating systems through different cloud application running frameworks. For example, theelectronic device 100 is deployed with a first cloud application running framework and a second cloud application running framework, theelectronic device 100 adopts a first operating system, the first cloud application running framework corresponds to a second operating system, and the second cloud application running framework corresponds to a third operating system. The first, second, and third operating systems are all different operating systems. Theelectronic device 100 establishes a first control channel and a first flow channel with the first cloud computer virtual machine through the first cloud application running framework, and theelectronic device 100 establishes a second control channel and a second flow channel with the second cloud computer virtual machine through the second cloud application running framework, so that theelectronic device 100 can switch between running the first application on the first cloud computer virtual machine and running the second application on the second cloud computer virtual machine according to a user switching request. For example, when a first application running on a first cloud computer virtual machine is switched to a second application running on a second cloud computer virtual machine, one way is that the first cloud application running framework may stop receiving the video stream and the audio stream from the first cloud computer virtual machine from the first streaming channel, and the second cloud application running framework receives the video stream and the audio stream from the second cloud computer virtual machine from the second streaming channel. The first cloud application running framework receives the video stream and the audio stream from the first cloud computer virtual machine from the first stream channel, the second cloud application running framework receives the video stream and the audio stream from the second cloud computer virtual machine from the second stream channel, the first cloud application running framework can stop executing and present the video stream and the audio stream from the first cloud computer virtual machine to the user, and the second cloud application running framework presents executing and present the video stream and the audio stream from the second cloud computer virtual machine to the user.
As an example, multiple virtual machines arranged in a virtual machine pool on a cloud computer service platform (e.g., the server 200) may run different operating systems, that is, run cloud applications under different operating systems, and provide cloud services of multiple operating systems for theelectronic device 100. For example, thevirtual machine 1 is provided with a first operating system and runs thecloud application 1 under the first operating system, thevirtual machine 2 is provided with a second operating system and runs thecloud application 2 under the second operating system, and thevirtual machine 1 and thevirtual machine 2 can provide cloud services for the sameelectronic device 100 through different connecting channels, so that a user can simultaneously open cloud applications on a plurality of operating systems on theelectronic device 100 and run on a plurality of different cloud virtual machines.
As will be appreciated by one skilled in the art, embodiments of the present application may be provided as a method, system, or computer program product. Accordingly, the present application may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Furthermore, the present application may take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, and the like) having computer-usable program code embodied therein.
The present application is described with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the application. It will be understood that each flow and/or block of the flow diagrams and/or block diagrams, and combinations of flows and/or blocks in the flow diagrams and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means which implement the function specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
It will be apparent to those skilled in the art that various changes and modifications may be made in the embodiments of the present application without departing from the scope of the embodiments of the present application. Thus, if such modifications and variations of the embodiments of the present application fall within the scope of the claims of the present application and their equivalents, the present application is also intended to encompass such modifications and variations.