WO2023066246A1 - Method and system for installing application on cloudphone, and client cloudphone - Google Patents

Method and system for installing application on cloudphone, and client cloudphone Download PDF

Info

Publication number
WO2023066246A1
WO2023066246A1 PCT/CN2022/125914 CN2022125914W WO2023066246A1 WO 2023066246 A1 WO2023066246 A1 WO 2023066246A1 CN 2022125914 W CN2022125914 W CN 2022125914W WO 2023066246 A1 WO2023066246 A1 WO 2023066246A1
Authority
WO
WIPO (PCT)
Prior art keywords
mobile phone
installation
target application
cloud
app
Prior art date
Application number
PCT/CN2022/125914
Other languages
French (fr)
Chinese (zh)
Inventor
崔巍崧
Original Assignee
北京百度网讯科技有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 北京百度网讯科技有限公司 filed Critical 北京百度网讯科技有限公司
Publication of WO2023066246A1 publication Critical patent/WO2023066246A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation

Definitions

  • the present disclosure relates to the field of computers, in particular to the field of cloud services, specifically a method and system for installing applications on a cloud mobile phone, and a client cloud mobile phone.
  • Cloudphone is a mobile phone that applies cloud computing technology to network terminal services and realizes cloud services through cloud servers. In fact, it is a smartphone deeply integrated with network services. This type of mobile phone can realize many functions through the network by virtue of its own system and the network terminal set up by the manufacturer.
  • the present disclosure provides a method, a device, a system, a device, a storage medium and a computer program product for installing an app on a cloud mobile phone.
  • a method for installing an app on a cloud mobile phone including: receiving a trial request for a target app; reading installation data of the target app from a network storage service cluster, wherein the installation data It is generated by decompressing and installing the installation package of the target app on the master cloud phone, and written into the network storage service cluster by the master cloud phone; copying the installation data to the local installation directory ; Register the target app locally.
  • a client cloud mobile phone including: a receiving unit configured to receive a trial request for a target app; a reading unit configured to read the target app from a network storage service cluster App installation data, wherein the installation data is generated by the master cloud phone after decompressing the installation package of the target app and installing it, and written into the network storage service cluster by the master cloud phone;
  • the copying unit is configured to copy the installation data to a local installation directory;
  • the registration unit is configured to register the target app locally.
  • a system for installing an app on a cloud phone including: a master cloud phone configured to download an app installation package from an app server, decompress the installation package and install it to obtain an app Install data, write the installation data into the network storage service cluster; the network storage service cluster is configured to receive and store the installation data; the client cloud mobile phone described in the second aspect.
  • an electronic device including: at least one processor; and a memory communicatively connected to the at least one processor; Executable instructions, the instructions are executed by the at least one processor, so that the at least one processor can execute the method described in the first aspect.
  • a non-transitory computer-readable storage medium storing computer instructions, wherein the computer instructions are used to cause the computer to execute the method described in the first aspect.
  • a computer program product including a computer program, which implements the method of the first aspect when executed by a processor.
  • the method, system and client cloud mobile phone provided by the embodiments of the present disclosure use a network storage cluster system, such as ceph (distributed file system), nfs (Network File System, network file system), etc., to store the app
  • a network storage cluster system such as ceph (distributed file system), nfs (Network File System, network file system), etc.
  • the actual installation data is stored in the network storage cluster.
  • the cloud phone reads data from the network storage service cluster instead of reading from the cloud phone's own storage chip.
  • the actual app only needs to be downloaded, installed or updated once for the network storage cluster. It can be guaranteed that all subsequent cloud phones that mount the network storage cluster will use the same data, that is, the latest version of the app.
  • FIG. 1 is an exemplary system architecture diagram to which an embodiment of the present disclosure can be applied;
  • FIG. 2 is a flowchart of an embodiment of a method for installing an app on a cloud mobile phone according to the present disclosure
  • FIG. 3 is a schematic diagram of an application scenario of a method for installing an app on a cloud mobile phone according to the present disclosure
  • FIG. 4 is a schematic structural diagram of an embodiment of a client cloud mobile phone according to the present disclosure.
  • FIG. 5 is a schematic structural diagram of a computer system suitable for implementing an electronic device according to an embodiment of the present disclosure.
  • Fig. 1 shows an exemplary system architecture 100 of an embodiment of the method for installing an app on a cloud mobile phone or the device for installing an app on a cloud mobile phone of the present disclosure.
  • the system architecture 100 may include a client, at least one physical machine, an app server, and a network storage service cluster. At least one virtual machine is installed on each physical machine, and each virtual machine corresponds to a cloud phone.
  • the communication between the client and the physical machine is connected through a wired network or a wireless network.
  • These cloud phones include master machine cloud phones and client cloud phones.
  • the master cloud phone is used to download the app installation package through the public network to install the app, and store the generated installation data to the network storage service cluster.
  • the client cloud mobile phone obtains the installation data from the network storage service cluster for green installation.
  • the installation data obtained after the app is installed on a master cloud phone can be shared by all other client cloud phones.
  • Various communication client applications can be installed on the client, such as cloud mobile phone management applications, web browser applications, shopping applications, search applications, instant messaging tools, email clients, social platform software, and the like.
  • Clients can be hardware or software.
  • the client When the client is hardware, it can be a variety of electronic devices that have a display screen and support web browsing, including but not limited to smartphones, tablet computers, e-book readers, MP3 players (Moving Picture Experts Group Audio Layer III, Dynamic Video experts compress standard audio layer 3), MP4 (Moving Picture Experts Group Audio Layer IV, moving picture experts compress standard audio layer 4) players, laptops and desktop computers, etc.
  • the client When the client is software, it can be installed in the electronic devices listed above. It can be implemented as a plurality of software or software modules (for example, to provide distributed services), or as a single software or software module. No specific limitation is made here.
  • the physical machine can be a server that provides various services, such as a background cloud mobile phone server that supports the cloud mobile phone interface displayed on the client.
  • the client tries the app on the cloud mobile phone by connecting with the physical machine.
  • the network storage service cluster can be a distributed storage system such as ceph or nfs used as a network disk.
  • the app server is used to provide the installation package and upgrade package of the app. Different apps may be provided by different app servers. Products of the same game developer may also share an app server.
  • the master machine downloads, installs or updates the app. Then copy the installation data of the installed app, such as /data/app, /data/data and /sdcard of the Android system, to the ceph mirror or nfs directory mounted on the master machine.
  • All cloud phones used on the user side mount the directory of the app installation data of the above-mentioned network storage cluster in a read-only manner.
  • the client cloud mobile phone is regarded as ready to be requested by the user for trial play, waiting for the trial request from the user and assigned to the user for use.
  • the controller (not shown in the figure) schedules and allocates the right to use a certain idle client cloud mobile phone.
  • the client cloud mobile phone copies the app installation data in the network storage cluster to the client cloud mobile phone and registers it. Then the user can start the app to complete the trial logic.
  • the client cloud mobile phone uninstalls the app, clears the data and restores it to an unused state, and waits for the next user trial request.
  • the client cloud mobile phone that is actually provided to users is only based on the quick installation in the network storage cluster and reads the app installation data from it.
  • the installation package of the same app can only be downloaded to one master cloud phone, but it can be used by a large number of client cloud phones.
  • the actual public network traffic generated by downloading, installing and updating apps is only generated by a small number of master machines, which greatly reduces the cost of public network bandwidth in the computer room.
  • the client cloud phone can still continue to provide trial business services for other apps that have not been updated.
  • each cloud phone can only be occupied when it is updated, and cannot continue to provide users with service, shortening the app update window time and improving operational efficiency.
  • the app data is actually installed in the network storage cluster, it does not occupy the local storage space of the cloud phone, which greatly increases the number and types of app demos provided by the cloud phone in this business scenario.
  • the master cloud phone is further configured to: download an upgrade package from the app server in response to detecting an update of the app; update the installation data according to the update package, and update the updated
  • the final installation data is written to the network storage service cluster.
  • use the master computer to download the upgrade package from the app server, update the installation data according to the upgrade package, mount the network storage image or directory again in read-write mode, and Write the updated installation data into the network storage mirror or directory to complete the update of the app installation data in the network storage cluster.
  • the app update window time is shortened, operational efficiency is improved, and the public network bandwidth cost of the computer room is reduced.
  • the system further includes a controller configured to: receive a trial request for the target app; select an idle client cloud phone from the client cloud phone set as the target cloud phone ; Send the trial request to the target cloud mobile phone.
  • the controller plays a scheduling role, and can select idle cloud phones according to the resources required by different apps. Or choose a cloud phone whose remaining resources meet the running cost of the target app. For example, user A wants to try a certain game app, and user B wants to try a certain audio app. At this time, there are two idle cloud phones A and B. If the CPU performance of A is better than that of B, cloud phone A can be assigned to the game app. Assign cloud phone B to the audio app. This can improve the efficiency of cloud mobile phone use and improve system throughput.
  • the controller is further configured to: receive a trial request for the target app; query whether the installation data of the target app exists in the network storage service cluster; if not, Then select an idle client cloud mobile phone as the target master cloud mobile phone from the client cloud mobile phone set, so that the target master cloud mobile phone downloads the target app installation package from the server of the target app, and decompresses the target app installation package After installation, the installation data of the target app is obtained, and the installation data of the target app is written into the network storage service cluster.
  • the app can also be uninstalled from the master cloud phone to restore it to a common client cloud phone.
  • some apps take up a lot of space after being upgraded, and the app can be switched from the master cloud phone A with insufficient space to another master cloud phone B with a large space.
  • the app in the master cloud phone A is uninstalled, other apps can be installed, or it can no longer be used as the master cloud phone, but only temporarily installed as an app on the client cloud phone.
  • This method can flexibly configure the master machine cloud phone, dynamically adjust system resources, and make full use of resources.
  • a physical machine can be implemented as a distributed server cluster composed of multiple servers, or as a single server. No specific limitation is made here.
  • the physical machine can also be a server of a distributed system, or a server combined with a blockchain.
  • the physical machine can also be a cloud server, or an intelligent cloud computing server or intelligent cloud host with artificial intelligence technology.
  • the method for installing an app on a cloud mobile phone provided by the embodiments of the present disclosure may be executed by a physical machine.
  • the device for installing apps on the cloud mobile phone can be set in the physical machine. No specific limitation is made here.
  • FIG. 2 it shows a process 200 of an embodiment in which the method for installing an app on a cloud mobile phone according to the present disclosure is applied to a client cloud mobile phone.
  • the method for installing an app on a cloud mobile phone includes the following steps:
  • Step 201 receiving a trial request for a target app.
  • the execution subject of the method for installing an app on the cloud mobile phone may receive a trial request for the target app from the client.
  • the trial request may include the name of the target app.
  • the trial request may also include version information of the target app.
  • the user can also connect to the controller through the client, send a trial request to the controller, and the controller schedules and allocates an idle client cloud mobile phone, and forwards the trial request to the assigned client cloud mobile phone.
  • Step 202 read the installation data of the target app from the network storage service cluster.
  • the installation data is generated by decompressing and installing the installation package of the target app on the master cloud phone, and written into the network storage service cluster by the master cloud phone.
  • the installation data may include an application directory, a data directory, and an app name.
  • the installation data may also include a memory card directory, which is used to store hot update data of the game, and some temporarily loaded resources.
  • the application directory can be used to store the startup files of the app, and the data directory can be used to store the material and cache data of the app.
  • the startup file is a base.apk of the app stored in the application program directory. This file is relatively large and is the core file of the app.
  • the data directory is stored in app materials, cache, etc., and the directory occupies a relatively small amount.
  • the memory card directory stores the hot update data of the game and some temporarily loaded resources, and the directory takes up a large space.
  • Step 203 copy the installation data to a local installation directory.
  • the client cloud mobile phone does not directly obtain the installation package, but obtains the compressed, read-write, and verified installation data. It is equivalent to copying the green installation file from the network storage service cluster to the local installation directory.
  • Step 204 register the target app locally.
  • the automatic installation process of the app cannot be performed, and only the app name is copied to the installation Under the list, when the app is started, the storage content under the application directory and the data directory will be read to start the app, similar to copying the installed software file directory on one computer to run on another computer , the computer will report an error, because there is no corresponding software installation record in the system registry, so the files in this installation directory cannot be recognized.
  • the method provided by the above-mentioned embodiments of the present disclosure uses a network storage cluster to replace the local storage space of the cloud mobile phone, saves the storage space of the cloud mobile phone, and greatly increases the types and quantities of apps installed on the cloud mobile phone.
  • the app When the app is installed or updated, it only needs to be downloaded and installed or updated once on the master cloud phone. Compared with the original download and update for each cloud mobile phone to complete the installation, it greatly saves the traffic cost of downloading app updates for cloud mobile phones to public network traffic. Simplifies the steps of installing and updating apps on the cloud mobile phone, reducing time-consuming.
  • the method further includes: in response to detecting that the trial of the target app ends, uninstalling the target app and clearing the intermediate data of the target app.
  • the target app can be uninstalled and the intermediate data of the app can be cleared.
  • the space of the cloud mobile phone can be saved, and the usage rate of the cloud mobile phone can be improved so that the cloud mobile phone can be used for other apps.
  • the uninstallation time can be selected according to the trial frequency of the app. For example, if an app is tried more than a predetermined threshold 100 times in one day, the uninstallation time can be postponed for one day. If an app is tried no more than 5 times a day, it can be uninstalled after each use.
  • FIG. 3 is a schematic diagram of an application scenario of the method for installing an app on a cloud mobile phone according to this embodiment.
  • the cloud phone service provider pre-installs some apps on some master cloud phones.
  • the master cloud mobile phone directly downloads the installation package from the app server on the public network, the decompression, reading and writing, verification and other installation processes are completed on the master cloud mobile phone.
  • installation data will be left on the master cloud phone, and these installation data will be written into the network storage service cluster mounted on the master cloud phone.
  • the network storage service cluster saves the installation data of various apps. If a user's client initiates a trial request for an app, a client cloud phone is assigned to install the app.
  • the client cloud mobile phone does not need to download the installation package from the app server on the public network, but directly reads the app's installation data from the network storage service cluster, does not perform decompression and other installation processes, and directly uses the installation data to register in the registry. This completes the app installation process. Users can use the app in the client cloud phone to try it out. After the user quits the app, the client cloud phone uninstalls the app and deletes the intermediate data. If other users want to try another app, they can repeat the above steps to install other apps on the client cloud phone. Uninstall it when you're done using it, and don't take up space on your cloud phone.
  • the master cloud mobile phone can monitor the update of the app, and after downloading the upgrade package, write the updated installation data into the network storage service cluster mounted on the master cloud mobile phone.
  • the network storage service cluster saves the updated installation data of various apps.
  • Each client cloud mobile phone shares and uses the same app data in the network storage, instead of using the original data of each client cloud mobile phone. Therefore, for an app, it only needs to be updated once for the network storage; while each original client cloud phone needs to update the app once. It greatly saves the bandwidth cost of updating and downloading apps and improves the update speed.
  • Each client cloud phone mounts the network storage image or directory as read-only. And use the overlayfs technology to separate the read and write operations of the cloud mobile phone: that is, only write data to the local storage space of each client cloud mobile phone, and only read data from the network storage cluster. Thereby, the memory cache utilization rate of the network storage server is improved, the pressure is small, and the performance is high.
  • the present disclosure provides an embodiment of a client cloud mobile phone, and the embodiment of the client cloud mobile phone corresponds to the method embodiment shown in FIG. 2 , the client cloud mobile phone can be specifically applied to various electronic devices.
  • the client cloud mobile phone 400 of this embodiment includes: a receiving unit 401 , a reading unit 402 , a copying unit 403 and a registration unit 404 .
  • the receiving unit 401 is configured to receive a trial request for the target app
  • the reading unit 402 is configured to read the installation data of the target app from the network storage service cluster, wherein the installation data is provided by the master
  • the machine cloud mobile phone decompresses the installation package of the target app and generates it after installation, and writes it into the network storage service cluster by the master machine cloud mobile phone
  • the copy unit 403 is configured to copy the installation data to the local installation directory
  • the registration unit 404 is configured to register the target app locally.
  • the specific processing of the receiving unit 401, the reading unit 402, the copying unit 403, and the registration unit 404 of the client cloud mobile phone 400 can refer to the steps 201, 202, 203, and 203 in the corresponding embodiment of FIG. 204.
  • the client cloud phone 400 further includes an uninstall unit (not shown in the drawings), configured to: uninstall the target app in response to detecting that the trial of the target app ends. app and empty the intermediate data of the target app.
  • an uninstall unit (not shown in the drawings), configured to: uninstall the target app in response to detecting that the trial of the target app ends. app and empty the intermediate data of the target app.
  • the present disclosure also provides an electronic device, a readable storage medium, and a computer program product.
  • An electronic device comprising: at least one processor; and a memory communicatively connected to the at least one processor; wherein, the memory stores instructions executable by the at least one processor, and the instructions are executed by the At least one processor executes, so that the at least one processor can execute the method described in the process 200 .
  • a non-transitory computer-readable storage medium storing computer instructions, wherein the computer instructions are used to make the computer execute the method described in process 200 .
  • a computer program product including a computer program, the computer program implements the method described in process 200 when executed by a processor.
  • FIG. 5 shows a schematic block diagram of an example electronic device 500 that may be used to implement embodiments of the present disclosure.
  • Electronic device is intended to represent various forms of digital computers, such as laptops, desktops, workstations, personal digital assistants, servers, blade servers, mainframes, and other suitable computers.
  • Electronic devices may also represent various forms of mobile devices, such as personal digital processing, cellular telephones, smart phones, wearable devices, and other similar computing devices.
  • the components shown herein, their connections and relationships, and their functions, are by way of example only, and are not intended to limit implementations of the disclosure described and/or claimed herein.
  • the device 500 includes a computing unit 501 that can execute according to a computer program stored in a read-only memory (ROM) 502 or loaded from a storage unit 508 into a random-access memory (RAM) 503. Various appropriate actions and treatments. In the RAM 503, various programs and data necessary for the operation of the device 500 can also be stored.
  • the computing unit 501, ROM 502, and RAM 503 are connected to each other through a bus 504.
  • An input/output (I/O) interface 505 is also connected to bus 504.
  • the I/O interface 505 includes: an input unit 506, such as a keyboard, a mouse, etc.; an output unit 507, such as various types of displays, speakers, etc.; a storage unit 508, such as a magnetic disk, an optical disk, etc. ; and a communication unit 509, such as a network card, a modem, a wireless communication transceiver, and the like.
  • the communication unit 509 allows the device 500 to exchange information/data with other devices over a computer network such as the Internet and/or various telecommunication networks.
  • the computing unit 501 may be various general-purpose and/or special-purpose processing components having processing and computing capabilities. Some examples of computing units 501 include, but are not limited to, central processing units (CPUs), graphics processing units (GPUs), various dedicated artificial intelligence (AI) computing chips, various computing units that run machine learning model algorithms, digital signal processing processor (DSP), and any suitable processor, controller, microcontroller, etc.
  • the computing unit 501 executes various methods and processes described above, for example, a method for installing an app on a cloud mobile phone.
  • the method for installing an app on a cloud phone can be implemented as a computer software program tangibly embodied in a machine-readable medium, such as the storage unit 508 .
  • part or all of the computer program may be loaded and/or installed on the device 500 via the ROM 502 and/or the communication unit 509.
  • the computer program When the computer program is loaded into the RAM 503 and executed by the computing unit 501, one or more steps of the above-described method for installing an app on a cloud mobile phone can be performed.
  • the computing unit 501 may be configured in any other appropriate way (for example, by means of firmware) to execute the method for installing an app on a cloud phone.
  • Various implementations of the systems and techniques described above herein can be implemented in digital electronic circuit systems, integrated circuit systems, field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific standard products (ASSPs), systems on chips Implemented in a system of systems (SOC), load programmable logic device (CPLD), computer hardware, firmware, software, and/or combinations thereof.
  • FPGAs field programmable gate arrays
  • ASICs application specific integrated circuits
  • ASSPs application specific standard products
  • SOC system of systems
  • CPLD load programmable logic device
  • computer hardware firmware, software, and/or combinations thereof.
  • programmable processor can be special-purpose or general-purpose programmable processor, can receive data and instruction from storage system, at least one input device, and at least one output device, and transmit data and instruction to this storage system, this at least one input device, and this at least one output device an output device.
  • Program code for implementing the methods of the present disclosure may be written in any combination of one or more programming languages. These program codes may be provided to a processor or controller of a general-purpose computer, a special purpose computer, or other programmable data processing devices, so that the program codes, when executed by the processor or controller, make the functions/functions specified in the flow diagrams and/or block diagrams Action is implemented.
  • the program code may execute entirely on the machine, partly on the machine, as a stand-alone software package partly on the machine and partly on a remote machine or entirely on the remote machine or server.
  • a machine-readable medium may be a tangible medium that may contain or store a program for use by or in conjunction with an instruction execution system, apparatus, or device.
  • a machine-readable medium may be a machine-readable signal medium or a machine-readable storage medium.
  • a machine-readable medium may include, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatus, or devices, or any suitable combination of the foregoing.
  • machine-readable storage media would include one or more wire-based electrical connections, portable computer discs, hard drives, random access memory (RAM), read only memory (ROM), erasable programmable read only memory (EPROM or flash memory), optical fiber, compact disk read only memory (CD-ROM), optical storage, magnetic storage, or any suitable combination of the foregoing.
  • RAM random access memory
  • ROM read only memory
  • EPROM or flash memory erasable programmable read only memory
  • CD-ROM compact disk read only memory
  • magnetic storage or any suitable combination of the foregoing.
  • the systems and techniques described herein can be implemented on a computer having a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user. ); and a keyboard and pointing device (eg, a mouse or a trackball) through which a user can provide input to the computer.
  • a display device e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor
  • a keyboard and pointing device eg, a mouse or a trackball
  • Other kinds of devices can also be used to provide interaction with the user; for example, the feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and can be in any form (including Acoustic input, speech input or, tactile input) to receive input from the user.
  • the systems and techniques described herein can be implemented in a computing system that includes back-end components (e.g., as a data server), or a computing system that includes middleware components (e.g., an application server), or a computing system that includes front-end components (e.g., as a a user computer having a graphical user interface or web browser through which a user can interact with embodiments of the systems and techniques described herein), or including such backend components, middleware components, Or any combination of front-end components in a computing system.
  • the components of the system can be interconnected by any form or medium of digital data communication, eg, a communication network. Examples of communication networks include: Local Area Networks (LANs), Wide Area Networks (WANs), and the Internet.
  • a computer system may include clients and servers.
  • Clients and servers are generally remote from each other and typically interact through a communication network.
  • the relationship of client and server arises by computer programs running on the respective computers and having a client-server relationship to each other.
  • the server can be a cloud server, a server of a distributed system, or a server combined with a blockchain.
  • steps may be reordered, added or deleted using the various forms of flow shown above.
  • each step described in the present disclosure may be executed in parallel, sequentially, or in a different order, as long as the desired result of the technical solution disclosed in the present disclosure can be achieved, no limitation is imposed herein.

