A method for efficiently mounting external storage space based on an Android system

By introducing a distributed RBD block storage service cluster into the Android system, the problems of resource unavailability and network bandwidth limitations caused by external storage were solved, enabling efficient application distribution and updates and improving the overall distribution efficiency of cloud gaming.

CN117742739BActive Publication Date: 2026-07-21SHENZHEN VIRTUAL CLUSTERS INFORMATION TECH
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
SHENZHEN VIRTUAL CLUSTERS INFORMATION TECH
Filing Date
2023-12-21
Publication Date
2026-07-21

AI Technical Summary

Technical Problem

In Android systems, updating major app versions via external storage can render resources unusable, and network bandwidth limitations can increase distribution time. Existing technologies cannot efficiently mount external storage space.

Method used

A distributed RBD block storage service cluster is introduced in the data center to provide functions for creating, formatting, cloning, and snapshotting RBD blocks. Application package download and installation are realized through a multi-RBD mounting scheme. Intranet caching service is used to reduce public network traffic. The PackageManager service is modified to support the mounting and unmounting of RBD blocks.

Benefits of technology

It solves the problem of efficient upgrades in scenarios involving game updates and multiple versions coexisting, reduces public network traffic and application distribution time on the whole machine, and improves the distribution efficiency of cloud games.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN117742739B_ABST
    Figure CN117742739B_ABST
Patent Text Reader

Abstract

The application relates to the technical field of data storage, and discloses a method for efficiently mounting external storage space based on an Android system, which comprises the following steps: an RBD block storage service creates an RBD block and formats the RBD block; an Arm board card and an Android system on the board card are selected; the created RBD block is mounted to the Android system of the Arm board card; an application package downloading and installing process is executed; after the application is installed, the RBD mounting is released, so as to complete template production; a copy is created according to distribution needs by using the prepared template; the copy creation process is completed by calling a cloning function of the RBD block storage service, so as to complete copy production; the cloned copy is used for Android system mounting, then application scanning in the Android system is called, so that the system identifies the application and notifies a desktop to display an application icon. In the application process, only part of content needs to be read, and the storage block with the installed application in the external storage can be used to avoid complete installation package downloading and application installation process.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of data storage technology, and in particular to a method for efficiently mounting external storage space based on the Android system. Background Technology

[0002] Android system data storage is mainly divided into system data and data data. This data is primarily stored in local Flash storage. However, in actual cloud phone service scenarios, to consider computing power reuse and cost reduction, system and user data are usually separated. When Android computing power is low, the current user data is retained and reused for the next user, maximizing resource utilization. Current Android system data storage issues include:

[0003] Since user data is stored in the system's data directory, it is usually replaced by external storage. However, this will lead to new problems. If there is 1K Android computing power that needs external storage and it involves updating a major version of the APP, the solution of mounting a new directory will be adopted. This is because it involves unmounting the data directory, which will cause the entire batch of resources to become unusable.

[0004] Since Android system computing power relies mainly on the network to mount external storage, if the total external bandwidth of Android computing power hardware and the total public network bandwidth of the data center are limited, the distribution time will continue to increase as the size of the applications to be distributed increases.

[0005] like Figure 1 The diagram shown illustrates the typical distribution process of an Android application. The increased distribution time involves several stages: (1) The first stage is downloading the application to the independent ARM board, which is limited by the bandwidth of the chassis and the data center. (2) The second stage is installing the application into the Android system, which is limited by the Android card system resources, such as CPU, memory, and flash. Summary of the Invention

[0006] This invention provides a method for efficiently mounting external storage space based on the Android system. It establishes an internal network caching service in the data center to reduce the need for public network access. During use, applications only need to read a portion of the content, and can use the external storage block where the application is already installed to avoid downloading the full installation package and the application installation process.

[0007] This invention provides a method for efficiently mounting external storage space based on the Android system. A distributed RBD block storage service cluster is introduced into the data center. The RBD block storage service provides functions for creating, formatting, cloning, and snapshotting RBD blocks. The method specifically includes:

