Cache-based android application program quick start system and method
Technical Field
The invention relates to the technical field of cloud mobile phones, in particular to a cache-based system and a cache-based method for quickly starting an android application program, which are applied to quickly starting an app of a cloud mobile phone application program.
Background
With the continuous progress of cloud mobile phone technology and hardware performance, the application requirements and the use diversity directions of the cloud mobile phone in various scenes are greatly developed and developed, however, in the face of higher and higher user experience requirements on the cloud mobile phone app, the cloud mobile phone hardware reaches the boundary of the performance bottleneck more and more quickly, and how to reasonably solve the supply and demand balance problem:
1. more and more mobile phone apps become large-sized, so that 2-3 GB installation package files are frequently generated, and each time the application is started, the application needs to wait for a longer application loading time.
2. Based on cost consideration, a user is sensitive to the cost of the cloud mobile phone, so that a manufacturer has to consider the hardware cost of the cloud mobile phone when operating the cloud mobile phone, so that resources such as mobile phone memory and the like are not increased to a PC-level memory level in a short period, and the application used by the user is continuously increased, so that the operation speed of the cloud mobile phone is reduced.
3. For certain applications that are used by users on cloud handsets for a long time, use over the years will cause various user data to be cached, which also causes the apps used by users to become larger and larger in size.
The cloud mobile phone reads data from the storage, so that the storage load is high, and when a large number of users simultaneously run large-scale apps in a hotspot time period, a great test is brought to the storage at the rear end of the cloud mobile phone.
In the aspect of improving the starting speed of the cloud mobile phone application to improve user experience, the mode adopted by more manufacturers at present is still the traditional scheme, the application commonly used by the user is preloaded when the cloud mobile phone is started, and after the cloud mobile phone is started, the application can be quickly started in a very quick mode when the user runs a specified app program without waiting for a long application loading process, so that the improvement on the experience is brought to the cloud mobile phone user.
Although the use experience of a specific cloud mobile phone user group can be improved by the app preloading mode, the use experience cannot be obviously improved for most cloud mobile phone users, because the following problems exist on the basis:
1. common application programs of most users are different, the memory size of a cloud mobile phone system is limited, preloading of all apps cannot be achieved, and only preloading of partial hot apps can be achieved;
2. if the application programs are excessively preloaded, system memory resources are occupied, some apps are used less frequently or even not used by some users, and the apps also occupy precious system resources of the users;
3. when too many application apps are loaded, if a large number of cloud mobile phones need to be restarted at the same time, the cloud mobile phones simultaneously request data for storage after being started, the stable operation of a storage system is also greatly tested by the pressure of the concurrent data requests, and the data request requirements of other services borne on the storage are inevitably influenced;
4. when the application program pushes an important update package, a large number of cloud mobile phones download and update to the server according to the received pushing request, and as the same data are repeatedly downloaded for many times and the network bandwidth of the server is limited, the repeated downloading data flow also greatly occupies limited network resources, so that the network is in a congestion state for a long time and normal service is affected.
5. With the continuous development and maturity of the cloud mobile phone virtualization technology, at the moment, when the application is overloaded in the cloud mobile phone, the mobile phone memory resource is greatly occupied, and for a virtualized application scene, if the memory resource is insufficient, the cloud mobile phone running in the virtualized scene also runs slowly or a serious system operation crash problem occurs due to the insufficient memory resource.
The problems become more serious and difficult to solve as the application scenes of cloud mobile phone users increase and the scale of the application scenes increases.
Disclosure of Invention
The invention provides a cache scheme-based system and a cache scheme-based method for quickly starting an android application program, so that the cloud mobile phone can quickly start the application program loaded by an app.
In order to achieve the purpose, the specific technical scheme of the invention is as follows:
a cache-based android application program quick starting method comprises the following steps:
the cloud mobile phone loads a desktop application shortcut, and an access interface jumps to a cache server database to inquire whether data of the application program is cached in a cache server;
when the cache exists, directly loading the data of the application program cached on the cache server;
when the cache is not available, the cache server accesses the back-end application pool to load the application program, and then stores the information of the application program, the loading entry and the like in the cache server database.
Further, when there is no cache, if the cache server cannot find the application program in the back-end application pool, the cache server will directly access the application store to download the application program.
Preferably, the cache server further comprises a statistics module for ranking hot applications and managing lifecycle.
The invention also provides a cache-based android application program quick starting system, which comprises the following steps: the system comprises a cloud mobile phone, a cache server, a back-end application pool and an external storage;
the cloud mobile phone is mounted with an external storage and used for storing configuration files of applications and user data;
the cloud mobile phone loads a desktop application shortcut, and an access interface jumps to a cache server database to inquire whether data of the application program is cached in a cache server;
when the cache exists, directly loading the data of the application program cached on the cache server;
when the cache is not available, the cache server accesses the back-end application pool to load the application program, and then stores the information of the application program, the loading entry and the like in the cache server database.
Further, when there is no cache, if the cache server cannot find the application program in the back-end application pool, the cache server will directly access the application store to download the application program.
Preferably, the cache server further comprises a statistics module for ranking hot applications and managing lifecycle.
By adopting the above solution and matching with the internal high-speed network interconnection, the following beneficial effects can be obtained:
(1) the cloud mobile phone stores the runtime apk packet without storing the application program locally, so that the local space is saved.
The cloud mobile phone has limited storage space, if too much is installed, the local storage space is greatly consumed, in addition, the situation that the playing method, roles and the like of the current popular network game plan are more and more abundant directly leads to the fact that the application program installation package is also larger and more, 2-3 GB is frequent, so that large network game programs occupy a large amount of storage space, and if the local storage space is released by frequently unloading and installing large games, the mode also brings certain pressure to storage and a network, and even possibly influences the service of other users in operation;
(2) more available memory resources are provided for the current running app of the user, and the program runs more smoothly.
In a traditional mode, in order to make the response speed of the running program faster, the mobile phone usually adopts the mode of caching all the programs run by the user into a memory, but the memory space of the mobile phone is limited, after the application programs are used for a period of time, the application programs cached in the memory of the mobile phone of the user become more and more, the allocable free memory of a mobile phone system is less and less, the use frequency of a plurality of application programs is not high, but the occupied memory space of the system is considerable, if the user does not actively clean the application programs, the application programs continuously occupy the memory space, the running speed of the system is slow, and even the running of the mobile phone is unsmooth.
The application program is loaded to the cloud mobile phone memory by the cache server to run, the program is transmitted to the cloud mobile phone memory from the cache server memory in the mode, the transmission speed is extremely high, the io request is issued by the cloud mobile phone processor in the traditional mode, and the data is loaded to the memory from the system external memory.
(3) And the io pressure of the cloud mobile phone on external storage when the batch application is started is reduced.
For thousands of cloud mobile phones deployed in the same data center, application starting requests from hundreds or even thousands of cloud mobile phones may exist in the same time period, under the conventional scheme, if a large number of cloud mobile phones issue io requests to storage at the same time, a large number of concurrent random ios will bring huge tests on the processing capacity of the conventional storage, and at this time, if app pushing is performed to the cloud mobile phones through a cache server cluster, the performance of an internal high-speed network and the cache server cluster is relied on, and the cloud mobile phone application starting efficiency under high concurrent requests will be more excellent.
(4) The occupation of the network traffic of the cloud mobile phone is reduced, and the reasonable utilization of the network and traffic resources is ensured.
For some hot application programs, when software is pushed and updated in a traditional mode, cloud mobile phones with the applications installed at the moment are pushed to install the application updates at the same time, a large number of cloud mobile phones are installed at the same time, so that network bandwidth is occupied greatly when downloading the updates, if the network bandwidth meets a bottleneck at the moment, normal network communication of other cloud mobile phones is affected, such as network communication delay and the like, and even if the cloud mobile phones are installed in a wrong mode through a strategy, the same update program package files are downloaded for a plurality of times in batches.
Drawings
Fig. 1 is a frame structure of the present invention.
Detailed Description
In order that those skilled in the art can understand and implement the present invention, the following embodiments of the present invention will be further described with reference to the accompanying drawings.
Referring to fig. 1, the invention provides a cache-based method and system for quickly starting an android application, a cache server is added, and a large number of hot applications are cached in the cache server in advance, so that a cloud mobile phone does not need to cache the applications when being started, but directly queries and loads the applications on the cache server when a user needs to run an application app, and the mode of on-demand fetching is adopted.
The cache-based android application quick starting system comprises: the system comprises a cloud mobile phone, a cache server, a back-end application pool and an external storage;
the cloud mobile phone is mounted with an external storage and used for storing configuration files of applications and user data;
the cloud mobile phone loads a desktop application shortcut, and an access interface jumps to a cache server database to inquire whether data of the application program is cached in a cache server;
when the cache exists, directly loading the data of the application program cached on the cache server;
when the cache is not available, the cache server accesses the back-end application pool to load the application program, and then stores the information of the application program, the loading entry and the like in the cache server database.
The concrete implementation is as follows:
(1) the cloud mobile phone is mounted with an external storage and used for storing configuration files of the application and user data;
(2) when the cloud mobile phone runs the program, the cloud mobile phone accesses the cache server database through the desktop program shortcut;
(3) after query, if the application is cached, obtaining cache information and an app loading entry of the application, and loading the needed app program to the cloud mobile phone through an access entry address;
(4) after query, if the application is not cached, the cache server accesses the back-end application pool to load the app, and then stores the app information, the loading entry and other information in the database.
(5) And when the cloud mobile phone runs the app again, the app can be normally loaded to the app program through the cache server and run.
Remarking: if the cache server cannot find the application program in the back-end application pool, the cache server directly accesses the application store to download the app.
For example, when a cloud phone needs to run a hot web guest app:
a. firstly, clicking a shortcut icon of a cloud mobile phone desktop application program by a user;
b. at the moment, the cloud mobile phone accesses the cache server, queries the database, and retrieves and acquires the app loading address matched with the database;
c. the cloud mobile phone accesses the cache server through the obtained app loading entry address information to load the game app into a local memory of the cloud mobile phone for running;
d. because the cloud mobile phone directly loads the app from the cache server to the local memory, the reading and running speed is far higher than the speed of loading the app from the storage at the back end of the cloud mobile phone.
Through the scheme, the following effects can be obtained:
(1) the cloud mobile phone only needs to locally store a small amount of file data related to the application app and the user configuration, so that space is saved;
(2) when a user runs a program, the cloud mobile phone firstly queries the cache server and loads an application program to a local memory;
(3) the cache server can also sequence and manage the life cycle of the hot application program.
The above-mentioned embodiments only express several embodiments of the present invention, and the description thereof is more specific and detailed, but not construed as limiting the scope of the present invention. It should be noted that, for a person skilled in the art, several variations and modifications can be made without departing from the inventive concept, which falls within the scope of the present invention. Therefore, the protection scope of the present patent shall be subject to the appended claims.