Abstract

The present disclosure relates to the field of computers, and in particular to the field of cloud services. Provided are a method and system for installing an application on a cloudphone, and a client cloudphone. The specific implementation solution comprises: receiving a trial request for a target application; reading installation data of the target application from a network storage service cluster, wherein the installation data is generated after a master cloudphone decompresses an installation package of the target application and installs same, and the installation data is written into the network storage service cluster by the master cloudphone; copying the installation data to a local installation directory; and locally registering the target application. By means of the embodiment, the time of a user that is consumed in waiting for installation and the traffic data consumption of downloading an installation package of an application can be reduced, thereby achieving the aim of immediate trialling of the application.

Description

云手机安装应用的方法、系统和客户端云手机Method, system and client for cloud mobile phone to install applications
相关申请的交叉引用Cross References to Related Applications
本专利申请要求于2021年10月18日提交的、申请号为202111209340.1、发明名称为“云手机安装应用的方法、系统和客户端云手机”的中国专利申请的优先权,该申请的全文以引用的方式并入本申请中。This patent application claims the priority of the Chinese patent application filed on October 18, 2021 with the application number 202111209340.1 and the title of the invention is "Method, system and client cloud mobile phone for installing applications on cloud phones". The way of citing is incorporated in this application.
技术领域technical field
本公开涉及计算机领域,尤其涉及云服务领域,具体为一种云手机安装应用的方法、系统和客户端云手机。The present disclosure relates to the field of computers, in particular to the field of cloud services, specifically a method and system for installing applications on a cloud mobile phone, and a client cloud mobile phone.
背景技术Background technique
云手机(Cloudphone),就是将云计算技术运用于网络终端服务,通过云服务器实现云服务的手机。其实就是深度结合了网络服务的智能手机,这类手机凭借自带的系统以及厂商架设的网络终端可以通过网络实现众多的功能。Cloudphone is a mobile phone that applies cloud computing technology to network terminal services and realizes cloud services through cloud servers. In fact, it is a smartphone deeply integrated with network services. This type of mobile phone can realize many functions through the network by virtue of its own system and the network terminal set up by the manufacturer.
当前一般的基于云手机的试用场景,需要先在每台云手机上,提前安装好相应的app(即应用或应用程序),当用户请求试用时,分配安装有需求app的云手机给用户使用,即完成试用。In the current general cloud-based mobile phone trial scenario, it is necessary to install the corresponding app (that is, an application or an application program) on each cloud phone in advance. When the user requests a trial, the cloud phone with the required app installed is assigned to the user. , which completes the trial.
发明内容Contents of the invention
本公开提供了一种云手机安装app的方法、装置、系统、设备、存储介质以及计算机程序产品。The present disclosure provides a method, a device, a system, a device, a storage medium and a computer program product for installing an app on a cloud mobile phone.
根据本公开的第一方面,提供了一种云手机安装app的方法,包括:接收针对目标app的试用请求;从网络存储服务集群读取所述目标app的安装数据,其中,所述安装数据是由母版机云手机解压所述目标app的安装包并安装后生成的,并由所述母版机云手机写入所述网络存储服务集群; 将所述安装数据拷贝到本地的安装目录;将所述目标app在本地进行注册。According to a first aspect of the present disclosure, there is provided a method for installing an app on a cloud mobile phone, including: receiving a trial request for a target app; reading installation data of the target app from a network storage service cluster, wherein the installation data It is generated by decompressing and installing the installation package of the target app on the master cloud phone, and written into the network storage service cluster by the master cloud phone; copying the installation data to the local installation directory ; Register the target app locally.
根据本公开的第二方面,提供了一种客户端云手机,包括:接收单元,被配置成接收针对目标app的试用请求;读取单元,被配置成从网络存储服务集群读取所述目标app的安装数据,其中,所述安装数据是由母版机云手机解压所述目标app的安装包并安装后生成的,并由所述母版机云手机写入所述网络存储服务集群;拷贝单元,被配置成将所述安装数据拷贝到本地的安装目录;注册单元,被配置成将所述目标app在本地进行注册。According to a second aspect of the present disclosure, a client cloud mobile phone is provided, including: a receiving unit configured to receive a trial request for a target app; a reading unit configured to read the target app from a network storage service cluster App installation data, wherein the installation data is generated by the master cloud phone after decompressing the installation package of the target app and installing it, and written into the network storage service cluster by the master cloud phone; The copying unit is configured to copy the installation data to a local installation directory; the registration unit is configured to register the target app locally.
根据本公开的第三方面,提供了一种云手机安装app的系统,包括:母版机云手机,被配置成从app服务器下载app的安装包,解压所述安装包并安装后得到app的安装数据,将所述安装数据写入网络存储服务集群;网络存储服务集群,被配置成接收所述安装数据并存储;第二方面所述的客户端云手机。According to a third aspect of the present disclosure, a system for installing an app on a cloud phone is provided, including: a master cloud phone configured to download an app installation package from an app server, decompress the installation package and install it to obtain an app Install data, write the installation data into the network storage service cluster; the network storage service cluster is configured to receive and store the installation data; the client cloud mobile phone described in the second aspect.
根据本公开的第四方面,提供了一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行第一方面所述的方法。According to a fourth aspect of the present disclosure, there is provided an electronic device, including: at least one processor; and a memory communicatively connected to the at least one processor; Executable instructions, the instructions are executed by the at least one processor, so that the at least one processor can execute the method described in the first aspect.
根据本公开的第五方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行第一方面所述的方法。According to a fifth aspect of the present disclosure, there is provided a non-transitory computer-readable storage medium storing computer instructions, wherein the computer instructions are used to cause the computer to execute the method described in the first aspect.
根据本公开的第六方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现第一方面所述的方法。According to a sixth aspect of the present disclosure, there is provided a computer program product, including a computer program, which implements the method of the first aspect when executed by a processor.
本公开的实施例提供的云手机安装app的方法、系统和客户端云手机,使用网络存储集群系统,比如ceph(分布式文件系统)、nfs(Network File System,网络文件系统)等,将app的实际安装数据,保存在网络存储集群中。当客户申请云手机运行某app时,云手机从网络存储服务集群中读取数据,而不是原有的从该云手机自己存储芯片中读取。这样实际app就只需要针对网络存储集群,执行一次下载安装或者更新。即可保证,后续所有挂载该网络存储集群的云手机,都是用相同的数据,即最新版本的app。The method, system and client cloud mobile phone provided by the embodiments of the present disclosure use a network storage cluster system, such as ceph (distributed file system), nfs (Network File System, network file system), etc., to store the app The actual installation data is stored in the network storage cluster. When a customer applies for a cloud phone to run an app, the cloud phone reads data from the network storage service cluster instead of reading from the cloud phone's own storage chip. In this way, the actual app only needs to be downloaded, installed or updated once for the network storage cluster. It can be guaranteed that all subsequent cloud phones that mount the network storage cluster will use the same data, that is, the latest version of the app.
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键 或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。It should be understood that what is described in this section is not intended to identify key or important features of the embodiments of the present disclosure, nor is it intended to limit the scope of the present disclosure. Other features of the present disclosure will be readily understood through the following description.
附图说明Description of drawings
附图用于更好地理解本方案,不构成对本公开的限定。其中:The accompanying drawings are used to better understand the present solution, and do not constitute a limitation to the present disclosure. in:
图1是本公开的一个实施例可以应用于其中的示例性系统架构图;FIG. 1 is an exemplary system architecture diagram to which an embodiment of the present disclosure can be applied;
图2是根据本公开的云手机安装app的方法的一个实施例的流程图;FIG. 2 is a flowchart of an embodiment of a method for installing an app on a cloud mobile phone according to the present disclosure;
图3是根据本公开的云手机安装app的方法的一个应用场景的示意图;FIG. 3 is a schematic diagram of an application scenario of a method for installing an app on a cloud mobile phone according to the present disclosure;
图4是根据本公开的客户端云手机的一个实施例的结构示意图;FIG. 4 is a schematic structural diagram of an embodiment of a client cloud mobile phone according to the present disclosure;
图5是适于用来实现本公开的实施例的电子设备的计算机系统的结构示意图。FIG. 5 is a schematic structural diagram of a computer system suitable for implementing an electronic device according to an embodiment of the present disclosure.
具体实施方式Detailed ways
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。Exemplary embodiments of the present disclosure are described below in conjunction with the accompanying drawings, which include various details of the embodiments of the present disclosure to facilitate understanding, and they should be regarded as exemplary only. Accordingly, those of ordinary skill in the art will recognize that various changes and modifications of the embodiments described herein can be made without departing from the scope and spirit of the disclosure. Also, descriptions of well-known functions and constructions are omitted in the following description for clarity and conciseness.
由于不同app会不定期热更新(各种app启动时主动检测更新并发起下载和安装),为了保证提供给用户的app是可以立刻试用的,所以需要实时监控大量app的版本状态,发现某app需要更新时,需要主动对已安装该app的所有云手机启动app触发更新,并完成安装流程。存在繁琐、云手机的机房公网流量成本高、更新耗时长、限制app预装数量与种类,减少用户可用云手机数量等问题。Since different apps will be hot-updated from time to time (all kinds of apps will actively detect updates and initiate downloads and installations when they start), in order to ensure that the apps provided to users can be tried immediately, it is necessary to monitor the version status of a large number of apps in real time and find an app When an update is required, it is necessary to initiate an app trigger update on all cloud phones that have installed the app and complete the installation process. There are problems such as cumbersome, high cost of public network traffic in the computer room of cloud phones, long update time, restrictions on the number and types of pre-installed apps, and reducing the number of cloud phones available to users.
图1示出了可以应用本公开的云手机安装app的方法或云手机安装app的装置的实施例的示例性系统架构100。Fig. 1 shows an exemplary system architecture 100 of an embodiment of the method for installing an app on a cloud mobile phone or the device for installing an app on a cloud mobile phone of the present disclosure.
如图1所示,系统架构100可以包括客户端、至少一个物理机、app服务器、网络存储服务集群,每个物理机上安装了至少一个虚拟机,每个虚拟机对应一个云手机。客户端与物理机之间通过有线网络或无线网络进 行通信连接。这些云手机中包括母版机云手机和客户端云手机两种类型。母版机云手机用于通过公网下载app安装包安装app,并将生成的安装数据存储到网络存储服务集群。客户端云手机是从网络存储服务集群获取安装数据进行绿色安装。一个母版机云手机安装了app后得到的安装数据,可供其它所有客户端云手机共享。As shown in FIG. 1 , the system architecture 100 may include a client, at least one physical machine, an app server, and a network storage service cluster. At least one virtual machine is installed on each physical machine, and each virtual machine corresponds to a cloud phone. The communication between the client and the physical machine is connected through a wired network or a wireless network. These cloud phones include master machine cloud phones and client cloud phones. The master cloud phone is used to download the app installation package through the public network to install the app, and store the generated installation data to the network storage service cluster. The client cloud mobile phone obtains the installation data from the network storage service cluster for green installation. The installation data obtained after the app is installed on a master cloud phone can be shared by all other client cloud phones.
用户可以使用客户端通过网络与物理机交互,以接收或发送消息等。客户端上可以安装有各种通讯客户端应用,例如云手机管理类应用、网页浏览器应用、购物类应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等。Users can use the client to interact with the physical machine over the network to receive or send messages, etc. Various communication client applications can be installed on the client, such as cloud mobile phone management applications, web browser applications, shopping applications, search applications, instant messaging tools, email clients, social platform software, and the like.
客户端可以是硬件,也可以是软件。当客户端为硬件时,可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、电子书阅读器、MP3播放器(Moving Picture Experts Group Audio Layer III,动态影像专家压缩标准音频层面3)、MP4(Moving Picture Experts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、膝上型便携计算机和台式计算机等等。当客户端为软件时,可以安装在上述所列举的电子设备中。其可以实现成多个软件或软件模块(例如用来提供分布式服务),也可以实现成单个软件或软件模块。在此不做具体限定。Clients can be hardware or software. When the client is hardware, it can be a variety of electronic devices that have a display screen and support web browsing, including but not limited to smartphones, tablet computers, e-book readers, MP3 players (Moving Picture Experts Group Audio Layer III, Dynamic Video experts compress standard audio layer 3), MP4 (Moving Picture Experts Group Audio Layer IV, moving picture experts compress standard audio layer 4) players, laptops and desktop computers, etc. When the client is software, it can be installed in the electronic devices listed above. It can be implemented as a plurality of software or software modules (for example, to provide distributed services), or as a single software or software module. No specific limitation is made here.
物理机可以是提供各种服务的服务器,例如对客户端上显示的云手机界面提供支持的后台云手机服务器。客户端通过与物理机连接进行云手机上的app的试用。The physical machine can be a server that provides various services, such as a background cloud mobile phone server that supports the cloud mobile phone interface displayed on the client. The client tries the app on the cloud mobile phone by connecting with the physical machine.
网络存储服务集群可以是ceph或nfs等用作网盘的分布式存储系统。The network storage service cluster can be a distributed storage system such as ceph or nfs used as a network disk.
app服务器用于提供app的安装包、升级包。不同的app可由不同的app服务器提供。同一游戏开发者的产品也可能共用一个app服务器。The app server is used to provide the installation package and upgrade package of the app. Different apps may be provided by different app servers. Products of the same game developer may also share an app server.
在本实施例中,具体实现方案如下:In this embodiment, the specific implementation scheme is as follows:
1、使用1台云手机或少量云手机作为母版机云手机,简称母版机或安装机。以读写方式挂载ceph镜像或者nfs远端目录,负责向网络存储集群写入app的安装数据。1. Use one cloud phone or a small number of cloud phones as the master cloud phone, referred to as the master or installer. Mount the ceph mirror or nfs remote directory in read-write mode, and is responsible for writing the app installation data to the network storage cluster.
2、母版机下载、安装或者更新app。然后将安装后的app的安装数据,例如安卓系统的/data/app,/data/data以及/sdcard中,该app的安装数据,拷贝到母版机挂载的ceph镜像或者nfs目录中。2. The master machine downloads, installs or updates the app. Then copy the installation data of the installed app, such as /data/app, /data/data and /sdcard of the Android system, to the ceph mirror or nfs directory mounted on the master machine.
3、所有用户侧使用的云手机,此处称作客户端,以只读方式,挂载上述网络存储集群的app安装数据的目录。此时该客户端云手机,即视作了做好被用户请求试玩的准备,等待来自用户的试用请求并分配给用户使用。3. All cloud phones used on the user side, referred to as clients here, mount the directory of the app installation data of the above-mentioned network storage cluster in a read-only manner. At this time, the client cloud mobile phone is regarded as ready to be requested by the user for trial play, waiting for the trial request from the user and assigned to the user for use.
4、当用户发起对某个app的试用请求,并经由控制器(图中未示出)调度分配某台空闲的客户端云手机的使用权后。该客户端云手机将网络存储集群中的app安装数据,复制到该客户端云手机中,并进行注册。然后用户即可启动该app完成试用逻辑。4. When the user initiates a trial request for a certain app, and the controller (not shown in the figure) schedules and allocates the right to use a certain idle client cloud mobile phone. The client cloud mobile phone copies the app installation data in the network storage cluster to the client cloud mobile phone and registers it. Then the user can start the app to complete the trial logic.
5、用户使用客户端云手机完成试用时,客户端云手机对该app进行卸载,清理数据还原回未使用状态,等待下次用户试用请求。5. When the user completes the trial using the client cloud mobile phone, the client cloud mobile phone uninstalls the app, clears the data and restores it to an unused state, and waits for the next user trial request.
综上所述,由于每次app更新或者安装,都是仅使用最少1台或者几台母版机云手机安装app,再向同机房内的网络存储集群中拷贝数据。而真正提供给用户使用的客户端云手机,仅基于网络存储集群中发起快速安装,并从其读取app安装数据。同一app的安装包可只下载到一个母版机云手机中,但供海量客户端云手机使用。To sum up, every time the app is updated or installed, only at least one or a few master machines are used to install the app, and then copy data to the network storage cluster in the same computer room. However, the client cloud mobile phone that is actually provided to users is only based on the quick installation in the network storage cluster and reads the app installation data from it. The installation package of the same app can only be downloaded to one master cloud phone, but it can be used by a large number of client cloud phones.
所以,实际由于下载安装、更新app产生的公网流量,仅由少量母版机产生,大大减少了机房公网带宽成本。且母版机进行安装时,客户端云手机仍然可以继续提供其他未更新的app的试用业务服务,相比原来预安装方案,每台云手机更新时都只能被占用,无法持续向用户提供服务,缩短了app更新窗口时间,提高了运营效率。又因为app数据实际是安装在网络存储集群中的,不占用云手机本地的存储空间,极大的增加了该业务场景下,云手机向外提供app试玩的数量和种类。Therefore, the actual public network traffic generated by downloading, installing and updating apps is only generated by a small number of master machines, which greatly reduces the cost of public network bandwidth in the computer room. And when the master machine is installed, the client cloud phone can still continue to provide trial business services for other apps that have not been updated. Compared with the original pre-installation solution, each cloud phone can only be occupied when it is updated, and cannot continue to provide users with service, shortening the app update window time and improving operational efficiency. And because the app data is actually installed in the network storage cluster, it does not occupy the local storage space of the cloud phone, which greatly increases the number and types of app demos provided by the cloud phone in this business scenario.
在本实施例的一些可选的实现方式中,母版机云手机进一步被配置成:响应于检测到app的更新,从app服务器下载升级包;根据所述升级包更新安装数据,并将更新后的安装数据写入网络存储服务集群。当发现某个app需要更新,或者需要安装新的app时,使用母版机从app服务器下载升级包,根据所述升级包更新安装数据,以读写方式再次挂载网络存储镜像或者目录,并将更新后的安装数据写入网络存储镜像或者目录,完成网络存储集群中的app安装数据的更新。缩短了app更新窗口时间,提高了运营效率,减少了机房公网带宽成本。In some optional implementations of this embodiment, the master cloud phone is further configured to: download an upgrade package from the app server in response to detecting an update of the app; update the installation data according to the update package, and update the updated The final installation data is written to the network storage service cluster. When it is found that an app needs to be updated, or a new app needs to be installed, use the master computer to download the upgrade package from the app server, update the installation data according to the upgrade package, mount the network storage image or directory again in read-write mode, and Write the updated installation data into the network storage mirror or directory to complete the update of the app installation data in the network storage cluster. The app update window time is shortened, operational efficiency is improved, and the public network bandwidth cost of the computer room is reduced.
在本实施例的一些可选的实现方式中,该系统还包括控制器,被配置 成:接收针对目标app的试用请求;从客户端云手机集合中选择空闲的客户端云手机作为目标云手机;向所述目标云手机发送所述试用请求。控制器起调度作用,可根据不同的app所需资源选择空闲的云手机。或者选择剩余资源满足目标app运行开销的云手机。例如,用户甲想试用某游戏app,用户乙想试用某音频app,此时有2个空闲的云手机A、B,A的CPU性能优于B,则可将云手机A分配给游戏app,将云手机B分配给音频app。这样可以提高云手机使用效率,提高系统吞吐量。In some optional implementations of this embodiment, the system further includes a controller configured to: receive a trial request for the target app; select an idle client cloud phone from the client cloud phone set as the target cloud phone ; Send the trial request to the target cloud mobile phone. The controller plays a scheduling role, and can select idle cloud phones according to the resources required by different apps. Or choose a cloud phone whose remaining resources meet the running cost of the target app. For example, user A wants to try a certain game app, and user B wants to try a certain audio app. At this time, there are two idle cloud phones A and B. If the CPU performance of A is better than that of B, cloud phone A can be assigned to the game app. Assign cloud phone B to the audio app. This can improve the efficiency of cloud mobile phone use and improve system throughput.
在本实施例的一些可选的实现方式中,控制器进一步被配置成:接收针对目标app的试用请求;查询所述网络存储服务集群中是否存在所述目标app的安装数据;若不存在,则从客户端云手机集合中选择空闲的客户端云手机作为目标母版机云手机,使得所述目标母版机云手机从目标app的服务器下载目标app安装包,解压所述目标app安装包并安装后得到目标app的安装数据,将所述目标app的安装数据写入网络存储服务集群。In some optional implementations of this embodiment, the controller is further configured to: receive a trial request for the target app; query whether the installation data of the target app exists in the network storage service cluster; if not, Then select an idle client cloud mobile phone as the target master cloud mobile phone from the client cloud mobile phone set, so that the target master cloud mobile phone downloads the target app installation package from the server of the target app, and decompresses the target app installation package After installation, the installation data of the target app is obtained, and the installation data of the target app is written into the network storage service cluster.
也可以动态分配母版机云手机。任何客户端云手机都可作为母版机云手机使用。但是母版机云手机的存储空间是要被实际占用的,因此可以尽量选择存储空间大的客户端云手机作为母版机云手机。还可将app从母版机云手机中卸载,使其恢复成普通的客户端云手机使用。特别是一些app升级后占用的空间较大,则可将该app从空间不足的母版机云手机A切换到另一个空间大的母版机云手机B。母版机云手机A中的app卸载后可安装其它app,也可不再作为母版机云手机,而只作为客户端云手机临时安装app。这种方式可灵活配置母版机云手机,动态调整系统资源,使得资源得到充分利用。It is also possible to dynamically allocate the master machine cloud phone. Any client cloud phone can be used as a master cloud phone. However, the storage space of the master cloud phone is actually occupied, so you can try to choose a client cloud phone with a large storage space as the master cloud phone. The app can also be uninstalled from the master cloud phone to restore it to a common client cloud phone. In particular, some apps take up a lot of space after being upgraded, and the app can be switched from the master cloud phone A with insufficient space to another master cloud phone B with a large space. After the app in the master cloud phone A is uninstalled, other apps can be installed, or it can no longer be used as the master cloud phone, but only temporarily installed as an app on the client cloud phone. This method can flexibly configure the master machine cloud phone, dynamically adjust system resources, and make full use of resources.
物理机可以实现成多个服务器组成的分布式服务器集群,也可以实现成单个服务器。在此不做具体限定。物理机也可以为分布式系统的服务器,或者是结合了区块链的服务器。物理机也可以是云服务器,或者是带人工智能技术的智能云计算服务器或智能云主机。A physical machine can be implemented as a distributed server cluster composed of multiple servers, or as a single server. No specific limitation is made here. The physical machine can also be a server of a distributed system, or a server combined with a blockchain. The physical machine can also be a cloud server, or an intelligent cloud computing server or intelligent cloud host with artificial intelligence technology.
需要说明的是,本公开的实施例所提供的云手机安装app的方法可以由物理机执行。相应地,云手机安装app的装置可以设置于物理机中。在此不做具体限定。It should be noted that the method for installing an app on a cloud mobile phone provided by the embodiments of the present disclosure may be executed by a physical machine. Correspondingly, the device for installing apps on the cloud mobile phone can be set in the physical machine. No specific limitation is made here.
应该理解,图1中的客户端、物理机、虚拟机、客户端云手机、母版 机云手机、app服务器、网络存储服务集群的数目仅仅是示意性的。根据实现需要,可以具有任意数目的客户端、物理机、虚拟机。It should be understood that the numbers of clients, physical machines, virtual machines, client cloud phones, master machine cloud phones, app servers, and network storage service clusters in Figure 1 are only illustrative. According to implementation requirements, there can be any number of clients, physical machines, and virtual machines.
继续参考图2,示出了根据本公开的云手机安装app的方法应用于客户端云手机的一个实施例的流程200。该云手机安装app的方法,包括以下步骤:Continuing to refer to FIG. 2 , it shows a process 200 of an embodiment in which the method for installing an app on a cloud mobile phone according to the present disclosure is applied to a client cloud mobile phone. The method for installing an app on a cloud mobile phone includes the following steps:
步骤201,接收针对目标app的试用请求。 Step 201, receiving a trial request for a target app.
在本实施例中,云手机安装app的方法的执行主体(例如图1所示的客户端云手机)可以接收来自客户端的针对目标app的试用请求。试用请求可包括目标app的名称。可选地,试用请求还可包括目标app的版本信息。可选地,还可用户可通过客户端连接控制器,向控制器发试用请求,由控制器调度分配空闲的客户端云手机,将该试用请求转发给分配的客户端云手机。In this embodiment, the execution subject of the method for installing an app on the cloud mobile phone (for example, the client cloud mobile phone shown in FIG. 1 ) may receive a trial request for the target app from the client. The trial request may include the name of the target app. Optionally, the trial request may also include version information of the target app. Optionally, the user can also connect to the controller through the client, send a trial request to the controller, and the controller schedules and allocates an idle client cloud mobile phone, and forwards the trial request to the assigned client cloud mobile phone.
步骤202,从网络存储服务集群读取目标app的安装数据。 Step 202, read the installation data of the target app from the network storage service cluster.
在本实施例中,安装数据是由母版机云手机解压目标app的安装包并安装后生成的,并由母版机云手机写入网络存储服务集群。安装数据可包括应用程序目录、数据目录和app名称。安装数据还可包括存储卡目录,用于存放游戏的热更新数据,以及一些临时加载的资源。应用程序目录可用于存储app的启动文件,数据目录可用于存储app的素材和缓存数据。具体地,所述启动文件是所述应用程序目录下存放app的一个base.apk,这个文件比较大,是app的核心文件。所述数据目录存放在app的素材、缓存等内容,目录占用比较小。所述存储卡目录存放在游戏的热更新数据,一些临时加载的资源,目录占用空间较大。In this embodiment, the installation data is generated by decompressing and installing the installation package of the target app on the master cloud phone, and written into the network storage service cluster by the master cloud phone. The installation data may include an application directory, a data directory, and an app name. The installation data may also include a memory card directory, which is used to store hot update data of the game, and some temporarily loaded resources. The application directory can be used to store the startup files of the app, and the data directory can be used to store the material and cache data of the app. Specifically, the startup file is a base.apk of the app stored in the application program directory. This file is relatively large and is the core file of the app. The data directory is stored in app materials, cache, etc., and the directory occupies a relatively small amount. The memory card directory stores the hot update data of the game and some temporarily loaded resources, and the directory takes up a large space.
步骤203,将安装数据拷贝到本地的安装目录。 Step 203, copy the installation data to a local installation directory.
在本实施例中,客户端云手机不直接获取安装包,而是获取已经压缩、读写、校验过的安装数据。相当于把绿色安装文件从网络存储服务集群拷贝到本地的安装目录。In this embodiment, the client cloud mobile phone does not directly obtain the installation package, but obtains the compressed, read-write, and verified installation data. It is equivalent to copying the green installation file from the network storage service cluster to the local installation directory.
步骤204,将目标app在本地进行注册。 Step 204, register the target app locally.
在本实施例中,若不将目标app在本地进行注册(添加注册表项目,包括软件运行所需要的文件、设置等),则无法进行app的自动安装过程, 只有将app名称一起复制到安装列表下,在启动app时,才会对应用程序目录和数据目录下的存储内容进行读取,从而启动app,类似于在一台电脑上复制已安装的软件文件目录到另外一台电脑上运行时,电脑会报错,因为系统注册表里面没有对应的软件安装记录,所以无法识别这个安装目录的文件。In this embodiment, if the target app is not registered locally (adding registry items, including files and settings required for software operation), the automatic installation process of the app cannot be performed, and only the app name is copied to the installation Under the list, when the app is started, the storage content under the application directory and the data directory will be read to start the app, similar to copying the installed software file directory on one computer to run on another computer , the computer will report an error, because there is no corresponding software installation record in the system registry, so the files in this installation directory cannot be recognized.
本公开的上述实施例提供的方法,使用网络存储集群代替云手机本地存储空间,节约了云手机存储空间,大大增加云手机安装app的种类和数量。app安装或者更新时,只需要对母版机云手机下载安装或者更新一次。相比原来对每台云手机都下载更新完成安装,极大的节约云手机对公网流量的下载app更新的流量成本。简化了云手机上架app安装和更新的步骤,减少耗时。由于只需对母版机更新,与客户云手机是异步的,所以更新或者安装新app时,不影响客户继续使用原来的云手机。原来方案,更新时需要占用所有云手机,此时不能为用户提供服务。The method provided by the above-mentioned embodiments of the present disclosure uses a network storage cluster to replace the local storage space of the cloud mobile phone, saves the storage space of the cloud mobile phone, and greatly increases the types and quantities of apps installed on the cloud mobile phone. When the app is installed or updated, it only needs to be downloaded and installed or updated once on the master cloud phone. Compared with the original download and update for each cloud mobile phone to complete the installation, it greatly saves the traffic cost of downloading app updates for cloud mobile phones to public network traffic. Simplifies the steps of installing and updating apps on the cloud mobile phone, reducing time-consuming. Since only the master machine needs to be updated, it is asynchronous with the customer's cloud phone, so when updating or installing a new app, it will not affect the customer's continued use of the original cloud phone. In the original plan, all cloud phones need to be occupied during the update, and services cannot be provided to users at this time.
在本实施例的一些可选的实现方式中,该方法还包括:响应于检测到所述目标app试用结束,卸载所述目标app并清空所述目标app的中间数据。当检测到用户退出登录或者关闭app窗口或者超时时,认为目标app试用结束。则可卸载所述目标app并清空该app的中间数据。这样可以节省云手机的空间,提高云手机的使用率,以便云手机用于其它app。不需要针对不同的app设置固定的云手机始终占用资源。因为app安装速度快,每次接到试用请求时现场安装也不会影响用户体验。In some optional implementation manners of this embodiment, the method further includes: in response to detecting that the trial of the target app ends, uninstalling the target app and clearing the intermediate data of the target app. When it is detected that the user logs out or closes the app window or times out, it is considered that the trial of the target app is over. Then the target app can be uninstalled and the intermediate data of the app can be cleared. In this way, the space of the cloud mobile phone can be saved, and the usage rate of the cloud mobile phone can be improved so that the cloud mobile phone can be used for other apps. There is no need to set a fixed cloud phone for different apps to always occupy resources. Because the app installation speed is fast, the on-site installation will not affect the user experience every time a trial request is received.
可选地,可根据app的试用频次选择卸载的时间。例如如果一个app一天内被试用超过预定阈值100次,则可将卸载时间推迟一天。如果一个app一天内被试用不超过5次,则可每次使用完就卸载。Optionally, the uninstallation time can be selected according to the trial frequency of the app. For example, if an app is tried more than a predetermined threshold 100 times in one day, the uninstallation time can be postponed for one day. If an app is tried no more than 5 times a day, it can be uninstalled after each use.
继续参见图3,图3是根据本实施例的云手机安装app的方法的应用场景的一个示意图。在应用场景中,云手机服务提供商在一些母版机云手机上预先安装了一些app。母版机云手机直接从公网的app服务器下载安装包后,在母版机云手机上完成解压、读写、校验等安装过程。安装后母版机云手机上会留下安装数据,将这些安装数据写入母版机云手机挂载的网络存储服务集群中。网络存储服务集群保存各种app的安装数据。如果有用户的客户端发起某个app的试用请求,则分配一个客户端云手机安装 该app。该客户端云手机不需要从公网的app服务器下载安装包,而是直接从网络存储服务集群读取该app的安装数据,不进行解压等安装过程,直接使用安装数据在注册表中注册,就完成了app的安装过程。用户可使用该客户端云手机中的app进行试用。用户退出该app后,该客户端云手机卸载该app并删除中间数据。如果有其它用户想试用另一个app时,可重复上述步骤,在该客户端云手机安装其它的app。用完即卸载,不占用云手机空间。母版机云手机可监测到app的更新,下载升级包后,将更新后的安装数据再次写入母版机云手机挂载的网络存储服务集群中。网络存储服务集群保存各种app的更新后的安装数据。Continue to refer to FIG. 3 , which is a schematic diagram of an application scenario of the method for installing an app on a cloud mobile phone according to this embodiment. In the application scenario, the cloud phone service provider pre-installs some apps on some master cloud phones. After the master cloud mobile phone directly downloads the installation package from the app server on the public network, the decompression, reading and writing, verification and other installation processes are completed on the master cloud mobile phone. After installation, installation data will be left on the master cloud phone, and these installation data will be written into the network storage service cluster mounted on the master cloud phone. The network storage service cluster saves the installation data of various apps. If a user's client initiates a trial request for an app, a client cloud phone is assigned to install the app. The client cloud mobile phone does not need to download the installation package from the app server on the public network, but directly reads the app's installation data from the network storage service cluster, does not perform decompression and other installation processes, and directly uses the installation data to register in the registry. This completes the app installation process. Users can use the app in the client cloud phone to try it out. After the user quits the app, the client cloud phone uninstalls the app and deletes the intermediate data. If other users want to try another app, they can repeat the above steps to install other apps on the client cloud phone. Uninstall it when you're done using it, and don't take up space on your cloud phone. The master cloud mobile phone can monitor the update of the app, and after downloading the upgrade package, write the updated installation data into the network storage service cluster mounted on the master cloud mobile phone. The network storage service cluster saves the updated installation data of various apps.
使用网络存储替代客户端云手机本地存储,节约了客户端云手机自身的存储空间。每台客户端云手机,都共享使用网络存储中的同一份app数据,而不是使用原来每台客户端云手机自己的数据。所以对于某个app,只需要针对网络存储更新一次;而原来的每台客户端云手机对该app都需要更新一次。大大节约更新下载app的带宽成本、提高更新速度。每台客户端云手机,是以只读挂载网络存储镜像或目录。并使用overlayfs技术,将云手机的读写操作分离:即只向每台客户端云手机自己的本地存储空间中写入数据,只从网络存储集群读出数据。从而提高网络存储服务器的内存缓存利用率,压力小,性能高。Using network storage to replace the local storage of the client cloud phone saves the storage space of the client cloud phone itself. Each client cloud mobile phone shares and uses the same app data in the network storage, instead of using the original data of each client cloud mobile phone. Therefore, for an app, it only needs to be updated once for the network storage; while each original client cloud phone needs to update the app once. It greatly saves the bandwidth cost of updating and downloading apps and improves the update speed. Each client cloud phone mounts the network storage image or directory as read-only. And use the overlayfs technology to separate the read and write operations of the cloud mobile phone: that is, only write data to the local storage space of each client cloud mobile phone, and only read data from the network storage cluster. Thereby, the memory cache utilization rate of the network storage server is improved, the pressure is small, and the performance is high.
进一步参考图4,作为对上述各图所示方法的实现,本公开提供了一种客户端云手机的一个实施例,该客户端云手机的实施例与图2所示的方法实施例相对应,该客户端云手机具体可以应用于各种电子设备中。Further referring to FIG. 4 , as an implementation of the methods shown in the above figures, the present disclosure provides an embodiment of a client cloud mobile phone, and the embodiment of the client cloud mobile phone corresponds to the method embodiment shown in FIG. 2 , the client cloud mobile phone can be specifically applied to various electronic devices.
如图4所示,本实施例的客户端云手机400包括:接收单元401、读取单元402、拷贝单元403和注册单元404。其中,接收单元401,被配置成接收针对目标app的试用请求;读取单元402,被配置成从网络存储服务集群读取所述目标app的安装数据,其中,所述安装数据是由母版机云手机解压所述目标app的安装包并安装后生成的,并由所述母版机云手机写入所述网络存储服务集群;拷贝单元403,被配置成将所述安装数据拷贝到本地的安装目录;注册单元404,被配置成将所述目标app在本地进行注册。As shown in FIG. 4 , the client cloud mobile phone 400 of this embodiment includes: a receiving unit 401 , a reading unit 402 , a copying unit 403 and a registration unit 404 . Wherein, the receiving unit 401 is configured to receive a trial request for the target app; the reading unit 402 is configured to read the installation data of the target app from the network storage service cluster, wherein the installation data is provided by the master The machine cloud mobile phone decompresses the installation package of the target app and generates it after installation, and writes it into the network storage service cluster by the master machine cloud mobile phone; the copy unit 403 is configured to copy the installation data to the local installation directory; the registration unit 404 is configured to register the target app locally.
在本实施例中,客户端云手机400的接收单元401、读取单元402、 拷贝单元403和注册单元404的具体处理可以参考图2对应实施例中的步骤201、步骤202、步骤203、步骤204。In this embodiment, the specific processing of the receiving unit 401, the reading unit 402, the copying unit 403, and the registration unit 404 of the client cloud mobile phone 400 can refer to the steps 201, 202, 203, and 203 in the corresponding embodiment of FIG. 204.
在本实施例的一些可选的实现方式中,客户端云手机400还包括卸载单元(附图中未示出),被配置成:响应于检测到所述目标app试用结束,卸载所述目标app并清空所述目标app的中间数据。In some optional implementations of this embodiment, the client cloud phone 400 further includes an uninstall unit (not shown in the drawings), configured to: uninstall the target app in response to detecting that the trial of the target app ends. app and empty the intermediate data of the target app.
本公开的技术方案中,所涉及的用户个人信息的收集、存储、使用、加工、传输、提供和公开等处理,均符合相关法律法规的规定,且不违背公序良俗。In the technical solution of this disclosure, the collection, storage, use, processing, transmission, provision, and disclosure of user personal information involved are all in compliance with relevant laws and regulations, and do not violate public order and good customs.
根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。According to the embodiments of the present disclosure, the present disclosure also provides an electronic device, a readable storage medium, and a computer program product.
一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行流程200所述的方法。An electronic device, comprising: at least one processor; and a memory communicatively connected to the at least one processor; wherein, the memory stores instructions executable by the at least one processor, and the instructions are executed by the At least one processor executes, so that the at least one processor can execute the method described in the process 200 .
一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行流程200所述的方法。A non-transitory computer-readable storage medium storing computer instructions, wherein the computer instructions are used to make the computer execute the method described in process 200 .
一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现流程200所述的方法。A computer program product, including a computer program, the computer program implements the method described in process 200 when executed by a processor.
图5示出了可以用来实施本公开的实施例的示例电子设备500的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。FIG. 5 shows a schematic block diagram of an example electronic device 500 that may be used to implement embodiments of the present disclosure. Electronic device is intended to represent various forms of digital computers, such as laptops, desktops, workstations, personal digital assistants, servers, blade servers, mainframes, and other suitable computers. Electronic devices may also represent various forms of mobile devices, such as personal digital processing, cellular telephones, smart phones, wearable devices, and other similar computing devices. The components shown herein, their connections and relationships, and their functions, are by way of example only, and are not intended to limit implementations of the disclosure described and/or claimed herein.
如图5所示,设备500包括计算单元501,其可以根据存储在只读存储器(ROM)502中的计算机程序或者从存储单元508加载到随机访问存储器(RAM)503中的计算机程序,来执行各种适当的动作和处理。在RAM503中,还可存储设备500操作所需的各种程序和数据。计算单元501、ROM 502以及RAM 503通过总线504彼此相连。输入/输出(I/O)接口 505也连接至总线504。As shown in FIG. 5 , the device 500 includes a computing unit 501 that can execute according to a computer program stored in a read-only memory (ROM) 502 or loaded from a storage unit 508 into a random-access memory (RAM) 503. Various appropriate actions and treatments. In the RAM 503, various programs and data necessary for the operation of the device 500 can also be stored. The computing unit 501, ROM 502, and RAM 503 are connected to each other through a bus 504. An input/output (I/O) interface 505 is also connected to bus 504.
设备500中的多个部件连接至I/O接口505,包括:输入单元506,例如键盘、鼠标等;输出单元507,例如各种类型的显示器、扬声器等;存储单元508,例如磁盘、光盘等;以及通信单元509,例如网卡、调制解调器、无线通信收发机等。通信单元509允许设备500通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。Multiple components in the device 500 are connected to the I/O interface 505, including: an input unit 506, such as a keyboard, a mouse, etc.; an output unit 507, such as various types of displays, speakers, etc.; a storage unit 508, such as a magnetic disk, an optical disk, etc. ; and a communication unit 509, such as a network card, a modem, a wireless communication transceiver, and the like. The communication unit 509 allows the device 500 to exchange information/data with other devices over a computer network such as the Internet and/or various telecommunication networks.
计算单元501可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元501的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元501执行上文所描述的各个方法和处理,例如云手机安装app的方法。例如,在一些实施例中,云手机安装app的方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元508。在一些实施例中,计算机程序的部分或者全部可以经由ROM 502和/或通信单元509而被载入和/或安装到设备500上。当计算机程序加载到RAM 503并由计算单元501执行时,可以执行上文描述的云手机安装app的方法的一个或多个步骤。备选地,在其他实施例中,计算单元501可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行云手机安装app的方法。The computing unit 501 may be various general-purpose and/or special-purpose processing components having processing and computing capabilities. Some examples of computing units 501 include, but are not limited to, central processing units (CPUs), graphics processing units (GPUs), various dedicated artificial intelligence (AI) computing chips, various computing units that run machine learning model algorithms, digital signal processing processor (DSP), and any suitable processor, controller, microcontroller, etc. The computing unit 501 executes various methods and processes described above, for example, a method for installing an app on a cloud mobile phone. For example, in some embodiments, the method for installing an app on a cloud phone can be implemented as a computer software program tangibly embodied in a machine-readable medium, such as the storage unit 508 . In some embodiments, part or all of the computer program may be loaded and/or installed on the device 500 via the ROM 502 and/or the communication unit 509. When the computer program is loaded into the RAM 503 and executed by the computing unit 501, one or more steps of the above-described method for installing an app on a cloud mobile phone can be performed. Alternatively, in other embodiments, the computing unit 501 may be configured in any other appropriate way (for example, by means of firmware) to execute the method for installing an app on a cloud phone.
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。Various implementations of the systems and techniques described above herein can be implemented in digital electronic circuit systems, integrated circuit systems, field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific standard products (ASSPs), systems on chips Implemented in a system of systems (SOC), load programmable logic device (CPLD), computer hardware, firmware, software, and/or combinations thereof. These various embodiments may include being implemented in one or more computer programs executable and/or interpreted on a programmable system including at least one programmable processor, the programmable processor Can be special-purpose or general-purpose programmable processor, can receive data and instruction from storage system, at least one input device, and at least one output device, and transmit data and instruction to this storage system, this at least one input device, and this at least one output device an output device.
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的 任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。Program code for implementing the methods of the present disclosure may be written in any combination of one or more programming languages. These program codes may be provided to a processor or controller of a general-purpose computer, a special purpose computer, or other programmable data processing devices, so that the program codes, when executed by the processor or controller, make the functions/functions specified in the flow diagrams and/or block diagrams Action is implemented. The program code may execute entirely on the machine, partly on the machine, as a stand-alone software package partly on the machine and partly on a remote machine or entirely on the remote machine or server.
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。In the context of the present disclosure, a machine-readable medium may be a tangible medium that may contain or store a program for use by or in conjunction with an instruction execution system, apparatus, or device. A machine-readable medium may be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium may include, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatus, or devices, or any suitable combination of the foregoing. More specific examples of machine-readable storage media would include one or more wire-based electrical connections, portable computer discs, hard drives, random access memory (RAM), read only memory (ROM), erasable programmable read only memory (EPROM or flash memory), optical fiber, compact disk read only memory (CD-ROM), optical storage, magnetic storage, or any suitable combination of the foregoing.
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。To provide for interaction with the user, the systems and techniques described herein can be implemented on a computer having a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user. ); and a keyboard and pointing device (eg, a mouse or a trackball) through which a user can provide input to the computer. Other kinds of devices can also be used to provide interaction with the user; for example, the feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and can be in any form (including Acoustic input, speech input or, tactile input) to receive input from the user.
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络 的示例包括:局域网(LAN)、广域网(WAN)和互联网。The systems and techniques described herein can be implemented in a computing system that includes back-end components (e.g., as a data server), or a computing system that includes middleware components (e.g., an application server), or a computing system that includes front-end components (e.g., as a a user computer having a graphical user interface or web browser through which a user can interact with embodiments of the systems and techniques described herein), or including such backend components, middleware components, Or any combination of front-end components in a computing system. The components of the system can be interconnected by any form or medium of digital data communication, eg, a communication network. Examples of communication networks include: Local Area Networks (LANs), Wide Area Networks (WANs), and the Internet.
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,也可以为分布式系统的服务器,或者是结合了区块链的服务器。A computer system may include clients and servers. Clients and servers are generally remote from each other and typically interact through a communication network. The relationship of client and server arises by computer programs running on the respective computers and having a client-server relationship to each other. The server can be a cloud server, a server of a distributed system, or a server combined with a blockchain.
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。It should be understood that steps may be reordered, added or deleted using the various forms of flow shown above. For example, each step described in the present disclosure may be executed in parallel, sequentially, or in a different order, as long as the desired result of the technical solution disclosed in the present disclosure can be achieved, no limitation is imposed herein.
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。The specific implementation manners described above do not limit the protection scope of the present disclosure. It should be apparent to those skilled in the art that various modifications, combinations, sub-combinations and substitutions may be made depending on design requirements and other factors. Any modifications, equivalent replacements and improvements made within the spirit and principles of the present disclosure shall be included within the protection scope of the present disclosure.