[0008] S1. The RBD block storage service creates and formats an RBD block, selects an Arm board and the Android system on that board, mounts the created RBD block to the Android system on the Arm board, and then executes the application package download and installation process. After the application is installed, the RBD is unmounted to complete the template creation.

[0009] S2. Using the template created in step S1, create copies according to the distribution needs. The copy creation process is completed by calling the cloning function of the RBD block storage service to complete the copy creation.

[0010] S3. Use the cloned copy from step S2 to mount the Android system, then call the application scan in the Android system to enable the system to recognize the application and notify the desktop to display the application icon.

[0011] Furthermore, in step S1, when mounting the created RBD block to the Android system of the Arm board, the mount command is used to mount the RBD block; when unmounting the RBD block after the application installation is completed, the umount command is used to unmount the RBD block.

[0012] In step S3, when mounting the Android system, the mount command is used to mount the RBD block.

[0013] Furthermore, the data center has a distributed RBD block storage section and an Arm array server section. The distributed RBD block storage section includes N RBD servers, each of which has N RBD blocks. The Arm array server section has N Arm boards, each of which has N Android systems.

[0014] After the RBD distribution is completed, each RBD block of the distributed RBD block storage portion and each Android system of the Arm array server portion are connected to the data center intranet.

[0015] Furthermore, during application installation, the Android system's PackageManager service is modified. The modified PackageManager reads the system property `installpath` during application installation and installs the application to ` / data / {installpath} / xxxx`.

[0016] / data / {installpath} / xxxx, / data / {installpath} / xxxx directories.

[0017] Furthermore, when scanning and displaying applications, the RBD block containing the installed applications is mounted into the Android system. The PackageManager service is modified to expose its scan function via command line. The system scan is triggered by calling pm scantrue, and after the scan is completed, the system desktop is notified to update the application display.

[0018] Furthermore, when updating the application package, the PackageManager service is modified to check whether the application has already been installed before installation. If it has been installed, the existing directory is used; otherwise, the installpath is used as the installation path.

[0019] Furthermore, when the application is uninstalled, the RBD block is unmounted, and then the system recognizes that the application has been uninstalled and notifies the desktop to update.

[0020] Before unmounting the RBD, first disable the application. After the RBD block is unmounted, call `pm scan true` to trigger a system scan. After the scan is completed, notify the system to update the desktop display.

[0021] The beneficial effects of this invention are as follows:

[0022] This invention introduces a distributed RBD block storage service cluster in the data center. The RBD block storage service provides functions such as RBD block creation, formatting, cloning, and snapshotting. By employing a multi-RBD mounting scheme, it solves the problem of efficient online upgrades in game update scenarios, including scenarios with multiple game versions coexisting and scenarios requiring selective batch updates of multiple games, significantly improving the overall distribution efficiency of cloud gaming. Furthermore, by replacing the default application installation process with the RBD block mounting scheme, public network traffic in the data center is significantly reduced, and the overall application distribution time is greatly shortened. Attached Figure Description

[0023] Figure 1 This is a schematic diagram illustrating the conventional distribution of Android applications in the background art of this invention.

[0024] Figure 2 This is a complete flowchart of the distribution using RBD blocks in this invention.

[0025] Figure 3 This is a network relationship diagram after RBD block distribution in this invention.

[0026] Figure 4 This is a schematic diagram of the user data storage process in the Android system according to the present invention.

[0027] The realization of the objective, functional features and advantages of the present invention will be further explained in conjunction with the embodiments and with reference to the accompanying drawings. Detailed Implementation

[0028] It should be understood that the specific embodiments described herein are merely illustrative of the invention and are not intended to limit the invention.

[0029] Analysis of conventional distribution schemes reveals that achieving rapid distribution can be accomplished by addressing or optimizing the following: 1. Each Android system needs to obtain the application installation package from the public internet. 2. Each Android system needs to obtain the complete application installation package. 3. Each Android system needs to execute the complete installation process.

[0030] To address the issue of each Android system needing to obtain application installation packages from the public internet, an internal network caching service is established within the data center to reduce public internet access. Furthermore, to address the problem of each Android system needing to obtain the complete application installation package and execute the full installation process, applications only need to read a portion of the content during use. This is achieved by using external storage blocks containing pre-installed applications to avoid downloading the full installation package and completing the application installation process.

