# US 12,001,824 B2 · Application package splitting and reassembly method and apparatus, and application package running method and apparatus

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 12,001,824 B2
- Document ID: US12001824B2
- Status: Granted
- Kind: B2
- Application number: 17/418,115
- Filed: 2019-12-03
- Published: 2022-04-07
- Granted: 2024-06-04
- Earliest claimed: 2018-12-25
- Assignees: Petal Cloud Technology Co., Ltd.
- Applicants: Petal Cloud Technology Co., Ltd.
- Inventors: Xianjun Zou; Xingnan Wang
- Web page: https://patentgrep.com/patent/US12001824B2

## CPC

- G06F 8/61: Installation
- G06F 9/44521: {Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading}
- G06F 9/44505: {Configuring for program initiating, e.g. using registry, configuration files}
- H04L 9/3236: {using cryptographic hash functions}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

An application package splitting and reassembly method includes splitting a first application package into a main package and at least one sub-package; storing the main package and the at least one sub-package in a first file; and generating a second application package corresponding to the application, where the second application package includes a header and the first file. After receiving an original application package, a server automatically performs splitting and reassembly on the original application package to generate a complete new application package.

## Claims

### Claim 1

A computer-implemented method, comprising:
receiving a first application package corresponding to an application;
splitting the first application package into a main package and a sub-package, wherein the main package comprises a first page of the main package, and wherein the sub-package comprises a second page of the sub-package;
storing the main package and the sub-package in a first file;
generating a second application package corresponding to the application, wherein the second application package comprises a header and the first file, and wherein the header comprises a first mapping relationship between the main package and the first page of the main package, a second mapping relationship between the sub-package and the second page of the sub-package, a first offset of the main package within the first file, a first size of the main package within the first file, a second offset of the sub-package within the first file, and a second size of the sub-package within the first file;
performing a hash operation on the main package and the sub-package, to generate a first abstract list of the main package for the main package and a second abstract list of the sub-package for the sub-package, wherein the first abstract list verifies the main package, wherein the second abstract list verifies the sub-package, and wherein generating the second application package comprises writing the first abstract list and the second abstract list into the header and signing the header; and
synchronizing, to a send port, a download address of the second application package and package information, wherein the package information comprises the first mapping relationship, the second mapping relationship, the first offset, the first size, the second offset, and the second size.

### Claim 2 (depends on 1)

The computer-implemented method of claim 1, wherein the main package comprises a meta-information file, and wherein the meta-information file runs the main package and the sub-package.

### Claim 3 (depends on 1)

The computer-implemented method of claim 1, wherein the sub-package comprises a first sub-package, wherein the first sub-package comprises a configuration attribute, and wherein the configuration attribute declares whether the first sub-package depends on the main package for running.

### Claim 4 (depends on 3)

The computer-implemented method of claim 3, wherein the main package comprises a capability open-up set, and wherein the capability open-up set obtains a meta-information file by the sub-package that depends on the main package.

### Claim 5 (depends on 1)

The computer-implemented method of claim 1, wherein the first application package corresponds to a chat application.

### Claim 6 (depends on 1)

The computer-implemented method of claim 1, wherein the first application package corresponds to an ANDROID operating system.

### Claim 7 (depends on 1)

The computer-implemented method of claim 1, wherein the computer-implemented method is implemented by a server, and wherein the server comprises a content management system.

### Claim 8 (depends on 1)

The computer-implemented method of claim 1, wherein the computer-implemented method is implemented by a server, and wherein the server comprises a package process server.

### Claim 9 (depends on 1)

The computer-implemented method of claim 1, wherein the computer-implemented method is implemented by a server, and wherein the server comprises a content delivery network.

### Claim 10 (depends on 1)

The computer-implemented method of claim 1, wherein the main package comprises a first file size that is greater than a second file size of the sub-package.

### Claim 11

An apparatus, comprising:
a memory configured to store instructions; and
one or more processors coupled to the memory and configured to execute the instructions to:
receive a first application package corresponding to an application;
split the first application package into a main package and a sub-package, wherein the main package comprises a first page of the main package, and wherein the sub-package comprises a second page of the sub-package;
store the main package and the sub-package in a first file;
generate a second application package corresponding to the application, wherein the second application package comprises a header and the first file, and wherein the header comprises a first mapping relationship between the main package and the first page of the main package, a second mapping relationship between the sub-package and the second page of the sub-package, a first offset of the main package within the first file, a first size of the main package within the first file, a second offset of the sub-package within the first file, and a second size of the sub-package within the first file;
perform a hash operation on the main package and the sub-package, to generate a first abstract list of the main package for the main package and a second abstract list of the sub-package for the sub-package, wherein the first abstract list verifies the main package, wherein the second abstract list verifies the sub-package, and wherein generating the second application package comprises writing the first abstract list and the second abstract list into the header and signing the header; and
synchronize, to a send port, a download address of the second application package and package information, wherein the package information comprises the first mapping relationship, the second mapping relationship, the first offset, the first size, the second offset, and the second size.

### Claim 12 (depends on 11)

The apparatus of claim 11, wherein the main package comprises a meta-information file, and wherein the meta-information file runs the main package and the sub-package.

### Claim 13 (depends on 11)

The apparatus of claim 11, wherein the sub-package comprises a first sub-package, wherein the first sub-package comprises a configuration attribute, and wherein the configuration attribute declares whether the first sub-package depends on the main package for running.

### Claim 14 (depends on 13)

The apparatus of claim 13, wherein the main package comprises a capability open-up set, and wherein the capability open-up set obtains a meta-information file by the sub-package that depends on the main package.

### Claim 15 (depends on 11)

The apparatus of claim 11, wherein the first application package corresponds to a chat application.

### Claim 16

A computer program product comprising instructions stored on a non-transitory computer-readable medium that, when execute by one or more processors, cause an apparatus to:
receive a first application package corresponding to an application;
split the first application package into a main package and a sub-package, wherein the main package comprises a first page of the main package, and wherein the sub-package comprises a second page of the sub-package;
store the main package and the sub-package in a first file;
generate a second application package corresponding to the application, wherein the second application package comprises a header and the first file, and wherein the header comprises a first mapping relationship between the main package and the first page of the main package, a second mapping relationship between the sub-package and the second page of the sub-package, a first offset of the main package within the first file, a first size of the main package within the first file, a second offset of the sub-package within the first file, and a second size of the sub-package within the first file;
perform a hash operation on the main package and the sub-package, to generate a first abstract list of the main package for the main package and a second abstract list of the sub-package for the sub-package, wherein the first abstract list verifies the main package, wherein the second abstract list verifies the sub-package, and wherein generating the second application package comprises writing the first abstract list and the second abstract list into the header and signing the header; and
synchronize, to a send port, a download address of the second application package and package information, wherein the package information comprises the first mapping relationship, the second mapping relationship, the first offset, the first size, the second offset, and the second size.