Claims (11)

  1. 一种云手机安装应用的方法,包括:A method for installing applications on a cloud mobile phone, comprising:
    接收针对目标应用的试用请求;Receive a trial request for the target application;
    从网络存储服务集群读取所述目标应用的安装数据,其中,所述安装数据是由母版机云手机解压所述目标应用的安装包并安装后生成的,并由所述母版机云手机写入所述网络存储服务集群;Read the installation data of the target application from the network storage service cluster, wherein the installation data is generated by the master machine cloud mobile phone after decompressing the installation package of the target application and installing it, and is generated by the master machine cloud The mobile phone writes into the network storage service cluster;
    将所述安装数据拷贝到本地的安装目录;以及copying the installation data to a local installation directory; and
    将所述目标应用在本地进行注册。Register the target application locally.
  2. 根据权利要求1所述的方法,其中,所述方法还包括:The method according to claim 1, wherein the method further comprises:
    响应于检测到所述目标应用试用结束,卸载所述目标应用并清空所述目标应用的中间数据。In response to detecting that the trial of the target application ends, the target application is uninstalled and the intermediate data of the target application is cleared.
  3. 一种客户端云手机,包括:A client cloud mobile phone, comprising:
    接收单元,被配置成接收针对目标应用的试用请求;a receiving unit configured to receive a trial request for a target application;
    读取单元,被配置成从网络存储服务集群读取所述目标应用的安装数据,其中,所述安装数据是由母版机云手机解压所述目标应用的安装包并安装后生成的,并由所述母版机云手机写入所述网络存储服务集群;The reading unit is configured to read the installation data of the target application from the network storage service cluster, wherein the installation data is generated by the master computer cloud phone after decompressing and installing the installation package of the target application, and Writing into the network storage service cluster by the cloud phone of the master machine;
    拷贝单元,被配置成将所述安装数据拷贝到本地的安装目录;以及a copy unit configured to copy the installation data to a local installation directory; and
    注册单元,被配置成将所述目标应用在本地进行注册。The registration unit is configured to register the target application locally.
  4. 根据权利要求3所述的客户端云手机,其中,所述客户端云手机还包括卸载单元,被配置成:The client cloud mobile phone according to claim 3, wherein the client cloud mobile phone also includes an uninstall unit configured to:
    响应于检测到所述目标应用试用结束,卸载所述目标应用并清空所述目标应用的中间数据。In response to detecting that the trial of the target application ends, the target application is uninstalled and the intermediate data of the target application is cleared.
  5. 一种云手机安装应用的系统,包括:A system for installing applications on a cloud mobile phone, comprising:
    母版机云手机,被配置成从应用服务器下载应用的安装包,解压所述安装包并安装后得到应用的安装数据,将所述安装数据写入网络存储服务集群;The master machine cloud mobile phone is configured to download the installation package of the application from the application server, decompress the installation package and install it to obtain the installation data of the application, and write the installation data into the network storage service cluster;
    网络存储服务集群,被配置成接收所述安装数据并存储;以及a network storage service cluster configured to receive and store the installation data; and
    如权利要求3或4所述的客户端云手机。The client cloud mobile phone as claimed in claim 3 or 4.
  6. 根据权利要求5所述的系统,所述母版机云手机进一步被配置成:According to the system according to claim 5, the master machine cloud mobile phone is further configured to:
    响应于检测到应用的更新,从应用服务器下载升级包;In response to detecting an applied update, downloading an upgrade package from an application server;
    根据所述升级包更新安装数据,并将更新后的安装数据写入网络存储服务集群。The installation data is updated according to the upgrade package, and the updated installation data is written into the network storage service cluster.
  7. 根据权利要求5所述的系统,所述系统还包括控制器,被配置成:The system of claim 5, further comprising a controller configured to:
    接收针对目标应用的试用请求;Receive a trial request for the target application;
    从客户端云手机集合中选择空闲的客户端云手机作为目标云手机;Select an idle client cloud mobile phone as the target cloud mobile phone from the client cloud mobile phone set;
    向所述目标云手机发送所述试用请求。Send the trial request to the target cloud mobile phone.
  8. 根据权利要求5所述的系统,所述控制器进一步被配置成:The system of claim 5, the controller further configured to:
    接收针对目标应用的试用请求;Receive a trial request for the target application;
    查询所述网络存储服务集群中是否存在所述目标应用的安装数据;Query whether the installation data of the target application exists in the network storage service cluster;
    若不存在,则从客户端云手机集合中选择空闲的客户端云手机作为目标母版机云手机,使得所述目标母版机云手机从目标应用的服务器下载目标应用安装包,解压所述目标应用安装包并安装后得到目标应用的安装数据,将所述目标应用的安装数据写入网络存储服务集群。If it does not exist, then select an idle client cloud mobile phone from the client cloud mobile phone set as the target master cloud mobile phone, so that the target master cloud mobile phone downloads the target application installation package from the server of the target application, and decompresses the After the target application installation package is installed, the installation data of the target application is obtained, and the installation data of the target application is written into the network storage service cluster.
  9. 一种电子设备,包括:An electronic device comprising:
    至少一个处理器;以及at least one processor; and
    与所述至少一个处理器通信连接的存储器;其中,a memory communicatively coupled to the at least one processor; wherein,
    所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1或2所述的方法。The memory stores instructions executable by the at least one processor, the instructions being executed by the at least one processor to enable the at least one processor to perform the method of claim 1 or 2 .
  10. 一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据权利要求1或2所述的方法。A non-transitory computer-readable storage medium storing computer instructions, wherein the computer instructions are used to cause the computer to execute the method according to claim 1 or 2.
  11. 一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现根据权利要求1或2所述的方法。A computer program product comprising a computer program which, when executed by a processor, implements the method according to claim 1 or 2.