[0031] To address the need for rapid application installation on Arm array servers, a distributed RBD block storage service cluster was introduced into the data center. This RBD block storage service provides functions such as RBD block creation, formatting, cloning, and snapshotting.

[0032] like Figure 2 As shown, this invention provides a method for efficiently mounting external storage space based on the Android system. A distributed RBD block storage service cluster is introduced into the data center. The RBD block storage service provides functions for creating, formatting, cloning, and snapshotting RBD blocks. The method specifically includes:

[0033] S1. The RBD block storage service creates and formats an RBD block, selects an Arm board and the Android system on that board, mounts the created RBD block to the Android system on the Arm board, and then executes the application package download and installation process. After the application is installed, the RBD is unmounted. This stage is called template creation.

[0034] When mounting a created RBD block to the Android system on an Arm board, use the `mount` command to mount the RBD block; when unmounting the RBD block after the application installation is complete, use the `umount` command to unmount the RBD block.

[0035] S2. Using the template created in step S1, create copies according to the distribution needs. The copy creation process is completed by calling the cloning function of the RBD block storage service. This stage is called copy creation.

[0036] S3. Use the cloned copy from step S2 to mount the Android system, and then call the application scan in the Android system to make the system recognize the application and notify the desktop to display the application icon.

[0037] In step S3, when mounting the Android system, the mount command is used to mount the RBD block.

[0038] like Figure 3 As shown, the data center has a distributed RBD block storage section and an Arm array server section. The distributed RBD block storage section includes N RBD servers, each of which has N RBD blocks. The Arm array server section has N Arm boards, each of which has N Android systems.

[0039] After the RBD distribution is completed, each RBD block of the distributed RBD block storage portion and each Android system of the Arm array server portion are connected to the data center intranet.

[0040] Application installation:

[0041] like Figure 4 As shown, the default implementation of application installation in the Android system installs applications to directories such as / data / data, / data / app, and / data / xxxx. Mounting RBD blocks requires mounting to a specified directory; two RBD blocks cannot be mounted through a single directory. Due to these two reasons, to enable mounting multiple RBD blocks containing different applications, the Android system's PackageManager service is modified. The modified PackageManager reads the system property installpath during application installation and installs the application to directories such as / data / {installpath} / xxxx, / data / {installpath} / xxxx, etc.

[0042] The directory is / data / {installpath} / xxxx.

[0043] Application scanning and display:

[0044] The RBD block containing the installed application is mounted to the Android system. At this point, the mounted content is a regular folder to the Android system, not application files. In order for the Android system to recognize the application in the mounted block, the PackageManager service is modified to expose its scan function via command line. The system scan is triggered by calling pm scan true. After the scan is completed, the system desktop will be notified to update the application display.

[0045] Application Update:

[0046] Once an application installed in the RBD block is mounted to the Android system, it will update itself as needed. Android application updates fall into two categories:

[0047] 1. When the application data is updated, the application will download the data from the application server and save it in the application installation directory.

[0048] 2. Application package update: The application downloads data from the application server, repackages the data and the installed application into an APK, and calls the installation process to update.

[0049] The first update method works normally in RBD block mount mode, and no adjustment to the update process is required.

[0050] The second method is actually a change to the installation process. In the modification of the application installation process, the installation process needs to read the installpath as part of the installation path. However, the installpath read by the installation process at this time may not be correct. Therefore, the PackageManager service is modified again to check whether the application has been installed before installation. If it has been installed, the existing directory is used; otherwise, the installpath is used as the installation path.

[0051] Uninstalling the application:

[0052] In the application installation scheme using RBD block mounting, application uninstallation involves unmounting the RBD block, then having the system recognize that the application has been uninstalled and notifying the desktop to update. If data read / write operations occur during RBD unmounting, it may corrupt the data within the RBD block. Therefore, the application is disabled before RBD unmounting to ensure no data read / write operations occur during the unmounting process. After the RBD block is unmounted, `pm scan true` is called to trigger a system scan. Once the scan is complete, the system is notified to update the desktop display.