PCT/CN2022/125914 2021-10-18 2022-10-18 Method and system for installing application on cloudphone, and client cloudphone WO2023066246A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202111209340.1A CN113934437B (en) 2021-10-18 2021-10-18 Method and system for installing application on cloud mobile phone and client cloud mobile phone
CN202111209340.1 2021-10-18

Publications (1)

Publication Number Publication Date
WO2023066246A1 true WO2023066246A1 (en) 2023-04-27

Family

ID=79279934

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2022/125914 WO2023066246A1 (en) 2021-10-18 2022-10-18 Method and system for installing application on cloudphone, and client cloudphone

Country Status (2)

Country Link
CN (1) CN113934437B (en)
WO (1) WO2023066246A1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113934437B (en) * 2021-10-18 2024-04-02 北京百度网讯科技有限公司 Method and system for installing application on cloud mobile phone and client cloud mobile phone

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109597628A (en) * 2018-11-26 2019-04-09 广州微算互联信息技术有限公司 The method and cloud handset server of cloud mobile phone application copy
CN110147240A (en) * 2019-04-30 2019-08-20 广州微算互联信息技术有限公司 Application program installation method, system and storage medium based on cloud storage
CN110417785A (en) * 2019-07-31 2019-11-05 湖南微算互联信息技术有限公司 A kind of installation method, system and the storage medium of cloud mobile phone games
CN111586121A (en) * 2020-04-27 2020-08-25 安超云软件有限公司 Distributed cloud mobile phone application installation method, cloud platform, system and storage medium
WO2021070982A1 (en) * 2019-10-08 2021-04-15 엘지전자 주식회사 Electronic device for sharing content and control method therefor
CN113472956A (en) * 2021-09-03 2021-10-01 北京健康之家科技有限公司 Cloud mobile phone management method and device
CN113934437A (en) * 2021-10-18 2022-01-14 北京百度网讯科技有限公司 Method and system for installing application in cloud mobile phone and client cloud mobile phone

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10664266B2 (en) * 2018-09-04 2020-05-26 Salesforce.Com, Inc. Maintaining client version affinity during a server cluster upgrade
CN109005245B (en) * 2018-09-07 2021-09-14 广州微算互联信息技术有限公司 Cloud mobile phone use management method and system
CN110913015B (en) * 2019-12-12 2022-11-11 湖南多行云计算机科技有限公司 Distributed quick installation method, system and medium for cloud mobile phone APP
CN113037851B (en) * 2021-03-19 2023-03-31 深圳市臂云科技有限公司 Method for cloud mobile phone system super-resolution based on storage implementation
CN113422839A (en) * 2021-07-12 2021-09-21 中国电信股份有限公司 Cloud mobile phone system based on cloud computing, control method, medium and electronic device

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109597628A (en) * 2018-11-26 2019-04-09 广州微算互联信息技术有限公司 The method and cloud handset server of cloud mobile phone application copy
CN110147240A (en) * 2019-04-30 2019-08-20 广州微算互联信息技术有限公司 Application program installation method, system and storage medium based on cloud storage
CN110417785A (en) * 2019-07-31 2019-11-05 湖南微算互联信息技术有限公司 A kind of installation method, system and the storage medium of cloud mobile phone games
WO2021070982A1 (en) * 2019-10-08 2021-04-15 엘지전자 주식회사 Electronic device for sharing content and control method therefor
CN111586121A (en) * 2020-04-27 2020-08-25 安超云软件有限公司 Distributed cloud mobile phone application installation method, cloud platform, system and storage medium
CN113472956A (en) * 2021-09-03 2021-10-01 北京健康之家科技有限公司 Cloud mobile phone management method and device
CN113934437A (en) * 2021-10-18 2022-01-14 北京百度网讯科技有限公司 Method and system for installing application in cloud mobile phone and client cloud mobile phone