[0053] The beneficial effects achieved by this invention are as follows:

[0054] 1. The multi-RBD mounting solution solves the problem of efficient online upgrades in game update scenarios, including scenarios with multiple game versions coexisting and scenarios where multiple games are selectively updated in batches, which greatly improves the overall distribution efficiency of cloud gaming.

[0055] 2. By using the RBD block mounting scheme to replace the default application installation process, the public network traffic in the data center is significantly reduced, and the application distribution time on the entire machine is significantly reduced. Taking a single array server with 60 independent Arm cards, each card running 2 Android systems, and a public network bandwidth of 100Mbsp, the following are the specific comparative data for installing the game "Genshin Impact":

[0056] 1 unit * 60 cards * 2 systems = 120 systems Public network traffic Distribution time Default installation method 3000G 4106min RBD mounting method 25G 40min

[0057] It should be noted that, in this document, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, apparatus, article, or method that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such process, apparatus, article, or method. Unless otherwise specified, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, apparatus, article, or method that includes that element.

[0058] The above description is merely a preferred embodiment of the present invention and does not limit the patent scope of the present invention. Any equivalent structural or procedural transformations made based on the content of the present invention's specification and drawings, or direct or indirect applications in other related technical fields, are similarly included within the patent protection scope of the present invention.

Claims

1. A method for efficiently mounting external storage space based on the Android system, characterized in that, A distributed RBD block storage service cluster is introduced into the data center. The RBD block storage service provides functions for creating, formatting, cloning, and snapshotting RBD blocks. The method specifically includes: S1. The RBD block storage service creates and formats an RBD block, selects an Arm board and the Android system on that board, mounts the created RBD block to the Android system on the Arm board, and then executes the application package download and installation process. After the application is installed, the RBD is unmounted to complete the template creation. S2. Using the template created in step S1, create copies according to the distribution needs. The copy creation process is completed by calling the cloning function of the RBD block storage service to complete the copy creation. S3. Use the cloned copy from step S2 to mount the Android system, then call the application scan in the Android system to enable the system to recognize the application and notify the desktop to display the application icon.

2. The method for efficiently mounting external storage space based on the Android system according to claim 1, characterized in that, In step S1, when mounting the created RBD block to the Android system of the Arm board, the mount command is used to mount the RBD block; when unmounting the RBD block after the application installation is completed, the umount command is used to unmount the RBD block. In step S3, when mounting the Android system, the mount command is used to mount the RBD block.

3. The method for efficiently mounting external storage space based on the Android system according to claim 1, characterized in that, The data center has a distributed RBD block storage section and an Arm array server section. The distributed RBD block storage section includes N RBD servers, each of which has N RBD blocks. The Arm array server section has N Arm boards, each of which has N Android systems. After the RBD distribution is completed, each RBD block of the distributed RBD block storage portion and each Android system of the Arm array server portion are connected to the data center intranet.

4. The method for efficiently mounting external storage space based on the Android system according to claim 1, characterized in that, During application installation, the Android system's PackageManager service is modified. The modified PackageManager reads the system's installpath property during application installation and installs the application to / data / {installpath} / xxxx. / data / {installpath} / xxxx, / data / {installpath} / xxxx directories.

5. The method for efficiently mounting external storage space based on the Android system according to claim 1, characterized in that, When scanning and displaying applications, the RBD block containing the installed applications is mounted into the Android system. The PackageManager service is modified to expose its scan function via command line. The system scan is triggered by calling pm scan true. After the scan is completed, the system desktop is notified to update the application display.

6. The method for efficiently mounting external storage space based on the Android system according to claim 1, characterized in that, When updating an application package, modify the PackageManager service to check if the application is already installed before installation. If it is already installed, use the existing directory; otherwise, use the installpath as the installation path.

7. The method for efficiently mounting external storage space based on the Android system according to claim 1, characterized in that, When an application is uninstalled, the RBD block is unmounted, and then the system recognizes that the application has been uninstalled and notifies the desktop to update. Before unmounting the RBD, first disable the application. After the RBD block is unmounted, call `pm scan true` to trigger a system scan. After the scan is completed, notify the system to update the desktop display.