Also Published As

Publication number Publication date
CN113934437B (en) 2024-04-02
CN113934437A (en) 2022-01-14

Similar Documents

Publication Publication Date Title
US11297126B2 (en) System and method for image file generation and management
CN107656748B (en) Application publishing method and device
JP2012078893A (en) Computer system and management computer
US11029932B2 (en) Hydration of applications
US20140082275A1 (en) Server, host and method for reading base image through storage area network
US11237761B2 (en) Management of multiple physical function nonvolatile memory devices
US9798765B2 (en) Updating object attributes in a lock-coupled namespace traversal
WO2023066246A1 (en) Method and system for installing application on cloudphone, and client cloudphone
US10127029B1 (en) Operating system installation using logical volumes
JP2023169287A (en) Memory efficient software patching for updating applications on computing devices
WO2015176498A1 (en) Software upgrade method, mobile terminal and computer storage medium
US20130305237A1 (en) Grandfathering Configurations in a Distributed Environment
EP3550430B1 (en) Method for processing configuration file, touch chip, apparatus, and medium
US20220067065A1 (en) Providing instant and distributed access to a source blob via copy-on-read blobs and link blobs
CN115562871A (en) Memory allocation management method and device
CN114726657A (en) Method and device for interrupt management and data receiving and sending management and intelligent network card
CN115794132A (en) Operating system deployment method, device, equipment and storage medium
CN110058790B (en) Method, apparatus and computer program product for storing data
JP6294475B2 (en) How to download the program
WO2021254280A1 (en) Disk mounting method and device, storage medium, and electronic device
WO2016070641A1 (en) Data storage method and device, and data reading method and device
CN114428668A (en) Method, device and system for updating data
TWI630551B (en) Method of downloading program
CN117667307A (en) Virtual machine starting method, device, equipment and storage medium
CN111339031A (en) Task processing method and device, electronic equipment and computer readable storage medium

Legal Events

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

Ref document number: 22882851

Country of ref document: EP

Kind code of ref document: A1